Enable AbstractViewSettings

This commit is contained in:
the-djmaze 2022-02-28 10:38:47 +01:00
parent 92cec80b73
commit 97bc3ef585
20 changed files with 149 additions and 212 deletions

View file

@ -2,8 +2,6 @@ import ko from 'ko';
import {
isArray,
pInt,
settingsSaveHelperSimpleFunction,
changeTheme,
convertThemeName
} from 'Common/Utils';
@ -14,6 +12,7 @@ import { Capa, SaveSettingsStep } from 'Common/Enums';
import { Settings, SettingsGet, SettingsCapa } from 'Common/Globals';
import { translatorReload, convertLangName } from 'Common/Translator';
import { AbstractViewSettings } from 'Knoin/AbstractViews';
import { showScreenPopup } from 'Knoin/Knoin';
import Remote from 'Remote/Admin/Fetch';
@ -22,8 +21,10 @@ import { ThemeStore } from 'Stores/Theme';
import { LanguageStore } from 'Stores/Language';
import { LanguagesPopupView } from 'View/Popup/Languages';
export class GeneralAdminSettings /*extends AbstractViewSettings*/ {
export class GeneralAdminSettings extends AbstractViewSettings {
constructor() {
super();
this.language = LanguageStore.language;
this.languages = LanguageStore.languages;
@ -37,10 +38,9 @@ export class GeneralAdminSettings /*extends AbstractViewSettings*/ {
this.themes = ThemeStore.themes;
addObservablesTo(this, {
allowLanguagesOnSettings: !!SettingsGet('AllowLanguagesOnSettings'),
newMoveToFolder: !!SettingsGet('NewMoveToFolder'),
allowLanguagesOnSettings: SettingsGet('AllowLanguagesOnSettings'),
newMoveToFolder: SettingsGet('NewMoveToFolder'),
attachmentLimitTrigger: SaveSettingsStep.Idle,
languageTrigger: SaveSettingsStep.Idle,
themeTrigger: SaveSettingsStep.Idle,
capaThemes: SettingsCapa(Capa.Themes),
capaUserBackground: SettingsCapa(Capa.UserBackground),
@ -58,10 +58,14 @@ export class GeneralAdminSettings /*extends AbstractViewSettings*/ {
}
*/
this.mainAttachmentLimit = ko
.observable(pInt(SettingsGet('AttachmentLimit')) / (1024 * 1024))
this.attachmentLimit = ko
.observable(SettingsGet('AttachmentLimit') / (1024 * 1024))
.extend({ debounce: 500 });
this.addSetting('Language');
this.addSetting('AttachmentLimit');
this.addSetting('Theme', value => changeTheme(value, this.themeTrigger));
this.uploadData = SettingsGet('PhpUploadSizes');
this.uploadDataDesc =
this.uploadData && (this.uploadData.upload_max_filesize || this.uploadData.post_max_size)
@ -86,20 +90,9 @@ export class GeneralAdminSettings /*extends AbstractViewSettings*/ {
this.languageAdminTrigger(saveSettingsStep);
setTimeout(() => this.languageAdminTrigger(SaveSettingsStep.Idle), 1000);
},
fSaveBoolHelper = key =>
value => Remote.saveConfig({[key]: value ? 1 : 0});
fSaveHelper = key => value => Remote.saveSetting(key, value);
addSubscribablesTo(this, {
mainAttachmentLimit: value =>
Remote.saveConfig({
AttachmentLimit: pInt(value)
}, settingsSaveHelperSimpleFunction(this.attachmentLimitTrigger, this)),
language: value =>
Remote.saveConfig({
Language: value.trim()
}, settingsSaveHelperSimpleFunction(this.languageTrigger, this)),
languageAdmin: value => {
this.languageAdminTrigger(SaveSettingsStep.Animate);
translatorReload(true, value)
@ -109,26 +102,19 @@ export class GeneralAdminSettings /*extends AbstractViewSettings*/ {
}));
},
theme: value => {
changeTheme(value, this.themeTrigger);
Remote.saveConfig({
Theme: value.trim()
}, settingsSaveHelperSimpleFunction(this.themeTrigger, this));
},
capaAdditionalAccounts: fSaveHelper('CapaAdditionalAccounts'),
capaAdditionalAccounts: fSaveBoolHelper('CapaAdditionalAccounts'),
capaIdentities: fSaveHelper('CapaIdentities'),
capaIdentities: fSaveBoolHelper('CapaIdentities'),
capaAttachmentThumbnails: fSaveHelper('CapaAttachmentThumbnails'),
capaAttachmentThumbnails: fSaveBoolHelper('CapaAttachmentThumbnails'),
capaThemes: fSaveHelper('CapaThemes'),
capaThemes: fSaveBoolHelper('CapaThemes'),
capaUserBackground: fSaveHelper('CapaUserBackground'),
capaUserBackground: fSaveBoolHelper('CapaUserBackground'),
allowLanguagesOnSettings: fSaveHelper('AllowLanguagesOnSettings'),
allowLanguagesOnSettings: fSaveBoolHelper('AllowLanguagesOnSettings'),
newMoveToFolder: fSaveBoolHelper('NewMoveToFolder')
newMoveToFolder: fSaveHelper('NewMoveToFolder')
});
}