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