Improved observables

This commit is contained in:
djmaze 2020-10-27 11:09:24 +01:00
parent 8d7e25fc7c
commit 7db7d5545b
28 changed files with 236 additions and 234 deletions

View file

@ -16,12 +16,14 @@ class FiltersUserSettings {
this.modules = FilterStore.modules;
this.filters = FilterStore.filters;
this.inited = ko.observable(false);
this.serverError = ko.observable(false);
this.serverErrorDesc = ko.observable('');
this.haveChanges = ko.observable(false);
ko.addObservablesTo(this, {
inited: false,
serverError: false,
serverErrorDesc: '',
haveChanges: false,
this.saveErrorText = ko.observable('');
saveErrorText: ''
});
this.serverError.subscribe((value) => {
if (!value) {
@ -37,18 +39,14 @@ class FiltersUserSettings {
this.filterForDeletion = ko.observable(null).deleteAccessHelper();
this.filters.subscribe(() => {
this.haveChanges(true);
});
this.filters.subscribe(() => this.haveChanges(true));
this.filterRaw.subscribe(() => {
this.haveChanges(true);
this.filterRaw.error(false);
});
this.haveChanges.subscribe(() => {
this.saveErrorText('');
});
this.haveChanges.subscribe(() => this.saveErrorText(''));
this.filterRaw.active.subscribe(() => {
this.haveChanges(true);

View file

@ -62,7 +62,7 @@ class FoldersUserSettings {
}
onShow() {
FolderStore.folderList.error('');
FolderStore.folderListError('');
}
onBuild(oDom) {
@ -113,7 +113,7 @@ class FoldersUserSettings {
removeFolderFromCacheList(folderToRemove.fullNameRaw);
}
} else if (0 < folderToRemove.privateMessageCountAll()) {
FolderStore.folderList.error(getNotification(Notification.CantDeleteNonEmptyFolder));
FolderStore.folderListError(getNotification(Notification.CantDeleteNonEmptyFolder));
}
}

View file

@ -47,9 +47,11 @@ class GeneralUserSettings {
this.languageFullName = ko.computed(() => convertLangName(this.language()));
this.languageTrigger = ko.observable(SaveSettingsStep.Idle).extend({ throttle: 100 });
this.mppTrigger = ko.observable(SaveSettingsStep.Idle);
this.editorDefaultTypeTrigger = ko.observable(SaveSettingsStep.Idle);
this.layoutTrigger = ko.observable(SaveSettingsStep.Idle);
ko.addObservablesTo(this, {
mppTrigger: SaveSettingsStep.Idle,
editorDefaultTypeTrigger: SaveSettingsStep.Idle,
layoutTrigger: SaveSettingsStep.Idle
});
this.identities = IdentityStore.identities;