From 1f0ac68fcd3f382eedf69d1f5fdcffdc16c3885e Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 11 Mar 2021 16:55:14 +0200 Subject: implement ChoiceSetting for settings modal similar to BooleanSetting --- .../settings_modal/helpers/choice_setting.js | 34 ++++++++++++++++++++++ .../settings_modal/helpers/choice_setting.vue | 29 ++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 src/components/settings_modal/helpers/choice_setting.js create mode 100644 src/components/settings_modal/helpers/choice_setting.vue (limited to 'src/components/settings_modal/helpers') diff --git a/src/components/settings_modal/helpers/choice_setting.js b/src/components/settings_modal/helpers/choice_setting.js new file mode 100644 index 00000000..042e8106 --- /dev/null +++ b/src/components/settings_modal/helpers/choice_setting.js @@ -0,0 +1,34 @@ +import { get, set } from 'lodash' +import Select from 'src/components/select/select.vue' +import ModifiedIndicator from './modified_indicator.vue' +export default { + components: { + Select, + ModifiedIndicator + }, + props: [ + 'path', + 'disabled', + 'options' + ], + computed: { + pathDefault () { + const [firstSegment, ...rest] = this.path.split('.') + return [firstSegment + 'DefaultValue', ...rest].join('.') + }, + state () { + return get(this.$parent, this.path) + }, + defaultState () { + return get(this.$parent, this.pathDefault) + }, + isChanged () { + return get(this.$parent, this.path) !== get(this.$parent, this.pathDefault) + } + }, + methods: { + update (e) { + set(this.$parent, this.path, e) + } + } +} diff --git a/src/components/settings_modal/helpers/choice_setting.vue b/src/components/settings_modal/helpers/choice_setting.vue new file mode 100644 index 00000000..1a8275b4 --- /dev/null +++ b/src/components/settings_modal/helpers/choice_setting.vue @@ -0,0 +1,29 @@ + + + + + -- cgit v1.2.3-70-g09d2 From 2da37f15ab6a7e0c6088a6e5a0b2c2885f1cb85a Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Thu, 11 Mar 2021 17:04:31 +0200 Subject: Cleanup boolean/choice setting --- .../settings_modal/helpers/boolean_setting.vue | 38 +--------------------- .../settings_modal/helpers/choice_setting.vue | 2 +- 2 files changed, 2 insertions(+), 38 deletions(-) (limited to 'src/components/settings_modal/helpers') diff --git a/src/components/settings_modal/helpers/boolean_setting.vue b/src/components/settings_modal/helpers/boolean_setting.vue index 146ad6c1..c3ee6583 100644 --- a/src/components/settings_modal/helpers/boolean_setting.vue +++ b/src/components/settings_modal/helpers/boolean_setting.vue @@ -18,40 +18,4 @@ - - - + diff --git a/src/components/settings_modal/helpers/choice_setting.vue b/src/components/settings_modal/helpers/choice_setting.vue index 1a8275b4..fa17661b 100644 --- a/src/components/settings_modal/helpers/choice_setting.vue +++ b/src/components/settings_modal/helpers/choice_setting.vue @@ -14,7 +14,7 @@ :value="option.value" > {{ option.label }} - {{ option.value === defaultValue ? $t('settings.instance_default_simple') : '' }} + {{ option.value === defaultState ? $t('settings.instance_default_simple') : '' }} -- cgit v1.2.3-70-g09d2 From 1afda1ac6d037e477e500870fe4e05c3c1f773cb Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Wed, 7 Apr 2021 20:53:58 +0300 Subject: lost file --- .../settings_modal/helpers/boolean_setting.js | 30 ++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/components/settings_modal/helpers/boolean_setting.js (limited to 'src/components/settings_modal/helpers') diff --git a/src/components/settings_modal/helpers/boolean_setting.js b/src/components/settings_modal/helpers/boolean_setting.js new file mode 100644 index 00000000..1dda49f2 --- /dev/null +++ b/src/components/settings_modal/helpers/boolean_setting.js @@ -0,0 +1,30 @@ +import { get, set } from 'lodash' +import Checkbox from 'src/components/checkbox/checkbox.vue' +import ModifiedIndicator from './modified_indicator.vue' +export default { + components: { + Checkbox, + ModifiedIndicator + }, + props: [ + 'path', + 'disabled' + ], + computed: { + pathDefault () { + const [firstSegment, ...rest] = this.path.split('.') + return [firstSegment + 'DefaultValue', ...rest].join('.') + }, + state () { + return get(this.$parent, this.path) + }, + isChanged () { + return get(this.$parent, this.path) !== get(this.$parent, this.pathDefault) + } + }, + methods: { + update (e) { + set(this.$parent, this.path, e) + } + } +} -- cgit v1.2.3-70-g09d2