diff options
| author | Markus Heiser <markus.heiser@darmarIT.de> | 2023-04-10 16:38:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-10 16:38:46 +0200 |
| commit | 007bc7322723fd8bf1db50820638528a51f6120d (patch) | |
| tree | 853e2e64db5975f8ed22ff7a9687bc5c5550c523 /searx/static/themes/simple/src | |
| parent | 3372fcdb491d59d3ca2e11d040ff7ef34dfa675a (diff) | |
| parent | c678b826254d29b5a2243fea9c01b76541409b77 (diff) | |
Merge pull request #2331 from rinagorsha/update-input-with-keyboard
[mod] Update input when selecting autocomplete prediction with keyboard
Diffstat (limited to 'searx/static/themes/simple/src')
| -rw-r--r-- | searx/static/themes/simple/src/js/main/search.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/searx/static/themes/simple/src/js/main/search.js b/searx/static/themes/simple/src/js/main/search.js index 9ba3914be..cb2a9d882 100644 --- a/searx/static/themes/simple/src/js/main/search.js +++ b/searx/static/themes/simple/src/js/main/search.js @@ -65,6 +65,39 @@ } }); }, + _Select: function (item) { + AutoComplete.defaults._Select.call(this, item); + var form = item.closest('form'); + if (form) { + form.submit(); + } + }, + KeyboardMappings: Object.assign({}, AutoComplete.defaults.KeyboardMappings, { + "KeyUpAndDown_up": Object.assign({}, AutoComplete.defaults.KeyboardMappings.KeyUpAndDown_up, { + Callback: function (event) { + AutoComplete.defaults.KeyboardMappings.KeyUpAndDown_up.Callback.call(this, event); + var liActive = this.DOMResults.querySelector("li.active"); + if (liActive) { + AutoComplete.defaults._Select.call(this, liActive); + } + }, + }), + "Tab": Object.assign({}, AutoComplete.defaults.KeyboardMappings.Enter, { + Conditions: [{ + Is: 9, + Not: false + }], + Callback: function (event) { + if (this.DOMResults.getAttribute("class").indexOf("open") != -1) { + var liActive = this.DOMResults.querySelector("li.active"); + if (liActive !== null) { + AutoComplete.defaults._Select.call(this, liActive); + event.preventDefault(); + } + } + }, + }) + }), }, "#" + qinput_id); } |