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/components/SettingsModal.vue | 60 +++++++++++++++------------------------- 1 file changed, 22 insertions(+), 38 deletions(-) (limited to 'src/components/SettingsModal.vue') diff --git a/src/components/SettingsModal.vue b/src/components/SettingsModal.vue index 8cebf7c..a54fa58 100644 --- a/src/components/SettingsModal.vue +++ b/src/components/SettingsModal.vue @@ -11,50 +11,34 @@ export default defineComponent({ lytOpts: {type: Object as PropType, required: true}, uiOpts: {type: Object as PropType, required: true}, }, - data(){ - return { - changedLytOpts: new Set(), - changedUiOpts: new Set(), - }; - }, methods: { onCloseClick(evt: Event){ if (evt.target == this.$el || (this.$refs.closeIcon as typeof CloseIcon).$el.contains(evt.target)){ - this.$emit('settings-chg', this.changedLytOpts, this.changedUiOpts); this.$emit('close'); } }, - onLytOptChg(opt: string){ - if (opt == 'minTileSz'){ + onSettingChg(setting: string){ + if (setting == 'minTileSz'){ let minInput = this.$refs.minTileSzInput as HTMLInputElement; let maxInput = this.$refs.maxTileSzInput as HTMLInputElement; if (Number(minInput.value) > Number(maxInput.value)){ this.lytOpts.maxTileSz = this.lytOpts.minTileSz; - this.changedLytOpts.add('maxTileSz'); } - } else if (opt == 'maxTileSz'){ + } else if (setting == 'maxTileSz'){ let minInput = this.$refs.minTileSzInput as HTMLInputElement; let maxInput = this.$refs.maxTileSzInput as HTMLInputElement; if (Number(maxInput.value) < Number(minInput.value)){ this.lytOpts.minTileSz = this.lytOpts.maxTileSz; - this.changedLytOpts.add('minTileSz'); } } - this.$emit('layout-setting-chg'); - this.changedLytOpts.add(opt); - }, - onUiOptChg(opt: string){ - if (opt == 'useReducedTree'){ - this.$emit('tree-chg'); - } - this.changedUiOpts.add(opt); + this.$emit('setting-chg', setting); }, onReset(){ this.$emit('reset'); }, }, components: {CloseIcon, RButton, }, - emits: ['close', 'layout-setting-chg', 'tree-chg', 'reset', 'settings-chg', ], + emits: ['close', 'setting-chg', 'reset', ], }); @@ -68,21 +52,21 @@ export default defineComponent({
+ v-model.number="lytOpts.tileSpacing" @input="onSettingChg('tileSpacing')"/>


@@ -91,15 +75,15 @@ export default defineComponent({
  • + @change="onSettingChg('layoutType')"/> Squares
  • + @change="onSettingChg('layoutType')"/> Rectangles
  • + @change="onSettingChg('layoutType')"/> Sweep to side
@@ -109,15 +93,15 @@ export default defineComponent({
  • + @change="onSettingChg('sweepToParent')"/> None
  • + @change="onSettingChg('sweepToParent')"/> Prefer
  • + @change="onSettingChg('sweepToParent')"/> Fallback
@@ -127,31 +111,31 @@ export default defineComponent({
  • + @change="onSettingChg('sweepMode')"/> To left
  • + @change="onSettingChg('sweepMode')"/> To top
  • + @change="onSettingChg('sweepMode')"/> To shorter
  • + @change="onSettingChg('sweepMode')"/> Auto

+ v-model.number="uiOpts.transitionDuration" @change="onSettingChg('transitionDuration')"/>

@@ -161,11 +145,11 @@ export default defineComponent({
  • + @change="onSettingChg('useReducedTree')"/> Default
  • + @change="onSettingChg('useReducedTree')"/> Reduced
-- cgit v1.2.3