diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-11-10 13:40:48 -0500 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-11-10 13:40:48 -0500 | 
| commit | 157e6f7c75a20453e17668c0e8886f46b7f4b7ac (patch) | |
| tree | 505085d34521d7bf53565b5d90d87feeb43e5156 | |
| parent | 120f97be2601fcf47294d9f4ab1f7c06f7bc6c05 (diff) | |
Optimize DisplaySearch.onKeyDown
| -rw-r--r-- | ext/bg/js/search.js | 32 | 
1 files changed, 17 insertions, 15 deletions
| diff --git a/ext/bg/js/search.js b/ext/bg/js/search.js index 290830f4..ad579918 100644 --- a/ext/bg/js/search.js +++ b/ext/bg/js/search.js @@ -179,27 +179,14 @@ class DisplaySearch extends Display {      onKeyDown(e) {          const key = Display.getKeyFromEvent(e); +        const ignoreKeys = DisplaySearch.onKeyDownIgnoreKeys; -        let activeModifierMap = { +        const activeModifierMap = {              'Control': e.ctrlKey,              'Meta': e.metaKey,              'ANY_MOD': true          }; -        const ignoreKeys = { -            'ANY_MOD': ['Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'PageDown', 'PageUp', 'Home', 'End'] -                .concat( -                    Array.from(Array(24).keys()) -                    .map(i => `F${i + 1}`) -                ), -            'Control': ['C', 'A', 'Z', 'Y', 'X', 'F', 'G'], -            'Meta': ['C', 'A', 'Z', 'Y', 'X', 'F', 'G'], -            'OS': [], -            'Alt': [], -            'AltGraph': [], -            'Shift': [] -        } -          let preventFocus = false;          for (const [modifier, keys] of Object.entries(ignoreKeys)) {              const modifierActive = activeModifierMap[modifier]; @@ -364,4 +351,19 @@ DisplaySearch.runtimeMessageHandlers = {      }  }; +DisplaySearch.onKeyDownIgnoreKeys = { +    'ANY_MOD': [ +        'Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'PageDown', 'PageUp', 'Home', 'End', +        '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': ['C', 'A', 'Z', 'Y', 'X', 'F', 'G'], +    'Meta': ['C', 'A', 'Z', 'Y', 'X', 'F', 'G'], +    'OS': [], +    'Alt': [], +    'AltGraph': [], +    'Shift': [] +}; +  window.yomichan_search = DisplaySearch.create(); |