aboutsummaryrefslogtreecommitdiff
path: root/src/content/components
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2017-10-22 17:45:16 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2017-10-22 20:14:38 +0900
commitc6eb5553d0477f96b5edd48012b4c4ab342f026c (patch)
treec782e23fab00da0dc0106a70a50813fee7acec72 /src/content/components
parent7639e99b755e372712dca36e077a85d9a025cd9f (diff)
add setting actions in content
Diffstat (limited to 'src/content/components')
-rw-r--r--src/content/components/common/index.js4
-rw-r--r--src/content/components/common/keymapper.js15
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;