From 31863b7c492f706840d567058a2d27a625c24cfc Mon Sep 17 00:00:00 2001 From: Angelina Filippova Date: Mon, 28 Dec 2020 02:41:37 +0300 Subject: [PATCH] Add rules for rendering settings. Do not render :proxy_remote setting if :uploader is set to Local --- src/views/settings/components/Setting.vue | 11 ++++++++++ src/views/settings/rules.js | 26 +++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 src/views/settings/rules.js diff --git a/src/views/settings/components/Setting.vue b/src/views/settings/components/Setting.vue index 7593fb3d..28080b21 100644 --- a/src/views/settings/components/Setting.vue +++ b/src/views/settings/components/Setting.vue @@ -7,6 +7,7 @@
@@ -15,6 +16,7 @@ v-for="setting in emailAdapterChildren" :key="setting.key"> @@ -24,6 +26,7 @@
{ + return state[group][groupKey][targetKey] !== notEqual +} + +const rulesMap = { + renderIfNotEqual +} + +export const settingFollowsRules = (settingKey, settingGroupKey, state) => { + const rule = rules.find(rule => rule.groupKey === settingGroupKey && rule.key === settingKey) + if (!rule) return true + + const ruleFn = rulesMap[rule.name] + if (!ruleFn) return true + return ruleFn(state, rule) +}