diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2017-10-22 17:45:16 +0900 |
---|---|---|
committer | Shin'ya Ueoka <ueokande@i-beam.org> | 2017-10-22 20:14:38 +0900 |
commit | c6eb5553d0477f96b5edd48012b4c4ab342f026c (patch) | |
tree | c782e23fab00da0dc0106a70a50813fee7acec72 /src/content/components | |
parent | 7639e99b755e372712dca36e077a85d9a025cd9f (diff) |
add setting actions in content
Diffstat (limited to 'src/content/components')
-rw-r--r-- | src/content/components/common/index.js | 4 | ||||
-rw-r--r-- | src/content/components/common/keymapper.js | 15 |
2 files changed, 10 insertions, 9 deletions
diff --git a/src/content/components/common/index.js b/src/content/components/common/index.js index db0ac43..5f5531b 100644 --- a/src/content/components/common/index.js +++ b/src/content/components/common/index.js @@ -1,7 +1,7 @@ import InputComponent from './input'; import KeymapperComponent from './keymapper'; import FollowComponent from './follow'; -import * as inputActions from 'content/actions/input'; +import * as settingActions from 'content/actions/setting'; import messages from 'shared/messages'; export default class Common { @@ -40,7 +40,7 @@ export default class Common { browser.runtime.sendMessage({ type: messages.SETTINGS_QUERY, }).then((settings) => { - this.store.dispatch(inputActions.setKeymaps(settings.keymaps)); + this.store.dispatch(settingActions.set(settings)); }); } } diff --git a/src/content/components/common/keymapper.js b/src/content/components/common/keymapper.js index 5070cd8..44d8212 100644 --- a/src/content/components/common/keymapper.js +++ b/src/content/components/common/keymapper.js @@ -11,19 +11,20 @@ export default class KeymapperComponent { } key(key) { - let enabled = this.store.getState().addon.enabled; - this.store.dispatch(inputActions.keyPress(key)); - let input = this.store.getState().input; - let matched = Object.keys(input.keymaps).filter((keyStr) => { + let state = this.store.getState(); + let input = state.input; + let keymaps = state.setting.keymaps; + + let matched = Object.keys(keymaps).filter((keyStr) => { return keyStr.startsWith(input.keys); }); - if (!enabled) { + if (!state.addon.enabled) { // available keymaps are only ADDON_ENABLE and ADDON_TOGGLE_ENABLED if // the addon disabled matched = matched.filter((keys) => { - let type = input.keymaps[keys].type; + let type = keymaps[keys].type; return type === operations.ADDON_ENABLE || type === operations.ADDON_TOGGLE_ENABLED; }); @@ -35,7 +36,7 @@ export default class KeymapperComponent { matched.length === 1 && input.keys !== matched[0]) { return true; } - let operation = input.keymaps[matched]; + let operation = keymaps[matched]; this.store.dispatch(operationActions.exec(operation)); this.store.dispatch(inputActions.clearKeys()); return true; |