From 72cdc7bfbb672b6d9f06efe02faaa1a816076dc5 Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Sat, 25 Jun 2022 20:01:38 +1000 Subject: Fix settings not saving if closed by other_modal/etc --- src/App.vue | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) (limited to 'src/App.vue') diff --git a/src/App.vue b/src/App.vue index 14df49f..d1d3aaa 100644 --- a/src/App.vue +++ b/src/App.vue @@ -636,6 +636,20 @@ export default defineComponent({ this.resetMode(); this.settingsOpen = true; }, + async onSettingChg(setting: string){ + if (setting in this.lytOpts){ + localStorage.setItem(lytOptPrefix + setting, String(this.lytOpts[setting as keyof LayoutOptions])); + this.relayoutWithCollapse(); + } else if (setting in this.uiOpts){ + localStorage.setItem(uiOptPrefix + setting, String(this.uiOpts[setting as keyof UiOptions])); + if (setting == 'useReducedTree'){ + this.onTreeChange(); + } + } else { + throw new Error('Unexpected setting'); + } + console.log(`Saved ${setting}`) + }, async onTreeChange(){ if (this.activeRoot != this.layoutTree){ // Collapse tree to root @@ -644,20 +658,6 @@ export default defineComponent({ await this.onNonleafClick(this.layoutTree); await this.initTreeFromServer(); }, - onSettingsChg(changedLytOpts: Iterable, changedUiOpts: Iterable): void { - let changed = false; - for (let opt of changedLytOpts){ - localStorage.setItem(lytOptPrefix + opt, String(this.lytOpts[opt as keyof LayoutOptions])); - changed = true; - } - for (let opt of changedUiOpts){ - localStorage.setItem(uiOptPrefix + opt, String(this.uiOpts[opt])); - changed = true; - } - if (changed){ - console.log('Settings saved'); - } - }, onResetSettings(): void { localStorage.clear(); let defaultLytOpts = getDefaultLytOpts(); @@ -780,7 +780,7 @@ export default defineComponent({ // If search bar is open, switch search mode if (this.searchOpen){ this.uiOpts.searchJumpMode = !this.uiOpts.searchJumpMode; - this.onSettingsChg([], ['searchJumpMode']); + this.onSettingChg('searchJumpMode'); } } }, @@ -996,7 +996,7 @@ export default defineComponent({ + @close="searchOpen = false" @search="onSearch" @info-click="onInfoClick" @setting-chg="onSettingChg" /> + @close="settingsOpen = false" @reset="onResetSettings" @setting-chg="onSettingChg"/>
-- cgit v1.2.3