diff --git a/src/views/settings/components/MRF.vue b/src/views/settings/components/MRF.vue index 062b6641e0d11b2934217af7b48b4b0b18a6ed85..e35f46cb87f3f278e9ff9ef15c93ff4e889a14a6 100644 --- a/src/views/settings/components/MRF.vue +++ b/src/views/settings/components/MRF.vue @@ -1,46 +1,11 @@ <template> <div v-if="!loading" :class="isSidebarOpen" class="form-container"> - <el-form ref="mrfSimple" :model="mrfSimpleData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfSimple" :data="mrfSimpleData"/> - </el-form> - <el-divider v-if="mrfSimple" class="divider thick-line"/> - <el-form ref="mrfRejectnonpublic" :model="mrfRejectnonpublicData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfRejectnonpublic" :data="mrfRejectnonpublicData"/> - </el-form> - <el-divider v-if="mrfRejectnonpublic" class="divider thick-line"/> - <el-form ref="mrfHellthread" :model="mrfHellthreadData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfHellthread" :data="mrfHellthreadData"/> - </el-form> - <el-divider v-if="mrfHellthread" class="divider thick-line"/> - <el-form ref="mrfKeyword" :model="mrfKeywordData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfKeyword" :data="mrfKeywordData"/> - </el-form> - <el-form ref="mrfSubchain" :model="mrfSubchainData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfSubchain" :data="mrfSubchainData"/> - </el-form> - <el-form ref="mrfMention" :model="mrfMentionData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfMention" :data="mrfMentionData"/> - </el-form> - <el-divider v-if="mrfMention" class="divider thick-line"/> - <el-form ref="mrfNormalizeMarkup" :model="mrfNormalizeMarkupData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfNormalizeMarkup" :data="mrfNormalizeMarkupData"/> - </el-form> - <el-divider v-if="mrfNormalizeMarkup" class="divider thick-line"/> - <el-form ref="mrfVocabulary" :model="mrfVocabularyData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfVocabulary" :data="mrfVocabularyData"/> - </el-form> - <el-divider v-if="mrfVocabulary" class="divider thick-line"/> - <el-form ref="mrfObjectAge" :model="mrfObjectAgeData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfObjectAge" :data="mrfObjectAgeData"/> - </el-form> - <el-divider v-if="mrfObjectAge" class="divider thick-line"/> - <el-form ref="mrfActivityExpiration" :model="mrfActivityExpirationData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="mrfActivityExpiration" :data="mrfActivityExpirationData"/> - </el-form> - <el-divider v-if="mrfActivityExpiration" class="divider thick-line"/> - <el-form ref="modules" :model="modulesData" :label-position="labelPosition" :label-width="labelWidth"> - <setting :setting-group="modules" :data="modulesData"/> - </el-form> + <div v-for="setting in mrfSettings" :key="setting.key"> + <el-form :model="getSettingData(setting)" :label-position="labelPosition" :label-width="labelWidth"> + <setting :setting-group="setting" :data="getSettingData(setting)"/> + </el-form> + <el-divider v-if="setting" class="divider thick-line"/> + </div> <div class="submit-button-container"> <el-button class="submit-button" type="primary" @click="onSubmit">Submit</el-button> </div> @@ -87,71 +52,14 @@ export default { modules() { return this.settings.description.find(setting => setting.key === ':modules') }, - modulesData() { - return _.get(this.settings.settings, [':pleroma', ':modules']) || {} - }, - mrfActivityExpiration() { - return this.settings.description.find(setting => setting.key === ':mrf_activity_expiration') - }, - mrfActivityExpirationData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_activity_expiration']) || {} - }, - mrfSimple() { - return this.settings.description.find(setting => setting.key === ':mrf_simple') - }, - mrfSimpleData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_simple']) || {} - }, - mrfRejectnonpublic() { - return this.settings.description.find(setting => setting.key === ':mrf_rejectnonpublic') - }, - mrfRejectnonpublicData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_rejectnonpublic']) || {} - }, - mrfHellthread() { - return this.settings.description.find(setting => setting.key === ':mrf_hellthread') - }, - mrfHellthreadData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_hellthread']) || {} - }, - mrfKeyword() { - return this.settings.description.find(setting => setting.key === ':mrf_keyword') - }, - mrfKeywordData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_keyword']) || {} - }, - mrfObjectAge() { - return this.settings.description.find(setting => setting.key === ':mrf_object_age') - }, - mrfObjectAgeData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_object_age']) || {} - }, - mrfSubchain() { - return this.settings.description.find(setting => setting.key === ':mrf_subchain') - }, - mrfSubchainData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_subchain']) || {} - }, - mrfMention() { - return this.settings.description.find(setting => setting.key === ':mrf_mention') - }, - mrfMentionData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_mention']) || {} - }, - mrfNormalizeMarkup() { - return this.settings.description.find(setting => setting.key === ':mrf_normalize_markup') - }, - mrfNormalizeMarkupData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_normalize_markup']) || {} - }, - mrfVocabulary() { - return this.settings.description.find(setting => setting.key === ':mrf_vocabulary') - }, - mrfVocabularyData() { - return _.get(this.settings.settings, [':pleroma', ':mrf_vocabulary']) || {} + mrfSettings() { + return this.settings.description.filter(el => el.tab === 'mrf') } }, methods: { + getSettingData(setting) { + return _.get(this.settings.settings, [setting.group, setting.key]) || {} + }, async onSubmit() { try { await this.$store.dispatch('SubmitChanges')