diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2017-11-28 21:41:02 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-28 21:41:02 +0900 |
commit | bd9501684d00321dcb51b05396e517276482f4d2 (patch) | |
tree | dabdca517145377cb5cea836739d25de74230fde /src/shared/settings/values.js | |
parent | 0b37c2250e21e8c40c2c5e9abfe51903458cc94d (diff) | |
parent | a69f33f569f97791c712234971f943288df8778a (diff) |
Merge pull request #253 from ueokande/qa-0.7
QA 0.7
Diffstat (limited to 'src/shared/settings/values.js')
-rw-r--r-- | src/shared/settings/values.js | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/shared/settings/values.js b/src/shared/settings/values.js index 4482fbb..4e55fa0 100644 --- a/src/shared/settings/values.js +++ b/src/shared/settings/values.js @@ -1,5 +1,3 @@ -import DefaultSettings from './default'; - const operationFromFormName = (name) => { let [type, argStr] = name.split('?'); let args = {}; @@ -55,16 +53,16 @@ const jsonFromValue = (value) => { return JSON.stringify(value, undefined, 2); }; -const formFromValue = (value) => { - +const formFromValue = (value, allowedOps) => { let keymaps = undefined; + if (value.keymaps) { - let allowedOps = new Set(Object.keys(DefaultSettings.form.keymaps)); + let allowedSet = new Set(allowedOps); keymaps = {}; for (let keys of Object.keys(value.keymaps)) { let op = operationToFormName(value.keymaps[keys]); - if (allowedOps.has(op)) { + if (allowedSet.has(op)) { keymaps[op] = keys; } } @@ -89,9 +87,9 @@ const jsonFromForm = (form) => { return jsonFromValue(valueFromForm(form)); }; -const formFromJson = (json) => { +const formFromJson = (json, allowedOps) => { let value = valueFromJson(json); - return formFromValue(value); + return formFromValue(value, allowedOps); }; export { |