diff options
| author | HJ <30-hj@users.noreply.git.pleroma.social> | 2021-05-31 11:08:56 +0000 |
|---|---|---|
| committer | HJ <30-hj@users.noreply.git.pleroma.social> | 2021-05-31 11:08:56 +0000 |
| commit | 4e96af044224dc10b8cc4eb270e025f1b8a1d29a (patch) | |
| tree | f713351d5e034f6b67fe51ece81c27af7dca1dae /src/components/settings_modal/helpers/choice_setting.js | |
| parent | dc611dffdbf8f24c10caa7651651efbff1acfe67 (diff) | |
| parent | c03965646027bc8ce2d4c083ea3fd0423233fa18 (diff) | |
Merge branch 'better-selects' into 'develop'
Better <select> components
See merge request pleroma/pleroma-fe!1373
Diffstat (limited to 'src/components/settings_modal/helpers/choice_setting.js')
| -rw-r--r-- | src/components/settings_modal/helpers/choice_setting.js | 34 |
1 files changed, 34 insertions, 0 deletions
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) + } + } +} |
