save keymap in input store in content

This commit is contained in:
Shin'ya Ueoka 2017-10-09 14:30:58 +09:00
parent 892eb8a6a6
commit 355c0c6457
6 changed files with 19 additions and 24 deletions

View file

@ -10,14 +10,10 @@ export default class KeymapperComponent {
}
key(key, ctrl) {
let keymaps = this.keymaps();
if (!keymaps) {
return;
}
this.store.dispatch(inputActions.keyPress(key, ctrl));
let input = this.store.getState().input;
let matched = Object.keys(keymaps).filter((keyStr) => {
let matched = Object.keys(input.keymaps).filter((keyStr) => {
return keyStr.startsWith(input.keys);
});
if (matched.length === 0) {
@ -27,17 +23,9 @@ export default class KeymapperComponent {
matched.length === 1 && input.keys !== matched[0]) {
return true;
}
let operation = keymaps[matched];
let operation = input.keymaps[matched];
this.store.dispatch(operationActions.exec(operation));
this.store.dispatch(inputActions.clearKeys());
return true;
}
keymaps() {
let settings = this.store.getState().setting.settings;
if (!settings || !settings.json) {
return null;
}
return JSON.parse(settings.json).keymaps;
}
}