summaryrefslogtreecommitdiff
path: root/searx/static/themes/simple/src
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarIT.de>2023-04-10 16:38:46 +0200
committerGitHub <noreply@github.com>2023-04-10 16:38:46 +0200
commit007bc7322723fd8bf1db50820638528a51f6120d (patch)
tree853e2e64db5975f8ed22ff7a9687bc5c5550c523 /searx/static/themes/simple/src
parent3372fcdb491d59d3ca2e11d040ff7ef34dfa675a (diff)
parentc678b826254d29b5a2243fea9c01b76541409b77 (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.js33
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);
}