diff options
author | Alexandre Flament <alex@al-f.net> | 2021-10-01 16:33:31 +0200 |
---|---|---|
committer | Alexandre Flament <alex@al-f.net> | 2021-10-01 18:06:55 +0200 |
commit | 74b08303622c5545f04a3faf52f6c6962a43ea5f (patch) | |
tree | ae6b51a4e84b6e45ecc207d6105b026ae406e609 /searx/static/themes/simple/src/js | |
parent | 458575c221abcdbe3c0ffb633dd06f5f6d05bf2e (diff) | |
download | searxng-74b08303622c5545f04a3faf52f6c6962a43ea5f.tar.gz searxng-74b08303622c5545f04a3faf52f6c6962a43ea5f.zip |
SearXNG: simple theme
Diffstat (limited to 'searx/static/themes/simple/src/js')
7 files changed, 66 insertions, 132 deletions
diff --git a/searx/static/themes/simple/src/js/head/00_init.js b/searx/static/themes/simple/src/js/head/00_init.js index 0a4fafbce..4406b764e 100644 --- a/searx/static/themes/simple/src/js/head/00_init.js +++ b/searx/static/themes/simple/src/js/head/00_init.js @@ -1,20 +1,9 @@ /** -* 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) 2019 by Alexandre Flament -* -*/ + * @license + * (C) Copyright Contributors to the SearXNG project. + * (C) Copyright Contributors to the searx project (2014 - 2021). + * SPDX-License-Identifier: AGPL-3.0-or-later + */ /* global DocumentTouch:readonly */ (function(w, d) { 'use strict'; @@ -26,7 +15,7 @@ })(); // try to detect touch screen - w.searx = { + w.searxng = { touch: (("ontouchstart" in w) || w.DocumentTouch && document instanceof DocumentTouch) || false, method: script.getAttribute('data-method'), autocompleter: script.getAttribute('data-autocompleter') === 'true', @@ -37,5 +26,5 @@ }; // update the css - d.getElementsByTagName("html")[0].className = (w.searx.touch)?"js touch":"js"; + d.getElementsByTagName("html")[0].className = (w.searxng.touch)?"js touch":"js"; })(window, document);
\ No newline at end of file diff --git a/searx/static/themes/simple/src/js/main/00_searx_toolkit.js b/searx/static/themes/simple/src/js/main/00_searx_toolkit.js index 335caa3ad..7dc50108b 100644 --- a/searx/static/themes/simple/src/js/main/00_searx_toolkit.js +++ b/searx/static/themes/simple/src/js/main/00_searx_toolkit.js @@ -1,21 +1,10 @@ /** -* 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) 2017 by Alexandre Flament, <alex@al-f.net> -* -*/ -window.searx = (function(w, d) { + * @license + * (C) Copyright Contributors to the SearXNG project. + * (C) Copyright Contributors to the searx project (2014 - 2021). + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +window.searxng = (function(w, d) { 'use strict'; @@ -45,9 +34,9 @@ window.searx = (function(w, d) { } } - var searx = window.searx || {}; + var searxng = window.searxng || {}; - searx.on = function(obj, eventType, callback, useCapture) { + searxng.on = function(obj, eventType, callback, useCapture) { useCapture = useCapture || false; if (typeof obj !== 'string') { // obj HTMLElement, HTMLDocument @@ -62,7 +51,7 @@ window.searx = (function(w, d) { } }; - searx.ready = function(callback) { + searxng.ready = function(callback) { if (document.readyState != 'loading') { callback.call(w); } else { @@ -70,7 +59,7 @@ window.searx = (function(w, d) { } }; - searx.http = function(method, url) { + searxng.http = function(method, url) { var req = new XMLHttpRequest(), resolve = function() {}, reject = function() {}, @@ -109,8 +98,8 @@ window.searx = (function(w, d) { return promise; }; - searx.loadStyle = function(src) { - var path = searx.static_path + src, + searxng.loadStyle = function(src) { + var path = searxng.static_path + src, id = "style_" + src.replace('.', '_'), s = d.getElementById(id); if (s === null) { @@ -123,8 +112,8 @@ window.searx = (function(w, d) { } }; - searx.loadScript = function(src, callback) { - var path = searx.static_path + src, + searxng.loadScript = function(src, callback) { + var path = searxng.static_path + src, id = "script_" + src.replace('.', '_'), s = d.getElementById(id); if (s === null) { @@ -147,17 +136,17 @@ window.searx = (function(w, d) { } }; - searx.insertBefore = function (newNode, referenceNode) { + searxng.insertBefore = function (newNode, referenceNode) { referenceNode.parentNode.insertBefore(newNode, referenceNode); }; - searx.insertAfter = function(newNode, referenceNode) { + searxng.insertAfter = function(newNode, referenceNode) { referenceNode.parentNode.insertAfter(newNode, referenceNode.nextSibling); }; - searx.on('.close', 'click', function() { + searxng.on('.close', 'click', function() { this.parentNode.classList.add('invisible'); }); - return searx; + return searxng; })(window, document); diff --git a/searx/static/themes/simple/src/js/main/searx_keyboard.js b/searx/static/themes/simple/src/js/main/searx_keyboard.js index 8f410524f..c00a1a45e 100644 --- a/searx/static/themes/simple/src/js/main/searx_keyboard.js +++ b/searx/static/themes/simple/src/js/main/searx_keyboard.js @@ -1,12 +1,13 @@ -/*global searx*/ +/* SPDX-License-Identifier: AGPL-3.0-or-later */ +/*global searxng*/ -searx.ready(function() { +searxng.ready(function() { - searx.on('.result', 'click', function() { + searxng.on('.result', 'click', function() { highlightResult(this)(true); }); - searx.on('.result a', 'focus', function(e) { + searxng.on('.result a', 'focus', function(e) { var el = e.target; while (el !== undefined) { if (el.classList.contains('result')) { @@ -118,7 +119,7 @@ searx.ready(function() { } }; - searx.on(document, "keydown", function(e) { + searxng.on(document, "keydown", function(e) { // check for modifiers so we don't break browser's hotkeys if (Object.prototype.hasOwnProperty.call(vimKeys, e.keyCode) && !e.ctrlKey && !e.altKey && !e.shiftKey && !e.metaKey) { var tagName = e.target.tagName.toLowerCase(); diff --git a/searx/static/themes/simple/src/js/main/searx_mapresult.js b/searx/static/themes/simple/src/js/main/searx_mapresult.js index 20da7761a..75d13b515 100644 --- a/searx/static/themes/simple/src/js/main/searx_mapresult.js +++ b/searx/static/themes/simple/src/js/main/searx_mapresult.js @@ -1,28 +1,12 @@ -/** -* 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> -* (C) 2017 by Alexandre Flament, <alex@al-f.net> -*/ +/* SPDX-License-Identifier: AGPL-3.0-or-later */ /* global L */ -(function (w, d, searx) { +(function (w, d, searxng) { 'use strict'; - searx.ready(function () { - searx.on('.searx_init_map', 'click', function(event) { + searxng.ready(function () { + searxng.on('.searxng_init_map', 'click', function(event) { // no more request - this.classList.remove("searx_init_map"); + this.classList.remove("searxng_init_map"); // var leaflet_target = this.dataset.leafletTarget; @@ -32,8 +16,8 @@ var map_boundingbox = JSON.parse(this.dataset.mapBoundingbox); var map_geojson = JSON.parse(this.dataset.mapGeojson); - searx.loadStyle('css/leaflet.css'); - searx.loadScript('js/leaflet.js', function() { + searxng.loadStyle('css/leaflet.css'); + searxng.loadScript('js/leaflet.js', function() { var map_bounds = null; if(map_boundingbox) { var southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]); @@ -87,4 +71,4 @@ event.preventDefault(); }); }); -})(window, document, window.searx); +})(window, document, window.searxng); diff --git a/searx/static/themes/simple/src/js/main/searx_preferences.js b/searx/static/themes/simple/src/js/main/searx_preferences.js index 136d9f03e..b19026a43 100644 --- a/searx/static/themes/simple/src/js/main/searx_preferences.js +++ b/searx/static/themes/simple/src/js/main/searx_preferences.js @@ -1,16 +1,17 @@ -(function (w, d, searx) { +/* SPDX-License-Identifier: AGPL-3.0-or-later */ +(function (w, d, searxng) { 'use strict'; - searx.ready(function() { + searxng.ready(function() { let engine_descriptions = null; function load_engine_descriptions() { if (engine_descriptions == null) { - searx.http("GET", "engine_descriptions.json").then(function(content) { + 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>' + searx.translations['Source'] + ': ' + description[1] + '</i>)'; + let source = ' (<i>' + searxng.translations['Source'] + ': ' + description[1] + '</i>)'; element.innerHTML = description[0] + source; } } @@ -20,8 +21,8 @@ if (d.querySelector('body[class="preferences_endpoint"]')) { for(const el of d.querySelectorAll('[data-engine-name]')) { - searx.on(el, 'mouseenter', load_engine_descriptions); + searxng.on(el, 'mouseenter', load_engine_descriptions); } } }); -})(window, document, window.searx); +})(window, document, window.searxng); diff --git a/searx/static/themes/simple/src/js/main/searx_results.js b/searx/static/themes/simple/src/js/main/searx_results.js index 115c27b1d..79af25af8 100644 --- a/searx/static/themes/simple/src/js/main/searx_results.js +++ b/searx/static/themes/simple/src/js/main/searx_results.js @@ -1,27 +1,12 @@ -/** -* 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) 2017 by Alexandre Flament, <alex@al-f.net> -*/ -(function(w, d, searx) { +/* SPDX-License-Identifier: AGPL-3.0-or-later */ +(function(w, d, searxng) { 'use strict'; - searx.ready(function() { - searx.image_thumbnail_layout = new searx.ImageLayout('#urls', '#urls .result-images', 'img.image_thumbnail', 10, 200); - searx.image_thumbnail_layout.watch(); + searxng.ready(function() { + searxng.image_thumbnail_layout = new searxng.ImageLayout('#urls', '#urls .result-images', 'img.image_thumbnail', 10, 200); + searxng.image_thumbnail_layout.watch(); - searx.on('.btn-collapse', 'click', function() { + searxng.on('.btn-collapse', 'click', function() { var btnLabelCollapsed = this.getAttribute('data-btn-text-collapsed'); var btnLabelNotCollapsed = this.getAttribute('data-btn-text-not-collapsed'); var target = this.getAttribute('data-target'); @@ -37,7 +22,7 @@ targetElement.classList.toggle('invisible'); }); - searx.on('.media-loader', 'click', function() { + searxng.on('.media-loader', 'click', function() { var target = this.getAttribute('data-target'); var iframe_load = d.querySelector(target + ' > iframe'); var srctest = iframe_load.getAttribute('src'); @@ -60,4 +45,4 @@ }); -})(window, document, window.searx); +})(window, document, window.searxng); diff --git a/searx/static/themes/simple/src/js/main/searx_search.js b/searx/static/themes/simple/src/js/main/searx_search.js index c593ba6a3..d3149340a 100644 --- a/searx/static/themes/simple/src/js/main/searx_search.js +++ b/searx/static/themes/simple/src/js/main/searx_search.js @@ -1,21 +1,6 @@ -/** -* 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) 2017 by Alexandre Flament, <alex@al-f.net> -*/ +/* SPDX-License-Identifier: AGPL-3.0-or-later */ /* global AutoComplete */ -(function(w, d, searx) { +(function(w, d, searxng) { 'use strict'; var firstFocus = true, qinput_id = "q", qinput; @@ -54,7 +39,7 @@ qinput.addEventListener('keyup', updateClearButton, false); } - searx.ready(function() { + searxng.ready(function() { qinput = d.getElementById(qinput_id); function placeCursorAtEndOnce() { @@ -71,11 +56,11 @@ createClearButton(qinput); // autocompleter - if (searx.autocompleter) { - searx.autocomplete = AutoComplete.call(w, { + if (searxng.autocompleter) { + searxng.autocomplete = AutoComplete.call(w, { Url: "./autocompleter", - EmptyMessage: searx.translations.no_item_found, - HttpMethod: searx.method, + EmptyMessage: searxng.translations.no_item_found, + HttpMethod: searxng.method, HttpHeaders: { "Content-type": "application/x-www-form-urlencoded", "X-Requested-With": "XMLHttpRequest" @@ -96,10 +81,10 @@ } // vanilla js version of search_on_category_select.js - if (qinput !== null && d.querySelector('.help') != null && searx.search_on_category_select) { + if (qinput !== null && d.querySelector('.help') != null && searxng.search_on_category_select) { d.querySelector('.help').className='invisible'; - searx.on('#categories input', 'change', function() { + searxng.on('#categories input', 'change', function() { var i, categories = d.querySelectorAll('#categories input[type="checkbox"]'); for(i=0; i<categories.length; i++) { if (categories[i] !== this && categories[i].checked) { @@ -113,10 +98,10 @@ return false; }); - searx.on(d.getElementById('time_range'), 'change', submitIfQuery); - searx.on(d.getElementById('language'), 'change', submitIfQuery); + searxng.on(d.getElementById('time_range'), 'change', submitIfQuery); + searxng.on(d.getElementById('language'), 'change', submitIfQuery); } }); -})(window, document, window.searx); +})(window, document, window.searxng); |