mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-09-07 16:37:02 +03:00
Renamed SaveSettingsStep to more logical SaveSettingStatus
This commit is contained in:
parent
0864d306d6
commit
118558cdfd
8 changed files with 36 additions and 36 deletions
|
|
@ -29,11 +29,11 @@ UploadErrorCode = {
|
||||||
/**
|
/**
|
||||||
* @enum {number}
|
* @enum {number}
|
||||||
*/
|
*/
|
||||||
SaveSettingsStep = {
|
SaveSettingStatus = {
|
||||||
Animate: -2,
|
Saving: -2,
|
||||||
Idle: -1,
|
Idle: -1,
|
||||||
TrueResult: 1,
|
Success: 1,
|
||||||
FalseResult: 0
|
Failed: 0
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { SaveSettingsStep } from 'Common/Enums';
|
import { SaveSettingStatus } from 'Common/Enums';
|
||||||
import { elementById } from 'Common/Globals';
|
import { elementById } from 'Common/Globals';
|
||||||
|
|
||||||
let __themeTimer = 0,
|
let __themeTimer = 0,
|
||||||
|
|
@ -40,14 +40,14 @@ export const
|
||||||
changeTheme = (value, themeTrigger = ()=>0) => {
|
changeTheme = (value, themeTrigger = ()=>0) => {
|
||||||
const themeStyle = elementById('app-theme-style'),
|
const themeStyle = elementById('app-theme-style'),
|
||||||
clearTimer = () => {
|
clearTimer = () => {
|
||||||
__themeTimer = setTimeout(() => themeTrigger(SaveSettingsStep.Idle), 1000);
|
__themeTimer = setTimeout(() => themeTrigger(SaveSettingStatus.Idle), 1000);
|
||||||
__themeJson = null;
|
__themeJson = null;
|
||||||
},
|
},
|
||||||
url = themeStyle.dataset.href.replace(/(Admin|User)\/-\/[^/]+\//, '$1/-/' + value + '/') + 'Json/';
|
url = themeStyle.dataset.href.replace(/(Admin|User)\/-\/[^/]+\//, '$1/-/' + value + '/') + 'Json/';
|
||||||
|
|
||||||
clearTimeout(__themeTimer);
|
clearTimeout(__themeTimer);
|
||||||
|
|
||||||
themeTrigger(SaveSettingsStep.Animate);
|
themeTrigger(SaveSettingStatus.Saving);
|
||||||
|
|
||||||
if (__themeJson) {
|
if (__themeJson) {
|
||||||
__themeJson.abort();
|
__themeJson.abort();
|
||||||
|
|
@ -61,7 +61,7 @@ export const
|
||||||
.then(data => {
|
.then(data => {
|
||||||
if (2 === arrayLength(data)) {
|
if (2 === arrayLength(data)) {
|
||||||
themeStyle.textContent = data[1];
|
themeStyle.textContent = data[1];
|
||||||
themeTrigger(SaveSettingsStep.TrueResult);
|
themeTrigger(SaveSettingStatus.Success);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then(clearTimer, clearTimer);
|
.then(clearTimer, clearTimer);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import ko from 'ko';
|
import ko from 'ko';
|
||||||
import { pInt } from 'Common/Utils';
|
import { pInt } from 'Common/Utils';
|
||||||
import { SaveSettingsStep } from 'Common/Enums';
|
import { SaveSettingStatus } from 'Common/Enums';
|
||||||
import { koComputable } from 'External/ko';
|
import { koComputable } from 'External/ko';
|
||||||
import { dispose } from 'External/ko';
|
import { dispose } from 'External/ko';
|
||||||
|
|
||||||
|
|
@ -23,10 +23,10 @@ export class AbstractInput {
|
||||||
classForTrigger = ko.observable(''),
|
classForTrigger = ko.observable(''),
|
||||||
setTriggerState = value => {
|
setTriggerState = value => {
|
||||||
switch (pInt(value)) {
|
switch (pInt(value)) {
|
||||||
case SaveSettingsStep.TrueResult:
|
case SaveSettingStatus.Success:
|
||||||
classForTrigger('success');
|
classForTrigger('success');
|
||||||
break;
|
break;
|
||||||
case SaveSettingsStep.FalseResult:
|
case SaveSettingStatus.Failed:
|
||||||
classForTrigger('error');
|
classForTrigger('error');
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
12
dev/External/ko.js
vendored
12
dev/External/ko.js
vendored
|
|
@ -1,7 +1,7 @@
|
||||||
import ko from 'ko';
|
import ko from 'ko';
|
||||||
import { i18nToNodes } from 'Common/Translator';
|
import { i18nToNodes } from 'Common/Translator';
|
||||||
import { doc, createElement } from 'Common/Globals';
|
import { doc, createElement } from 'Common/Globals';
|
||||||
import { SaveSettingsStep } from 'Common/Enums';
|
import { SaveSettingStatus } from 'Common/Enums';
|
||||||
import { isFunction, forEachObjectEntry } from 'Common/Utils';
|
import { isFunction, forEachObjectEntry } from 'Common/Utils';
|
||||||
|
|
||||||
export const
|
export const
|
||||||
|
|
@ -146,13 +146,13 @@ Object.assign(ko.bindingHandlers, {
|
||||||
const value = parseInt(ko.unwrap(fValueAccessor()),10);
|
const value = parseInt(ko.unwrap(fValueAccessor()),10);
|
||||||
let cl = (element.saveTriggerIcon || element).classList;
|
let cl = (element.saveTriggerIcon || element).classList;
|
||||||
if (element.saveTriggerIcon) {
|
if (element.saveTriggerIcon) {
|
||||||
cl.toggle('saving', value === SaveSettingsStep.Animate);
|
cl.toggle('saving', value === SaveSettingStatus.Saving);
|
||||||
cl.toggle('success', value === SaveSettingsStep.TrueResult);
|
cl.toggle('success', value === SaveSettingStatus.Success);
|
||||||
cl.toggle('error', value === SaveSettingsStep.FalseResult);
|
cl.toggle('error', value === SaveSettingStatus.Failed);
|
||||||
}
|
}
|
||||||
cl = element.classList;
|
cl = element.classList;
|
||||||
cl.toggle('success', value === SaveSettingsStep.TrueResult);
|
cl.toggle('success', value === SaveSettingStatus.Success);
|
||||||
cl.toggle('error', value === SaveSettingsStep.FalseResult);
|
cl.toggle('error', value === SaveSettingStatus.Failed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { addObservablesTo, addComputablesTo, addSubscribablesTo } from 'External
|
||||||
import { keyScope, SettingsGet, leftPanelDisabled, elementById } from 'Common/Globals';
|
import { keyScope, SettingsGet, leftPanelDisabled, elementById } from 'Common/Globals';
|
||||||
import { ViewTypePopup, showScreenPopup } from 'Knoin/Knoin';
|
import { ViewTypePopup, showScreenPopup } from 'Knoin/Knoin';
|
||||||
|
|
||||||
import { SaveSettingsStep } from 'Common/Enums';
|
import { SaveSettingStatus } from 'Common/Enums';
|
||||||
|
|
||||||
class AbstractView {
|
class AbstractView {
|
||||||
constructor(templateID, type)
|
constructor(templateID, type)
|
||||||
|
|
@ -123,16 +123,16 @@ export class AbstractViewSettings
|
||||||
trigger = prop + 'Trigger';
|
trigger = prop + 'Trigger';
|
||||||
addObservablesTo(this, {
|
addObservablesTo(this, {
|
||||||
[prop]: SettingsGet(name),
|
[prop]: SettingsGet(name),
|
||||||
[trigger]: SaveSettingsStep.Idle,
|
[trigger]: SaveSettingStatus.Idle,
|
||||||
});
|
});
|
||||||
addSubscribablesTo(this, {
|
addSubscribablesTo(this, {
|
||||||
[prop]: (value => {
|
[prop]: (value => {
|
||||||
this[trigger](SaveSettingsStep.Animate);
|
this[trigger](SaveSettingStatus.Saving);
|
||||||
valueCb?.(value);
|
valueCb?.(value);
|
||||||
rl.app.Remote.saveSetting(name, value,
|
rl.app.Remote.saveSetting(name, value,
|
||||||
iError => {
|
iError => {
|
||||||
this[trigger](iError ? SaveSettingsStep.FalseResult : SaveSettingsStep.TrueResult);
|
this[trigger](iError ? SaveSettingStatus.Failed : SaveSettingStatus.Success);
|
||||||
setTimeout(() => this[trigger](SaveSettingsStep.Idle), 1000);
|
setTimeout(() => this[trigger](SaveSettingStatus.Idle), 1000);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}).debounce(999),
|
}).debounce(999),
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import {
|
||||||
|
|
||||||
import { addObservablesTo, addSubscribablesTo, addComputablesTo } from 'External/ko';
|
import { addObservablesTo, addSubscribablesTo, addComputablesTo } from 'External/ko';
|
||||||
|
|
||||||
import { SaveSettingsStep } from 'Common/Enums';
|
import { SaveSettingStatus } from 'Common/Enums';
|
||||||
import { Settings, SettingsGet, SettingsCapa } from 'Common/Globals';
|
import { Settings, SettingsGet, SettingsCapa } from 'Common/Globals';
|
||||||
import { translatorReload, convertLangName } from 'Common/Translator';
|
import { translatorReload, convertLangName } from 'Common/Translator';
|
||||||
|
|
||||||
|
|
@ -38,8 +38,8 @@ export class AdminSettingsGeneral extends AbstractViewSettings {
|
||||||
this.addSettings(['AllowLanguagesOnSettings','NewMoveToFolder']);
|
this.addSettings(['AllowLanguagesOnSettings','NewMoveToFolder']);
|
||||||
|
|
||||||
addObservablesTo(this, {
|
addObservablesTo(this, {
|
||||||
attachmentLimitTrigger: SaveSettingsStep.Idle,
|
attachmentLimitTrigger: SaveSettingStatus.Idle,
|
||||||
themeTrigger: SaveSettingsStep.Idle,
|
themeTrigger: SaveSettingStatus.Idle,
|
||||||
capaThemes: SettingsCapa('Themes'),
|
capaThemes: SettingsCapa('Themes'),
|
||||||
capaUserBackground: SettingsCapa('UserBackground'),
|
capaUserBackground: SettingsCapa('UserBackground'),
|
||||||
capaAdditionalAccounts: SettingsCapa('AdditionalAccounts'),
|
capaAdditionalAccounts: SettingsCapa('AdditionalAccounts'),
|
||||||
|
|
@ -82,19 +82,19 @@ export class AdminSettingsGeneral extends AbstractViewSettings {
|
||||||
languageAdminFullName: () => convertLangName(this.languageAdmin())
|
languageAdminFullName: () => convertLangName(this.languageAdmin())
|
||||||
});
|
});
|
||||||
|
|
||||||
this.languageAdminTrigger = ko.observable(SaveSettingsStep.Idle).extend({ debounce: 100 });
|
this.languageAdminTrigger = ko.observable(SaveSettingStatus.Idle).extend({ debounce: 100 });
|
||||||
|
|
||||||
const fReloadLanguageHelper = (saveSettingsStep) => () => {
|
const fReloadLanguageHelper = (saveSettingsStep) => () => {
|
||||||
this.languageAdminTrigger(saveSettingsStep);
|
this.languageAdminTrigger(saveSettingsStep);
|
||||||
setTimeout(() => this.languageAdminTrigger(SaveSettingsStep.Idle), 1000);
|
setTimeout(() => this.languageAdminTrigger(SaveSettingStatus.Idle), 1000);
|
||||||
},
|
},
|
||||||
fSaveHelper = key => value => Remote.saveSetting(key, value);
|
fSaveHelper = key => value => Remote.saveSetting(key, value);
|
||||||
|
|
||||||
addSubscribablesTo(this, {
|
addSubscribablesTo(this, {
|
||||||
languageAdmin: value => {
|
languageAdmin: value => {
|
||||||
this.languageAdminTrigger(SaveSettingsStep.Animate);
|
this.languageAdminTrigger(SaveSettingStatus.Saving);
|
||||||
translatorReload(true, value)
|
translatorReload(true, value)
|
||||||
.then(fReloadLanguageHelper(SaveSettingsStep.TrueResult), fReloadLanguageHelper(SaveSettingsStep.FalseResult))
|
.then(fReloadLanguageHelper(SaveSettingStatus.Success), fReloadLanguageHelper(SaveSettingStatus.Failed))
|
||||||
.then(() => Remote.saveSetting('LanguageAdmin', value));
|
.then(() => Remote.saveSetting('LanguageAdmin', value));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import ko from 'ko';
|
import ko from 'ko';
|
||||||
|
|
||||||
import { SMAudio } from 'Common/Audio';
|
import { SMAudio } from 'Common/Audio';
|
||||||
import { SaveSettingsStep } from 'Common/Enums';
|
import { SaveSettingStatus } from 'Common/Enums';
|
||||||
import { EditorDefaultType, Layout } from 'Common/EnumsUser';
|
import { EditorDefaultType, Layout } from 'Common/EnumsUser';
|
||||||
import { Settings, SettingsGet } from 'Common/Globals';
|
import { Settings, SettingsGet } from 'Common/Globals';
|
||||||
import { isArray } from 'Common/Utils';
|
import { isArray } from 'Common/Utils';
|
||||||
|
|
@ -48,7 +48,7 @@ export class UserSettingsGeneral extends AbstractViewSettings {
|
||||||
|
|
||||||
this.allowLanguagesOnSettings = !!SettingsGet('AllowLanguagesOnSettings');
|
this.allowLanguagesOnSettings = !!SettingsGet('AllowLanguagesOnSettings');
|
||||||
|
|
||||||
this.languageTrigger = ko.observable(SaveSettingsStep.Idle);
|
this.languageTrigger = ko.observable(SaveSettingStatus.Idle);
|
||||||
|
|
||||||
this.identities = IdentityUserStore;
|
this.identities = IdentityUserStore;
|
||||||
|
|
||||||
|
|
@ -103,14 +103,14 @@ export class UserSettingsGeneral extends AbstractViewSettings {
|
||||||
|
|
||||||
const fReloadLanguageHelper = (saveSettingsStep) => () => {
|
const fReloadLanguageHelper = (saveSettingsStep) => () => {
|
||||||
this.languageTrigger(saveSettingsStep);
|
this.languageTrigger(saveSettingsStep);
|
||||||
setTimeout(() => this.languageTrigger(SaveSettingsStep.Idle), 1000);
|
setTimeout(() => this.languageTrigger(SaveSettingStatus.Idle), 1000);
|
||||||
};
|
};
|
||||||
|
|
||||||
addSubscribablesTo(this, {
|
addSubscribablesTo(this, {
|
||||||
language: value => {
|
language: value => {
|
||||||
this.languageTrigger(SaveSettingsStep.Animate);
|
this.languageTrigger(SaveSettingStatus.Saving);
|
||||||
translatorReload(false, value)
|
translatorReload(false, value)
|
||||||
.then(fReloadLanguageHelper(SaveSettingsStep.TrueResult), fReloadLanguageHelper(SaveSettingsStep.FalseResult))
|
.then(fReloadLanguageHelper(SaveSettingStatus.Success), fReloadLanguageHelper(SaveSettingStatus.Failed))
|
||||||
.then(() => Remote.saveSetting('Language', value));
|
.then(() => Remote.saveSetting('Language', value));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { addObservablesTo } from 'External/ko';
|
import { addObservablesTo } from 'External/ko';
|
||||||
|
|
||||||
import { SaveSettingsStep, UploadErrorCode } from 'Common/Enums';
|
import { SaveSettingStatus, UploadErrorCode } from 'Common/Enums';
|
||||||
import { changeTheme, convertThemeName } from 'Common/Utils';
|
import { changeTheme, convertThemeName } from 'Common/Utils';
|
||||||
import { themePreviewLink, serverRequest } from 'Common/Links';
|
import { themePreviewLink, serverRequest } from 'Common/Links';
|
||||||
import { i18n } from 'Common/Translator';
|
import { i18n } from 'Common/Translator';
|
||||||
|
|
@ -29,7 +29,7 @@ export class UserSettingsThemes /*extends AbstractViewSettings*/ {
|
||||||
themeBackground.enabled = SettingsCapa('UserBackground');
|
themeBackground.enabled = SettingsCapa('UserBackground');
|
||||||
this.background = themeBackground;
|
this.background = themeBackground;
|
||||||
|
|
||||||
this.themeTrigger = ko.observable(SaveSettingsStep.Idle).extend({ debounce: 100 });
|
this.themeTrigger = ko.observable(SaveSettingStatus.Idle).extend({ debounce: 100 });
|
||||||
|
|
||||||
ThemeStore.theme.subscribe(value => {
|
ThemeStore.theme.subscribe(value => {
|
||||||
this.themesObjects.forEach(theme => {
|
this.themesObjects.forEach(theme => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue