summaryrefslogtreecommitdiff
path: root/searx/static/themes/oscar/src/js/autocompleter.js
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2021-03-13 09:29:13 +0100
committerGitHub <noreply@github.com>2021-03-13 09:29:13 +0100
commit9292571304376c2c463fb26ee0db89298bb00e6c (patch)
tree8a2dba56227f67aa52b091d1674190cd40e1411e /searx/static/themes/oscar/src/js/autocompleter.js
parent22a2e544551e87fb9ea74d2fe07b59bfa0815368 (diff)
parentcb04d4280642164bddd37e39151bf22799ef3792 (diff)
Merge pull request #2346 from dalf/upgrade-oscar
[mod] oscar: upgrade dependencies
Diffstat (limited to 'searx/static/themes/oscar/src/js/autocompleter.js')
-rw-r--r--searx/static/themes/oscar/src/js/autocompleter.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/searx/static/themes/oscar/src/js/autocompleter.js b/searx/static/themes/oscar/src/js/autocompleter.js
new file mode 100644
index 000000000..56293f4f3
--- /dev/null
+++ b/searx/static/themes/oscar/src/js/autocompleter.js
@@ -0,0 +1,60 @@
+/**
+ * searx is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * searx is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with searx. If not, see < http://www.gnu.org/licenses/ >.
+ *
+ * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at>
+ */
+
+$(document).ready(function(){
+ var original_search_value = '';
+ if(searx.autocompleter) {
+ var searchResults = new Bloodhound({
+ datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
+ queryTokenizer: Bloodhound.tokenizers.whitespace,
+ remote: {
+ url: './autocompleter?q=%QUERY',
+ wildcard: '%QUERY'
+ }
+ });
+ searchResults.initialize();
+
+ $("#q").on('keydown', function(e) {
+ if(e.which == 13) {
+ original_search_value = $('#q').val();
+ }
+ });
+ $('#q').typeahead({
+ name: 'search-results',
+ highlight: false,
+ hint: true,
+ displayKey: function(result) {
+ return result;
+ },
+ classNames: {
+ input: 'tt-input',
+ hint: 'tt-hint',
+ menu: 'tt-dropdown-menu',
+ dataset: 'tt-dataset-search-results',
+ },
+ }, {
+ name: 'autocomplete',
+ source: searchResults,
+ });
+ $('#q').bind('typeahead:select', function(ev, suggestion) {
+ if(original_search_value) {
+ $('#q').val(original_search_value);
+ }
+ $("#search_form").submit();
+ });
+ }
+});