diff --git a/src/views/settings/components/Database.vue b/src/views/settings/components/Database.vue index ab9d42a84bcc70ef45c8483e8511fcbe70255cb1..fa0099ecf96cb99b7127f62f528a7072866df46d 100644 --- a/src/views/settings/components/Database.vue +++ b/src/views/settings/components/Database.vue @@ -1,34 +1,20 @@ <template> - <div> - <el-form ref="database" :model="database" :label-width="labelWidth"> - <el-form-item label="Database settings:"/> - <el-form-item label="RUM enabled"> - <el-switch :value="database.rum_enabled" @change="updateSetting($event, 'database', 'rum_enabled')"/> - <p class="expl">RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default. - While they may eventually be mainlined, for now they have to be installed as a PostgreSQL extension from - <a - href="https://github.com/postgrespro/rum" - rel="nofollow noreferrer noopener" - target="_blank"> - https://github.com/postgrespro/rum. - </a> - </p> - <p class="expl">Their advantage over the standard GIN indexes is that they allow efficient ordering of search results by timestamp, - which makes search queries a lot faster on larger servers, by one or two orders of magnitude. - They take up around 3 times as much space as GIN indexes.</p> - <p class="expl">To enable them, both the <span class="code">rum_enabled</span> flag has to be set and the following special - migration has to be run: <span class="code">mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/</span></p> + <div v-if="!loading"> + <el-form ref="databaseData" :model="databaseData" :label-width="labelWidth"> + <setting :settings-group="database" :data="databaseData"/> + <el-form-item> + <el-button type="primary" @click="onSubmit">Submit</el-button> </el-form-item> </el-form> <div class="line"/> - <el-form ref="ectoRepos" :model="ectoRepos" :label-width="labelWidth"> + <!-- <el-form ref="ectoRepos" :model="ectoRepos" :label-width="labelWidth"> <el-form-item label="Ecto repos"> <el-select :value="ectoRepos.value || []" multiple filterable allow-create @change="updateSetting($event, 'ecto_repos', 'value')"> <el-option label="Pleroma.Repo" value="Pleroma.Repo"/> </el-select> </el-form-item> - </el-form> - <div class="line"/> + </el-form> --> + <!-- <div class="line"/> <el-form ref="pleromaRepo" :model="pleromaRepo" :label-width="labelWidth"> <el-form-item label="Pleroma Repo configuration:"/> <el-form-item label="Name"> @@ -127,30 +113,36 @@ <p class="expl">How to prepare queries, either <span class="code">:named</span> to use named queries or <span class="code">:unnamed</span> to force unnamed queries (default: :named)</p> </el-form-item> - <el-form-item> - <el-button type="primary" @click="onSubmit">Submit</el-button> - </el-form-item> - </el-form> + </el-form> --> </div> </template> <script> import i18n from '@/lang' import { mapGetters } from 'vuex' +import Setting from './Setting' export default { - name: 'Instance', + name: 'Database', + components: { Setting }, computed: { ...mapGetters([ - 'database', - 'ectoRepos', - 'pleromaRepo' + 'settings' ]), + database() { + return this.settings.description.find(setting => setting.key === ':database') + }, + databaseData() { + return this.settings.settings[':database'] + }, isMobile() { return this.$store.state.app.device === 'mobile' }, labelWidth() { - return this.isMobile ? '100px' : '210px' + return this.isMobile ? '100px' : '240px' + }, + loading() { + return this.settings.loading } }, methods: { diff --git a/src/views/settings/components/Esshd.vue b/src/views/settings/components/Esshd.vue index 497ccd7ba4901ec4b822c7d763cc032a44ad0c0d..e45ae89064c042aa135f37dd1ed1627aa959fa81 100644 --- a/src/views/settings/components/Esshd.vue +++ b/src/views/settings/components/Esshd.vue @@ -35,14 +35,17 @@ import { mapGetters } from 'vuex' import Setting from './Setting' export default { - name: 'Instance', + name: 'Esshd', components: { Setting }, computed: { ...mapGetters([ - 'esshdData' + 'settings' ]), esshd() { - return this.$store.state.settings.description.find(setting => setting.group === ':esshd') + return this.settings.description.find(setting => setting.group === ':esshd') + }, + esshdData() { + return this.settings.settings[':esshd'] }, isMobile() { return this.$store.state.app.device === 'mobile' @@ -51,7 +54,7 @@ export default { return this.isMobile ? '100px' : '240px' }, loading() { - return this.$store.state.settings.loading + return this.settings.loading } }, methods: {