diff --git a/src/views/settings/components/Inputs.vue b/src/views/settings/components/Inputs.vue index 751ec913779b10268abcc3813421d07b814a98cb..1c4b6da2a42bf6f743f3fc4bc87a7a7c72ca3666 100644 --- a/src/views/settings/components/Inputs.vue +++ b/src/views/settings/components/Inputs.vue @@ -1,5 +1,5 @@ <template> - <el-form-item :label="setting.label" :label-width="customLabelWidth"> + <el-form-item :label="setting.label" :label-width="customLabelWidth" :class="labelClass"> <el-input v-if="setting.type === 'string'" :value="inputValue" @@ -55,18 +55,29 @@ @input="update($event, settingGroup.group, settingGroup.key, settingParent, setting.key, setting.type, nested)"> <template slot="prepend">:</template> </el-input> + <div v-if="setting.type === 'keyword'"> + <div v-for="subSetting in setting.children" :key="subSetting.key"> + <inputs + :setting-group="settingGroup" + :setting="subSetting" + :data="data[setting.key]" + :custom-label-width="'100px'" + :label-class="'center-label'" + :input-class="'keyword-inner-input'"/> + </div> + </div> <!-- special inputs --> <auto-linker-input v-if="settingGroup.group === ':auto_linker'" :data="data" :setting-group="settingGroup" :setting="setting"/> <mascots-input v-if="setting.key === ':mascots'" :data="data" :setting-group="settingGroup" :setting="setting"/> <editable-keyword-input v-if="editableKeyword(setting.key, setting.type)" :data="data" :setting-group="settingGroup" :setting="setting"/> <icons-input v-if="setting.key === ':icons'" :data="data[':icons']" :setting-group="settingGroup" :setting="setting"/> <proxy-url-input v-if="setting.key === ':proxy_url'" :data="data[setting.key]" :setting-group="settingGroup" :setting="setting"/> - <ssl-options-input v-if="setting.key === ':ssl_options'" :setting-group="settingGroup" :setting-parent="settingParent" :setting="setting" :data="data" :nested="true" :custom-label-width="'100px'"/> + <!-- <ssl-options-input v-if="setting.key === ':ssl_options'" :setting-group="settingGroup" :setting-parent="settingParent" :setting="setting" :data="data" :nested="true" :custom-label-width="'100px'"/> --> <backends-logger-input v-if="setting.key === ':backends'" :data="data" :setting-group="settingGroup" :setting="setting"/> <prune-input v-if="setting.key === ':prune'" :data="data[setting.key]" :setting-group="settingGroup" :setting="setting"/> <rate-limit-input v-if="settingGroup.key === ':rate_limit'" :data="data" :setting-group="settingGroup" :setting="setting"/> <!--------------------> - <p class="expl">{{ setting.description }}</p> + <p v-if="setting.type !== 'keyword'" :class="inputClass" class="expl">{{ setting.description }}</p> </el-form-item> </template> @@ -104,6 +115,20 @@ export default { return {} } }, + inputClass: { + type: String, + default: function() { + return 'input-class' + }, + required: false + }, + labelClass: { + type: String, + default: function() { + return 'label' + }, + required: false + }, nested: { type: Boolean, default: function() { diff --git a/src/views/settings/styles/main.scss b/src/views/settings/styles/main.scss index b29e287c2ce3951b6edfd8a3c539548d013202b1..45491ab84d6364c31fef725d7a5793851c58467c 100644 --- a/src/views/settings/styles/main.scss +++ b/src/views/settings/styles/main.scss @@ -23,6 +23,9 @@ .el-form-item { margin-right: 30px; } + .center-label label { + text-align: center; + } .el-input-group__prepend { padding-left: 10px; padding-right: 10px; @@ -76,6 +79,9 @@ .icons-container { display: flex; } + .keyword-inner-input { + margin-bottom: 22px; + } label { white-space: nowrap; overflow: hidden;