diff options
Diffstat (limited to 'searx/static/themes/simple/src/js/main/preferences.js')
| -rw-r--r-- | searx/static/themes/simple/src/js/main/preferences.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/searx/static/themes/simple/src/js/main/preferences.js b/searx/static/themes/simple/src/js/main/preferences.js new file mode 100644 index 000000000..b19026a43 --- /dev/null +++ b/searx/static/themes/simple/src/js/main/preferences.js @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: AGPL-3.0-or-later */ +(function (w, d, searxng) { + 'use strict'; + + searxng.ready(function() { + let engine_descriptions = null; + function load_engine_descriptions() { + if (engine_descriptions == null) { + searxng.http("GET", "engine_descriptions.json").then(function(content) { + engine_descriptions = JSON.parse(content); + for (const [engine_name, description] of Object.entries(engine_descriptions)) { + let elements = d.querySelectorAll('[data-engine-name="' + engine_name + '"] .engine-description'); + for(const element of elements) { + let source = ' (<i>' + searxng.translations['Source'] + ': ' + description[1] + '</i>)'; + element.innerHTML = description[0] + source; + } + } + }); + } + } + + if (d.querySelector('body[class="preferences_endpoint"]')) { + for(const el of d.querySelectorAll('[data-engine-name]')) { + searxng.on(el, 'mouseenter', load_engine_descriptions); + } + } + }); +})(window, document, window.searxng); |