diff options
Diffstat (limited to 'src/console/components')
-rw-r--r-- | src/console/components/completion.js | 4 | ||||
-rw-r--r-- | src/console/components/console.js | 21 |
2 files changed, 12 insertions, 13 deletions
diff --git a/src/console/components/completion.js b/src/console/components/completion.js index 5033b5c..a49a221 100644 --- a/src/console/components/completion.js +++ b/src/console/components/completion.js @@ -3,6 +3,10 @@ export default class Completion { this.wrapper = wrapper; this.store = store; this.prevState = {}; + + store.subscribe(() => { + this.update(); + }); } update() { diff --git a/src/console/components/console.js b/src/console/components/console.js index dcd4041..5028e2a 100644 --- a/src/console/components/console.js +++ b/src/console/components/console.js @@ -4,7 +4,6 @@ import * as consoleActions from 'console/actions/console'; export default class ConsoleComponent { constructor(wrapper, store) { this.wrapper = wrapper; - this.prevValue = ''; this.prevState = {}; this.completionOrigin = ''; this.store = store; @@ -13,10 +12,14 @@ export default class ConsoleComponent { let input = doc.querySelector('#vimvixen-console-command-input'); input.addEventListener('blur', this.onBlur.bind(this)); input.addEventListener('keydown', this.onKeyDown.bind(this)); - input.addEventListener('keyup', this.onKeyUp.bind(this)); + input.addEventListener('input', this.onInput.bind(this)); this.hideCommand(); this.hideMessage(); + + store.subscribe(() => { + this.update(); + }); } onBlur() { @@ -49,22 +52,14 @@ export default class ConsoleComponent { } } - onKeyUp(e) { - if (e.keyCode === KeyboardEvent.DOM_VK_TAB) { - return; - } - if (e.target.value === this.prevValue) { - return; - } - + onInput(e) { let doc = this.wrapper.ownerDocument; let input = doc.querySelector('#vimvixen-console-command-input'); this.completionOrigin = input.value; - this.prevValue = e.target.value; return browser.runtime.sendMessage({ type: messages.CONSOLE_QUERY_COMPLETIONS, - text: e.target.value + text: e.target.value, }).then((completions) => { this.store.dispatch(consoleActions.setCompletions(completions)); }); @@ -109,7 +104,7 @@ export default class ConsoleComponent { input.focus(); window.focus(); - this.prevValue = ''; + this.onInput({ target: input }); } hideCommand() { |