diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-01-14 18:30:16 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-14 18:30:16 -0500 | 
| commit | 33aeae411065576dc7750ea01d8cdcd9959ee38d (patch) | |
| tree | 24dcc4c95112ff361f9cb4d8edf8c1ff4d5afecd | |
| parent | 351d9b2e8e9ec8877b156a0c166e9e211d0e7007 (diff) | |
Search key handling refactor (#1233)
* Move super invocation
* Move active element check
* Simplify key handling
* Remove unused
| -rw-r--r-- | ext/bg/js/search.js | 44 | 
1 files changed, 8 insertions, 36 deletions
| diff --git a/ext/bg/js/search.js b/ext/bg/js/search.js index 991acf2b..340b86ce 100644 --- a/ext/bg/js/search.js +++ b/ext/bg/js/search.js @@ -18,7 +18,6 @@  /* global   * ClipboardMonitor   * Display - * DocumentUtil   * api   * wanakana   */ @@ -43,20 +42,6 @@ class DisplaySearch extends Display {                  getText: async () => (await api.clipboardGet())              }          }); -        this._onKeyDownIgnoreKeys = new Map([ -            ['ANY_MOD', new Set([ -                'Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'PageDown', 'PageUp', 'Home', 'End', 'Enter', 'Escape', -                'F1', 'F2', 'F3', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 'F10', -                'F11', 'F12', 'F13', 'F14', 'F15', 'F16', 'F17', 'F18', 'F19', 'F20', -                'F21', 'F22', 'F23', 'F24' -            ])], -            ['Control', new Set(['C', 'A', 'Z', 'Y', 'X', 'F', 'G'])], -            ['Meta', new Set(['C', 'A', 'Z', 'Y', 'X', 'F', 'G'])], -            ['OS', new Set()], -            ['Alt', new Set()], -            ['AltGraph', new Set()], -            ['Shift', new Set()] -        ]);          this.autoPlayAudioDelay = 0;      } @@ -102,27 +87,14 @@ class DisplaySearch extends Display {      }      onKeyDown(e) { -        const key = DocumentUtil.getKeyFromEvent(e); -        const ignoreKeys = this._onKeyDownIgnoreKeys; - -        const activeModifierMap = new Map([ -            ['Control', e.ctrlKey], -            ['Meta', e.metaKey], -            ['Shift', e.shiftKey], -            ['Alt', e.altKey], -            ['ANY_MOD', true] -        ]); - -        let preventFocus = false; -        for (const [modifier, keys] of ignoreKeys.entries()) { -            const modifierActive = activeModifierMap.get(modifier); -            if (key === modifier || (modifierActive && keys.has(key))) { -                preventFocus = true; -                break; -            } -        } - -        if (!super.onKeyDown(e) && !preventFocus && document.activeElement !== this._queryInput) { +        if ( +            !super.onKeyDown(e) && +            document.activeElement !== this._queryInput && +            !e.ctrlKey && +            !e.metaKey && +            !e.altKey && +            e.key.length === 1 +        ) {              this._queryInput.focus({preventScroll: true});          }      } |