|
|
|
@ -2,12 +2,31 @@ import messages from '../content/messages'; |
|
|
|
|
|
|
|
|
|
export default class ContentInputComponent { |
|
|
|
|
constructor(target) { |
|
|
|
|
this.pressed = {}; |
|
|
|
|
|
|
|
|
|
target.addEventListener('keypress', this.onKeyPress.bind(this)); |
|
|
|
|
target.addEventListener('keydown', this.onKeyDown.bind(this)); |
|
|
|
|
target.addEventListener('keyup', this.onKeyUp.bind(this)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
onKeyPress(e) { |
|
|
|
|
this.capture(e); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
onKeyDown(e) { |
|
|
|
|
this.capture(e); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
onKeyUp(e) { |
|
|
|
|
this.pressed[e.key] = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
capture(e) { |
|
|
|
|
if (this.pressed[e.key]) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
this.pressed[e.key] = true; |
|
|
|
|
|
|
|
|
|
if (e.target instanceof HTMLInputElement || |
|
|
|
|
e.target instanceof HTMLTextAreaElement || |
|
|
|
|
e.target instanceof HTMLSelectElement) { |
|
|
|
@ -22,10 +41,4 @@ export default class ContentInputComponent { |
|
|
|
|
ctrl: e.ctrlKey |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
onKeyDown() { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
onKeyUp() { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|