snappymail/dev/Settings/Admin/Login.js

46 lines
1.3 KiB
JavaScript

import { SaveSettingsStep } from 'Common/Enums';
import { Settings, SettingsGet } from 'Common/Globals';
import { settingsSaveHelperSimpleFunction, addObservablesTo, addSubscribablesTo } from 'Common/Utils';
import Remote from 'Remote/Admin/Fetch';
export class LoginAdminSettings /*extends AbstractViewSettings*/ {
constructor() {
addObservablesTo(this, {
determineUserLanguage: !!SettingsGet('DetermineUserLanguage'),
determineUserDomain: !!SettingsGet('DetermineUserDomain'),
allowLanguagesOnLogin: !!SettingsGet('AllowLanguagesOnLogin'),
hideSubmitButton: !!Settings.app('hideSubmitButton'),
defaultDomain: SettingsGet('LoginDefaultDomain'),
defaultDomainTrigger: SaveSettingsStep.Idle
});
addSubscribablesTo(this, {
determineUserLanguage: value =>
Remote.saveConfig({
DetermineUserLanguage: value ? 1 : 0
}),
determineUserDomain: value =>
Remote.saveConfig({
DetermineUserDomain: value ? 1 : 0
}),
allowLanguagesOnLogin: value =>
Remote.saveConfig({
AllowLanguagesOnLogin: value ? 1 : 0
}),
hideSubmitButton: value =>
Remote.saveConfig({
hideSubmitButton: value ? 1 : 0
}),
defaultDomain: (value =>
Remote.saveConfig({
LoginDefaultDomain: value.trim()
}, settingsSaveHelperSimpleFunction(this.defaultDomainTrigger, this))
).debounce(999)
});
}
}