diff options
| author | Ilja <ilja@ilja.space> | 2022-03-26 12:07:57 +0100 |
|---|---|---|
| committer | Ilja <ilja@ilja.space> | 2022-03-26 12:07:57 +0100 |
| commit | c34fdd46daedf94b8c777e541623f166dabde798 (patch) | |
| tree | f3f766970638cbffdbeac29b4b8a39d66f3b34bc /src/components/settings_modal/helpers/integer_setting.js | |
| parent | 2dd75ca76cd36846e76d74fc2f4d5dcedfcc66d7 (diff) | |
| parent | fd77c583bf18be81b628d92b1f95cc14a2d9c09d (diff) | |
Merge remote-tracking branch 'pleroma/develop' into improve_delete_user_confirmation_message
Diffstat (limited to 'src/components/settings_modal/helpers/integer_setting.js')
| -rw-r--r-- | src/components/settings_modal/helpers/integer_setting.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/components/settings_modal/helpers/integer_setting.js b/src/components/settings_modal/helpers/integer_setting.js new file mode 100644 index 00000000..4a19bd7c --- /dev/null +++ b/src/components/settings_modal/helpers/integer_setting.js @@ -0,0 +1,41 @@ +import { get, set } from 'lodash' +import ModifiedIndicator from './modified_indicator.vue' +export default { + components: { + ModifiedIndicator + }, + props: { + path: String, + disabled: Boolean, + min: Number, + expert: Number + }, + computed: { + pathDefault () { + const [firstSegment, ...rest] = this.path.split('.') + return [firstSegment + 'DefaultValue', ...rest].join('.') + }, + state () { + const value = get(this.$parent, this.path) + if (value === undefined) { + return this.defaultState + } else { + return value + } + }, + defaultState () { + return get(this.$parent, this.pathDefault) + }, + isChanged () { + return this.state !== this.defaultState + }, + matchesExpertLevel () { + return (this.expert || 0) <= this.$parent.expertLevel + } + }, + methods: { + update (e) { + set(this.$parent, this.path, parseInt(e.target.value)) + } + } +} |
