From eff8d9a83edf63bab09df4bd7f6e20e85fba3899 Mon Sep 17 00:00:00 2001 From: Shin'ya UEOKA Date: Tue, 3 Oct 2017 02:54:38 +0000 Subject: comtent input as compoents --- src/components/content-input.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/components/content-input.js (limited to 'src/components') diff --git a/src/components/content-input.js b/src/components/content-input.js new file mode 100644 index 0000000..81f2e6b --- /dev/null +++ b/src/components/content-input.js @@ -0,0 +1,31 @@ +import messages from '../content/messages'; + +export default class ContentInputComponent { + constructor(target) { + target.addEventListener('keypress', this.onKeyPress.bind(this)); + target.addEventListener('keydown', this.onKeyDown.bind(this)); + target.addEventListener('keyup', this.onKeyUp.bind(this)); + } + + onKeyPress(e) { + if (e.target instanceof HTMLInputElement || + e.target instanceof HTMLTextAreaElement || + e.target instanceof HTMLSelectElement) { + if (e.key === 'Escape' && e.target.blur) { + e.target.blur(); + } + return; + } + browser.runtime.sendMessage({ + type: messages.KEYDOWN, + code: e.which, + ctrl: e.ctrlKey + }); + } + + onKeyDown() { + } + + onKeyUp() { + } +} -- cgit v1.2.3