Render MRF settings automatically based on description
This commit is contained in:
parent
f1a9d1726a
commit
05615cddf5
1 changed files with 11 additions and 103 deletions
|
@ -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')
|
||||
|
|
Loading…
Reference in a new issue