diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2021-11-30 12:43:18 +0100 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2021-11-30 12:43:18 +0100 |
commit | 4798acc6615efada91c8fb29083a521daf5e1e27 (patch) | |
tree | b7926f91cee25b90369ac9d6410b0f679b13eb3e /searx | |
parent | 7dc9cc91a89ba482b4de2ea2acb47044aca87bcb (diff) | |
download | searxng-4798acc6615efada91c8fb29083a521daf5e1e27.tar.gz searxng-4798acc6615efada91c8fb29083a521daf5e1e27.zip |
[build] /static
Diffstat (limited to 'searx')
-rw-r--r-- | searx/static/themes/oscar/js/searxng.js | 23 | ||||
-rw-r--r-- | searx/static/themes/oscar/js/searxng.min.js | 12 | ||||
-rw-r--r-- | searx/static/themes/oscar/js/searxng.min.js.map | 2 | ||||
-rw-r--r-- | searx/static/themes/simple/img/img_load_error.svg | bin | 0 -> 5030 bytes | |||
-rw-r--r-- | searx/static/themes/simple/js/searxng.head.js | 4 | ||||
-rw-r--r-- | searx/static/themes/simple/js/searxng.head.min.js | 2 | ||||
-rw-r--r-- | searx/static/themes/simple/js/searxng.head.min.js.map | 2 | ||||
-rw-r--r-- | searx/static/themes/simple/js/searxng.js | 23 | ||||
-rw-r--r-- | searx/static/themes/simple/js/searxng.min.js | 16 | ||||
-rw-r--r-- | searx/static/themes/simple/js/searxng.min.js.map | 2 |
10 files changed, 78 insertions, 8 deletions
diff --git a/searx/static/themes/oscar/js/searxng.js b/searx/static/themes/oscar/js/searxng.js index 1bbf75ed9..d3aef35e3 100644 --- a/searx/static/themes/oscar/js/searxng.js +++ b/searx/static/themes/oscar/js/searxng.js @@ -327,8 +327,19 @@ $(document).ready(function(){ * * @license Free to use under the MIT License. * +* @example <caption>Example usage of searxng.ImageLayout class.</caption> +* searxng.image_thumbnail_layout = new searxng.ImageLayout( +* '#urls', // container_selector +* '#urls .result-images', // results_selector +* 'img.image_thumbnail', // img_selector +* 14, // verticalMargin +* 6, // horizontalMargin +* 200 // maxHeight +* ); +* searxng.image_thumbnail_layout.watch(); */ + (function (w, d) { function ImageLayout(container_selector, results_selector, img_selector, verticalMargin, horizontalMargin, maxHeight) { this.container_selector = container_selector; @@ -455,6 +466,11 @@ $(document).ready(function(){ var results_nodes = d.querySelectorAll(this.results_selector); var results_length = results_nodes.length; + function img_load_error(event) { + // console.log("ERROR can't load: " + event.originalTarget.src); + event.originalTarget.src = w.searxng.static_path + w.searxng.theme.img_load_error; + } + function throttleAlign() { if (obj.isAlignDone) { obj.isAlignDone = false; @@ -465,15 +481,22 @@ $(document).ready(function(){ } } + // https://developer.mozilla.org/en-US/docs/Web/API/Window/pageshow_event w.addEventListener('pageshow', throttleAlign); + // https://developer.mozilla.org/en-US/docs/Web/API/FileReader/load_event w.addEventListener('load', throttleAlign); + // https://developer.mozilla.org/en-US/docs/Web/API/Window/resize_event w.addEventListener('resize', throttleAlign); for (i = 0; i < results_length; i++) { img = results_nodes[i].querySelector(this.img_selector); if (img !== null && img !== undefined) { img.addEventListener('load', throttleAlign); + // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror img.addEventListener('error', throttleAlign); + if (w.searxng.theme.img_load_error) { + img.addEventListener('error', img_load_error, {once: true}); + } } } }; diff --git a/searx/static/themes/oscar/js/searxng.min.js b/searx/static/themes/oscar/js/searxng.min.js index cc61d1c29..9da3a8b75 100644 --- a/searx/static/themes/oscar/js/searxng.min.js +++ b/searx/static/themes/oscar/js/searxng.min.js @@ -60,6 +60,16 @@ $(document).ready(function(){$("#allow-all-engines").click(function(){$(".onoffs * * @license Free to use under the MIT License. * +* @example <caption>Example usage of searxng.ImageLayout class.</caption> +* searxng.image_thumbnail_layout = new searxng.ImageLayout( +* '#urls', // container_selector +* '#urls .result-images', // results_selector +* 'img.image_thumbnail', // img_selector +* 14, // verticalMargin +* 6, // horizontalMargin +* 200 // maxHeight +* ); +* searxng.image_thumbnail_layout.watch(); */ -function(o,c){function t(t,e,a,n,i,s){this.container_selector=t,this.results_selector=e,this.img_selector=a,this.verticalMargin=n,this.horizontalMargin=i,this.maxHeight=s,this.isAlignDone=!0}t.prototype._getHeigth=function(t,e){for(var a,n=0,i=0;i<t.length;i++)0<(a=t[i]).naturalWidth&&0<a.naturalHeight?n+=a.naturalWidth/a.naturalHeight:n+=1;return(e-t.length*this.verticalMargin)/n},t.prototype._setSize=function(t,e){for(var a,n,i=t.length,s=0;s<i;s++)a=0<(n=t[s]).naturalWidth&&0<n.naturalHeight?e*n.naturalWidth/n.naturalHeight:e,n.style.width=a+"px",n.style.height=e+"px",n.style.marginLeft=this.horizontalMargin+"px",n.style.marginTop=this.horizontalMargin+"px",n.style.marginRight=this.verticalMargin-7+"px",n.style.marginBottom=this.verticalMargin-7+"px",(n=n.parentNode.parentNode).classList.contains("js")||n.classList.add("js")},t.prototype._alignImgs=function(t){for(var e,a,n,i,s=c.querySelector(this.container_selector),o=window.getComputedStyle(s),r=parseInt(o.getPropertyValue("padding-left"),10),o=parseInt(o.getPropertyValue("padding-right"),10),l=s.clientWidth-r-o;0<t.length;){for(e=!0,n=1;n<=t.length&&e;n++)a=t.slice(0,n),(i=this._getHeigth(a,l))<this.maxHeight&&(this._setSize(a,i),t=t.slice(n),e=!1);if(e){this._setSize(a,Math.min(this.maxHeight,i));break}}},t.prototype.align=function(){for(var t=c.querySelectorAll(this.results_selector),e=t.length,a=null,n=null,i=[],s=0;s<e;s++)(n=t[s]).previousElementSibling!==a&&0<i.length&&(this._alignImgs(i),i=[]),i.push(n.querySelector(this.img_selector)),a=n;0<i.length&&this._alignImgs(i)},t.prototype.watch=function(){var t,e,a=this,n=c.querySelectorAll(this.results_selector),i=n.length;function s(){a.isAlignDone&&(a.isAlignDone=!1,setTimeout(function(){a.align(),a.isAlignDone=!0},100))}for(o.addEventListener("pageshow",s),o.addEventListener("load",s),o.addEventListener("resize",s),t=0;t<i;t++)null!=(e=n[t].querySelector(this.img_selector))&&(e.addEventListener("load",s),e.addEventListener("error",s))},o.searxng.ImageLayout=t}(window,document); +function(r,c){function t(t,e,a,n,i,s){this.container_selector=t,this.results_selector=e,this.img_selector=a,this.verticalMargin=n,this.horizontalMargin=i,this.maxHeight=s,this.isAlignDone=!0}t.prototype._getHeigth=function(t,e){for(var a,n=0,i=0;i<t.length;i++)0<(a=t[i]).naturalWidth&&0<a.naturalHeight?n+=a.naturalWidth/a.naturalHeight:n+=1;return(e-t.length*this.verticalMargin)/n},t.prototype._setSize=function(t,e){for(var a,n,i=t.length,s=0;s<i;s++)a=0<(n=t[s]).naturalWidth&&0<n.naturalHeight?e*n.naturalWidth/n.naturalHeight:e,n.style.width=a+"px",n.style.height=e+"px",n.style.marginLeft=this.horizontalMargin+"px",n.style.marginTop=this.horizontalMargin+"px",n.style.marginRight=this.verticalMargin-7+"px",n.style.marginBottom=this.verticalMargin-7+"px",(n=n.parentNode.parentNode).classList.contains("js")||n.classList.add("js")},t.prototype._alignImgs=function(t){for(var e,a,n,i,s=c.querySelector(this.container_selector),o=window.getComputedStyle(s),r=parseInt(o.getPropertyValue("padding-left"),10),o=parseInt(o.getPropertyValue("padding-right"),10),l=s.clientWidth-r-o;0<t.length;){for(e=!0,n=1;n<=t.length&&e;n++)a=t.slice(0,n),(i=this._getHeigth(a,l))<this.maxHeight&&(this._setSize(a,i),t=t.slice(n),e=!1);if(e){this._setSize(a,Math.min(this.maxHeight,i));break}}},t.prototype.align=function(){for(var t=c.querySelectorAll(this.results_selector),e=t.length,a=null,n=null,i=[],s=0;s<e;s++)(n=t[s]).previousElementSibling!==a&&0<i.length&&(this._alignImgs(i),i=[]),i.push(n.querySelector(this.img_selector)),a=n;0<i.length&&this._alignImgs(i)},t.prototype.watch=function(){var t,e,a=this,n=c.querySelectorAll(this.results_selector),i=n.length;function s(t){t.originalTarget.src=r.searxng.static_path+r.searxng.theme.img_load_error}function o(){a.isAlignDone&&(a.isAlignDone=!1,setTimeout(function(){a.align(),a.isAlignDone=!0},100))}for(r.addEventListener("pageshow",o),r.addEventListener("load",o),r.addEventListener("resize",o),t=0;t<i;t++)null!=(e=n[t].querySelector(this.img_selector))&&(e.addEventListener("load",o),e.addEventListener("error",o),r.searxng.theme.img_load_error&&e.addEventListener("error",s,{once:!0}))},r.searxng.ImageLayout=t}(window,document); //# sourceMappingURL=searxng.min.js.map
\ No newline at end of file diff --git a/searx/static/themes/oscar/js/searxng.min.js.map b/searx/static/themes/oscar/js/searxng.min.js.map index 3ce24b689..33b340aa6 100644 --- a/searx/static/themes/oscar/js/searxng.min.js.map +++ b/searx/static/themes/oscar/js/searxng.min.js.map @@ -1 +1 @@ -{"version":3,"file":"searxng.min.js","sources":["searxng.js"],"names":["window","searxng","d","getElementsByTagName","className","scripts","script","currentScript","length","autocompleter","getAttribute","method","translations","JSON","parse","document","$","ready","searchResults","original_search_value","Bloodhound","datumTokenizer","tokenizers","obj","whitespace","queryTokenizer","remote","url","wildcard","initialize","on","e","which","val","typeahead","name","highlight","hint","displayKey","result","classNames","input","menu","dataset","source","bind","ev","suggestion","submit","focus","click","getElementById","value","this","select","btnTextCollapsed","data","btnTextNotCollapsed","new_html","hasClass","html","replace","btnClass","btnLabelDefault","btnLabelToggled","toggleClass","target","iframe_load","srctest","attr","undefined","dblclick","prop","addClass","removeClass","removeAttr","checked","a","parents","children","parent","image_thumbnail_layout","ImageLayout","watch","addEventListener","each","infobox_body","find","height","css","hide","event","leaflet_target","map_lon","map_lat","map_zoom","map_boundingbox","map_geojson","southWest","L","latLng","northEast","map_bounds","latLngBounds","Icon","Default","imagePath","map","osmMapnik","TileLayer","minZoom","maxZoom","attribution","setTimeout","fitBounds","setView","LatLng","addLayer","control","layers","OSM Mapnik","addTo","geoJson","off","let","engine_descriptions","querySelector","hover","ajax","dataType","done","engine_name","description","Object","entries","element","Source","innerHTML","w","container_selector","results_selector","img_selector","verticalMargin","horizontalMargin","maxHeight","isAlignDone","prototype","_getHeigth","images","width","img","r","i","naturalWidth","naturalHeight","_setSize","imgWidth","resultNode","imagesLength","style","marginLeft","marginTop","marginRight","marginBottom","parentNode","classList","contains","add","_alignImgs","imgGroup","isSearching","slice","h","containerElement","containerCompStyles","getComputedStyle","containerPaddingLeft","parseInt","getPropertyValue","containerPaddingRight","containerWidth","clientWidth","Math","min","align","results_selectorNode","querySelectorAll","results_length","previous","current","previousElementSibling","push","results_nodes","throttleAlign"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"searxng.min.js","sources":["searxng.js"],"names":["window","searxng","d","getElementsByTagName","className","scripts","script","currentScript","length","autocompleter","getAttribute","method","translations","JSON","parse","document","$","ready","searchResults","original_search_value","Bloodhound","datumTokenizer","tokenizers","obj","whitespace","queryTokenizer","remote","url","wildcard","initialize","on","e","which","val","typeahead","name","highlight","hint","displayKey","result","classNames","input","menu","dataset","source","bind","ev","suggestion","submit","focus","click","getElementById","value","this","select","btnTextCollapsed","data","btnTextNotCollapsed","new_html","hasClass","html","replace","btnClass","btnLabelDefault","btnLabelToggled","toggleClass","target","iframe_load","srctest","attr","undefined","dblclick","prop","addClass","removeClass","removeAttr","checked","a","parents","children","parent","image_thumbnail_layout","ImageLayout","watch","addEventListener","each","infobox_body","find","height","css","hide","event","leaflet_target","map_lon","map_lat","map_zoom","map_boundingbox","map_geojson","southWest","L","latLng","northEast","map_bounds","latLngBounds","Icon","Default","imagePath","map","osmMapnik","TileLayer","minZoom","maxZoom","attribution","setTimeout","fitBounds","setView","LatLng","addLayer","control","layers","OSM Mapnik","addTo","geoJson","off","let","engine_descriptions","querySelector","hover","ajax","dataType","done","engine_name","description","Object","entries","element","Source","innerHTML","w","container_selector","results_selector","img_selector","verticalMargin","horizontalMargin","maxHeight","isAlignDone","prototype","_getHeigth","images","width","img","r","i","naturalWidth","naturalHeight","_setSize","imgWidth","resultNode","imagesLength","style","marginLeft","marginTop","marginRight","marginBottom","parentNode","classList","contains","add","_alignImgs","imgGroup","isSearching","slice","h","containerElement","containerCompStyles","getComputedStyle","containerPaddingLeft","parseInt","getPropertyValue","containerPaddingRight","containerWidth","clientWidth","Math","min","align","results_selectorNode","querySelectorAll","results_length","previous","current","previousElementSibling","push","results_nodes","img_load_error","originalTarget","src","static_path","theme","throttleAlign","once"],"mappings":"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"}
\ No newline at end of file diff --git a/searx/static/themes/simple/img/img_load_error.svg b/searx/static/themes/simple/img/img_load_error.svg Binary files differnew file mode 100644 index 000000000..8b7415f4d --- /dev/null +++ b/searx/static/themes/simple/img/img_load_error.svg diff --git a/searx/static/themes/simple/js/searxng.head.js b/searx/static/themes/simple/js/searxng.head.js index 21b1754bf..dab0e368a 100644 --- a/searx/static/themes/simple/js/searxng.head.js +++ b/searx/static/themes/simple/js/searxng.head.js @@ -24,6 +24,10 @@ hotkeys: script.getAttribute('data-hotkeys') === 'true', static_path: script.getAttribute('data-static-path'), translations: JSON.parse(script.getAttribute('data-translations')), + theme : { + // image that is displayed if load of <img src='...'> failed + img_load_error: 'img/img_load_error.svg' + } }; // update the css diff --git a/searx/static/themes/simple/js/searxng.head.min.js b/searx/static/themes/simple/js/searxng.head.min.js index f42fcbe77..9ccc8d1fd 100644 --- a/searx/static/themes/simple/js/searxng.head.min.js +++ b/searx/static/themes/simple/js/searxng.head.min.js @@ -4,5 +4,5 @@ * (C) Copyright Contributors to the searx project (2014 - 2021). * SPDX-License-Identifier: AGPL-3.0-or-later */ -(function(t,e){"use strict";var a=e.currentScript||function(){var t=e.getElementsByTagName("script");return t[t.length-1]}();t.searxng={touch:"ontouchstart"in t||t.DocumentTouch&&document instanceof DocumentTouch||false,method:a.getAttribute("data-method"),autocompleter:a.getAttribute("data-autocompleter")==="true",search_on_category_select:a.getAttribute("data-search-on-category-select")==="true",infinite_scroll:a.getAttribute("data-infinite-scroll")==="true",hotkeys:a.getAttribute("data-hotkeys")==="true",static_path:a.getAttribute("data-static-path"),translations:JSON.parse(a.getAttribute("data-translations"))};var r=e.getElementsByTagName("html")[0];r.classList.remove("no-js");r.classList.add("js");if(t.searxng.touch){r.classList.add("touch")}})(window,document); +(function(t,e){"use strict";var a=e.currentScript||function(){var t=e.getElementsByTagName("script");return t[t.length-1]}();t.searxng={touch:"ontouchstart"in t||t.DocumentTouch&&document instanceof DocumentTouch||false,method:a.getAttribute("data-method"),autocompleter:a.getAttribute("data-autocompleter")==="true",search_on_category_select:a.getAttribute("data-search-on-category-select")==="true",infinite_scroll:a.getAttribute("data-infinite-scroll")==="true",hotkeys:a.getAttribute("data-hotkeys")==="true",static_path:a.getAttribute("data-static-path"),translations:JSON.parse(a.getAttribute("data-translations")),theme:{img_load_error:"img/img_load_error.svg"}};var r=e.getElementsByTagName("html")[0];r.classList.remove("no-js");r.classList.add("js");if(t.searxng.touch){r.classList.add("touch")}})(window,document); //# sourceMappingURL=searxng.head.min.js.map
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searxng.head.min.js.map b/searx/static/themes/simple/js/searxng.head.min.js.map index 5c841a70d..92faff1d6 100644 --- a/searx/static/themes/simple/js/searxng.head.min.js.map +++ b/searx/static/themes/simple/js/searxng.head.min.js.map @@ -1 +1 @@ -{"version":3,"file":"searxng.head.min.js","sources":["searxng.head.js"],"names":["w","d","script","currentScript","scripts","getElementsByTagName","length","searxng","touch","DocumentTouch","document","method","getAttribute","autocompleter","search_on_category_select","infinite_scroll","hotkeys","static_path","translations","JSON","parse","hmtlElement","classList","remove","add","window"],"mappings":";;;;;;CAOA,SAAUA,EAAGC,gBAIT,IAAIC,EAASD,EAAEE,eAAkB,WAC7B,IAAIC,EAAUH,EAAEI,qBAAqB,UACrC,OAAOD,EAAQA,EAAQE,OAAS,GAFH,GAMjCN,EAAEO,QAAU,CACRC,MAAS,iBAAkBR,GAAMA,EAAES,eAAiBC,oBAAoBD,eAAkB,MAC1FE,OAAQT,EAAOU,aAAa,eAC5BC,cAAeX,EAAOU,aAAa,wBAA0B,OAC7DE,0BAA2BZ,EAAOU,aAAa,oCAAsC,OACrFG,gBAAiBb,EAAOU,aAAa,0BAA4B,OACjEI,QAASd,EAAOU,aAAa,kBAAoB,OACjDK,YAAaf,EAAOU,aAAa,oBACjCM,aAAcC,KAAKC,MAAMlB,EAAOU,aAAa,uBAIjD,IAAIS,EAAcpB,EAAEI,qBAAqB,QAAQ,GACjDgB,EAAYC,UAAUC,OAAO,SAC7BF,EAAYC,UAAUE,IAAI,MAC1B,GAAIxB,EAAEO,QAAQC,MAAO,CACjBa,EAAYC,UAAUE,IAAI,WA1BlC,CA4BGC,OAAQf"}
\ No newline at end of file +{"version":3,"file":"searxng.head.min.js","sources":["searxng.head.js"],"names":["w","d","script","currentScript","scripts","getElementsByTagName","length","searxng","touch","DocumentTouch","document","method","getAttribute","autocompleter","search_on_category_select","infinite_scroll","hotkeys","static_path","translations","JSON","parse","theme","img_load_error","hmtlElement","classList","remove","add","window"],"mappings":";;;;;;CAOA,SAAUA,EAAGC,gBAIT,IAAIC,EAASD,EAAEE,eAAkB,WAC7B,IAAIC,EAAUH,EAAEI,qBAAqB,UACrC,OAAOD,EAAQA,EAAQE,OAAS,GAFH,GAMjCN,EAAEO,QAAU,CACRC,MAAS,iBAAkBR,GAAMA,EAAES,eAAiBC,oBAAoBD,eAAkB,MAC1FE,OAAQT,EAAOU,aAAa,eAC5BC,cAAeX,EAAOU,aAAa,wBAA0B,OAC7DE,0BAA2BZ,EAAOU,aAAa,oCAAsC,OACrFG,gBAAiBb,EAAOU,aAAa,0BAA4B,OACjEI,QAASd,EAAOU,aAAa,kBAAoB,OACjDK,YAAaf,EAAOU,aAAa,oBACjCM,aAAcC,KAAKC,MAAMlB,EAAOU,aAAa,sBAC7CS,MAAQ,CAEJC,eAAgB,2BAKxB,IAAIC,EAActB,EAAEI,qBAAqB,QAAQ,GACjDkB,EAAYC,UAAUC,OAAO,SAC7BF,EAAYC,UAAUE,IAAI,MAC1B,GAAI1B,EAAEO,QAAQC,MAAO,CACjBe,EAAYC,UAAUE,IAAI,WA9BlC,CAgCGC,OAAQjB"}
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searxng.js b/searx/static/themes/simple/js/searxng.js index 830c21d61..c84227541 100644 --- a/searx/static/themes/simple/js/searxng.js +++ b/searx/static/themes/simple/js/searxng.js @@ -879,8 +879,19 @@ searxng.ready(function() { * * @license Free to use under the MIT License. * +* @example <caption>Example usage of searxng.ImageLayout class.</caption> +* searxng.image_thumbnail_layout = new searxng.ImageLayout( +* '#urls', // container_selector +* '#urls .result-images', // results_selector +* 'img.image_thumbnail', // img_selector +* 14, // verticalMargin +* 6, // horizontalMargin +* 200 // maxHeight +* ); +* searxng.image_thumbnail_layout.watch(); */ + (function (w, d) { function ImageLayout(container_selector, results_selector, img_selector, verticalMargin, horizontalMargin, maxHeight) { this.container_selector = container_selector; @@ -1007,6 +1018,11 @@ searxng.ready(function() { var results_nodes = d.querySelectorAll(this.results_selector); var results_length = results_nodes.length; + function img_load_error(event) { + // console.log("ERROR can't load: " + event.originalTarget.src); + event.originalTarget.src = w.searxng.static_path + w.searxng.theme.img_load_error; + } + function throttleAlign() { if (obj.isAlignDone) { obj.isAlignDone = false; @@ -1017,15 +1033,22 @@ searxng.ready(function() { } } + // https://developer.mozilla.org/en-US/docs/Web/API/Window/pageshow_event w.addEventListener('pageshow', throttleAlign); + // https://developer.mozilla.org/en-US/docs/Web/API/FileReader/load_event w.addEventListener('load', throttleAlign); + // https://developer.mozilla.org/en-US/docs/Web/API/Window/resize_event w.addEventListener('resize', throttleAlign); for (i = 0; i < results_length; i++) { img = results_nodes[i].querySelector(this.img_selector); if (img !== null && img !== undefined) { img.addEventListener('load', throttleAlign); + // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror img.addEventListener('error', throttleAlign); + if (w.searxng.theme.img_load_error) { + img.addEventListener('error', img_load_error, {once: true}); + } } } }; diff --git a/searx/static/themes/simple/js/searxng.min.js b/searx/static/themes/simple/js/searxng.min.js index eafe89618..c88e39c65 100644 --- a/searx/static/themes/simple/js/searxng.min.js +++ b/searx/static/themes/simple/js/searxng.min.js @@ -4,7 +4,7 @@ * (C) Copyright Contributors to the searx project (2014 - 2021). * SPDX-License-Identifier: AGPL-3.0-or-later */ -window.searxng=function(t,o){"use strict";if(t.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),i=-1;while(n[++i]&&n[i]!=t);return!!n[i]}})(Element.prototype)}function a(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}var s=window.searxng||{};s.on=function(i,e,r,t){t=t||false;if(typeof i!=="string"){i.addEventListener(e,r,t)}else{o.addEventListener(e,function(e){var t=e.target||e.srcElement,n=false;while(t&&t.matches&&t!==o&&!(n=t.matches(i)))t=t.parentElement;if(n)a(r,t,e)},t)}};s.ready=function(e){if(document.readyState!="loading"){e.call(t)}else{t.addEventListener("DOMContentLoaded",e.bind(t))}};s.http=function(e,t){var n=new XMLHttpRequest,i=function(){},r=function(){},o={then:function(e){i=e;return o},catch:function(e){r=e;return o}};try{n.open(e,t,true);n.onload=function(){if(n.status==200){i(n.response,n.responseType)}else{r(Error(n.statusText))}};n.onerror=function(){r(Error("Network Error"))};n.onabort=function(){r(Error("Transaction is aborted"))};n.send()}catch(e){r(e)}return o};s.loadStyle=function(e){var t=s.static_path+e,n="style_"+e.replace(".","_"),i=o.getElementById(n);if(i===null){i=o.createElement("link");i.setAttribute("id",n);i.setAttribute("rel","stylesheet");i.setAttribute("type","text/css");i.setAttribute("href",t);o.body.appendChild(i)}};s.loadScript=function(e,t){var n=s.static_path+e,i="script_"+e.replace(".","_"),r=o.getElementById(i);if(r===null){r=o.createElement("script");r.setAttribute("id",i);r.setAttribute("src",n);r.onload=t;r.onerror=function(){r.setAttribute("error","1")};o.body.appendChild(r)}else if(!r.hasAttribute("error")){try{t.apply(r,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+n+"' not loaded.")}};s.insertBefore=function(e,t){t.parentNode.insertBefore(e,t)};s.insertAfter=function(e,t){t.parentNode.insertAfter(e,t.nextSibling)};s.on(".close","click",function(){this.parentNode.classList.add("invisible")});return s}(window,document);searxng.ready(function(){function e(e){while(e!==undefined){if(e.classList.contains("detail")){return true}if(e.classList.contains("result")){return false}e=e.parentNode}return false}function n(e){while(e!==undefined){if(e.classList.contains("result")){return e}e=e.parentNode}return undefined}function i(e){return e&&e.classList.contains("result-images")}searxng.on(".result","click",function(t){if(!e(t.target)){r(this)(true);let e=n(t.target);if(i(e)){t.preventDefault();searxng.selectImage(e)}}});searxng.on(".result a","focus",function(t){if(!e(t.target)){let e=n(t.target);if(e&&e.getAttribute("data-vim-selected")===null){r(e)(true)}if(i(e)){searxng.selectImage(e)}}},true);var d={27:{key:"Escape",fun:o,des:"remove focus from the focused input",cat:"Control"},73:{key:"i",fun:p,des:"focus on the search input",cat:"Control"},66:{key:"b",fun:u(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},70:{key:"f",fun:u(window.innerHeight),des:"scroll one page down",cat:"Navigation"},85:{key:"u",fun:u(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},68:{key:"d",fun:u(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},71:{key:"g",fun:c(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},86:{key:"v",fun:c(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},75:{key:"k",fun:r("up"),des:"select previous search result",cat:"Results"},74:{key:"j",fun:r("down"),des:"select next search result",cat:"Results"},80:{key:"p",fun:l(),des:"go to previous page",cat:"Results"},78:{key:"n",fun:s(),des:"go to next page",cat:"Results"},79:{key:"o",fun:h(false),des:"open search result",cat:"Results"},84:{key:"t",fun:h(true),des:"open the result in a new tab",cat:"Results"},82:{key:"r",fun:t,des:"reload page from the server",cat:"Control"},72:{key:"h",fun:m,des:"toggle help window",cat:"Other"}};if(searxng.hotkeys){searxng.on(document,"keydown",function(e){if(Object.prototype.hasOwnProperty.call(d,e.keyCode)&&!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey){var t=e.target.tagName.toLowerCase();if(e.keyCode===27){d[e.keyCode].fun(e)}else{if(e.target===document.body||t==="a"||t==="button"){e.preventDefault();d[e.keyCode].fun()}}}})}function r(d){return function(e){var t=document.querySelector(".result[data-vim-selected]"),n=d;if(t===null){t=document.querySelector(".result");if(t===null){return}if(d==="down"||d==="up"){n=t}}var i,r=document.querySelectorAll(".result");if(typeof n!=="string"){i=n}else{switch(n){case"visible":var o=document.documentElement.scrollTop||document.body.scrollTop;var a=o+document.documentElement.clientHeight;for(var s=0;s<r.length;s++){i=r[s];var l=i.offsetTop;var u=l+i.clientHeight;if(u<=a&&l>o){break}}break;case"down":i=t.nextElementSibling;if(i===null){i=r[0]}break;case"up":i=t.previousElementSibling;if(i===null){i=r[r.length-1]}break;case"bottom":i=r[r.length-1];break;case"top":default:i=r[0]}}if(i){t.removeAttribute("data-vim-selected");i.setAttribute("data-vim-selected","true");var c=i.querySelector("h3 a")||i.querySelector("a");if(c!==null){c.focus()}if(!e){f()}}}}function t(){document.location.reload(true)}function o(e){const t=e.target.tagName.toLowerCase();if(document.activeElement&&(t==="input"||t==="select"||t==="textarea")){document.activeElement.blur()}else{searxng.closeDetail()}}function a(t){return function(){var e=document.querySelector(t);if(e){e.click()}}}function s(){return a('nav#pagination .next_page button[type="submit"]')}function l(){return a('nav#pagination .previous_page button[type="submit"]')}function f(){var e=document.querySelector(".result[data-vim-selected]");if(e===null){return}var t=document.documentElement.scrollTop||document.body.scrollTop,n=document.documentElement.clientHeight,i=e.offsetTop,r=i+e.clientHeight,o=120;if(e.previousElementSibling===null&&r<n){window.scroll(window.scrollX,0);return}if(t>i-o){window.scroll(window.scrollX,i-o)}else{var a=t+n;if(a<r+o){window.scroll(window.scrollX,r-n+o)}}}function u(e){return function(){window.scrollBy(0,e);r("visible")()}}function c(e,t){return function(){window.scrollTo(0,e);r(t)()}}function p(){window.scrollTo(0,0);document.querySelector("#q").focus()}function h(n){return function(){var e=document.querySelector(".result[data-vim-selected] h3 a");if(e===null){e=document.querySelector(".result[data-vim-selected] > a")}if(e!==null){var t=e.getAttribute("href");if(n){window.open(t)}else{window.location.href=t}}}}function g(e){var n={};for(var t in d){var i=d[t];n[i.cat]=n[i.cat]||[];n[i.cat].push(i)}var r=Object.keys(n).sort(function(e,t){return n[t].length-n[e].length});if(r.length===0){return}var o='<a href="#" class="close" aria-label="close" title="close">×</a>';o+="<h3>How to navigate searx with Vim-like hotkeys</h3>";o+="<table>";for(var a=0;a<r.length;a++){var s=n[r[a]];var l=a===r.length-1;var u=a%2===0;if(u){o+="<tr>"}o+="<td>";o+="<h4>"+s[0].cat+"</h4>";o+='<ul class="list-unstyled">';for(var c in s){o+="<li><kbd>"+s[c].key+"</kbd> "+s[c].des+"</li>"}o+="</ul>";o+="</td>";if(!u||l){o+="</tr>"}}o+="</table>";e.innerHTML=o}function m(){var e=document.querySelector("#vim-hotkeys-help");if(e===undefined||e===null){e=document.createElement("div");e.id="vim-hotkeys-help";e.className="dialog-modal";g(e);g(e);g(e);var t=document.getElementsByTagName("body")[0];t.appendChild(e)}else{e.classList.toggle("invisible");return}}searxng.scrollPageToSelected=f;searxng.selectNext=r("down");searxng.selectPrevious=r("up")});(function(e,t,n){"use strict";n.ready(function(){n.on(".searxng_init_map","click",function(e){this.classList.remove("searxng_init_map");var d=this.dataset.leafletTarget;var f=parseFloat(this.dataset.mapLon);var p=parseFloat(this.dataset.mapLat);var h=parseFloat(this.dataset.mapZoom);var g=JSON.parse(this.dataset.mapBoundingbox);var m=JSON.parse(this.dataset.mapGeojson);n.loadStyle("css/leaflet.css");n.loadScript("js/leaflet.js",function(){var e=null;if(g){var t=L.latLng(g[0],g[2]);var n=L.latLng(g[1],g[3]);e=L.latLngBounds(t,n)}var i=L.map(d);var r="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";var o='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var a=new L.TileLayer(r,{minZoom:1,maxZoom:19,attribution:o});var s="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png";var l='Wikimedia maps | Maps data © <a href="https://openstreetmap.org">OpenStreetMap contributors</a>';var u=new L.TileLayer(s,{minZoom:1,maxZoom:19,attribution:l});if(e){setTimeout(function(){i.fitBounds(e,{maxZoom:17})},0)}else if(f&&p){if(h){i.setView(new L.latLng(p,f),h)}else{i.setView(new L.latLng(p,f),8)}}i.addLayer(a);var c={"OSM Mapnik":a,"OSM Wikimedia":u};L.control.layers(c).addTo(i);if(m){L.geoJson(m).addTo(i)}});e.preventDefault()})})})(window,document,window.searxng);(function(e,o,a){"use strict";a.ready(function(){let r=null;function e(){if(r==null){a.http("GET","engine_descriptions.json").then(function(e){r=JSON.parse(e);for(const[t,n]of Object.entries(r)){let e=o.querySelectorAll('[data-engine-name="'+t+'"] .engine-description');for(const i of e){let e=" (<i>"+a.translations["Source"]+": "+n[1]+"</i>)";i.innerHTML=n[0]+e}}})}}if(o.querySelector('body[class="preferences_endpoint"]')){for(const t of o.querySelectorAll("[data-engine-name]")){a.on(t,"mouseenter",e)}}})})(window,document,window.searxng);(function(e,s,l){"use strict";l.ready(function(){l.image_thumbnail_layout=new l.ImageLayout("#urls","#urls .result-images","img.image_thumbnail",14,6,200);l.image_thumbnail_layout.watch();l.on(".btn-collapse","click",function(){var e=this.getAttribute("data-btn-text-collapsed");var t=this.getAttribute("data-btn-text-not-collapsed");var n=this.getAttribute("data-target");var i=s.querySelector(n);var r=this.innerHTML;if(this.classList.contains("collapsed")){r=r.replace(e,t)}else{r=r.replace(t,e)}this.innerHTML=r;this.classList.toggle("collapsed");i.classList.toggle("invisible")});l.on(".media-loader","click",function(){var e=this.getAttribute("data-target");var t=s.querySelector(e+" > iframe");var n=t.getAttribute("src");if(n===null||n===undefined||n===false){t.setAttribute("src",t.getAttribute("data-src"))}});l.selectImage=function(e){if(e){const t=e.querySelector(".result-images-source img");const n=e.querySelector(".image_thumbnail");const i=e.querySelector(".detail");if(t){const r=t.getAttribute("data-src");if(r){const o=s.createElement("div");const a=new Image;o.classList.add("loader");i.appendChild(o);a.onload=e=>{t.src=r;o.remove()};a.onerror=e=>{o.remove()};a.src=r;t.src=n.src;t.removeAttribute("data-src")}}}s.getElementById("results").classList.add("image-detail-open");l.image_thumbnail_layout.align();l.scrollPageToSelected()};l.closeDetail=function(e){s.getElementById("results").classList.remove("image-detail-open");l.image_thumbnail_layout.align();l.scrollPageToSelected()};l.on(".result-detail-close","click",e=>{e.preventDefault();l.closeDetail()});l.on(".result-detail-previous","click",e=>l.selectPrevious(false));l.on(".result-detail-next","click",e=>l.selectNext(false));e.addEventListener("scroll",function(){var e=s.getElementById("backToTop"),t=document.documentElement.scrollTop||document.body.scrollTop,n=s.getElementById("results");if(e!==null){if(t>=100){n.classList.add("scrolling")}else{n.classList.remove("scrolling")}}},true)})})(window,document,window.searxng);(function(t,n,i){"use strict";var r=true,o="q",a;function s(e){if(e.setSelectionRange){var t=e.value.length;e.setSelectionRange(t,t)}}function l(){if(a.value.length>0){var e=document.getElementById("search");setTimeout(e.submit.bind(e),0)}}function u(e){var t=document.getElementById("clear_search");var n=function(){if(e.value.length===0){t.classList.add("empty")}else{t.classList.remove("empty")}};n();t.addEventListener("click",function(){e.value="";e.focus();n()});e.addEventListener("keyup",n,false)}i.ready(function(){a=n.getElementById(o);function e(){if(r){s(a);r=false}else{}}if(a!==null){u(a);if(i.autocompleter){i.autocomplete=AutoComplete.call(t,{Url:"./autocompleter",EmptyMessage:i.translations.no_item_found,HttpMethod:i.method,HttpHeaders:{"Content-type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},MinChars:4,Delay:300},"#"+o);t.addEventListener("resize",function(){var e=new CustomEvent("position");a.dispatchEvent(e)})}a.addEventListener("focus",e,false);a.focus()}if(a!==null&&n.querySelector(".help")!=null&&i.search_on_category_select){n.querySelector(".help").className="invisible";i.on("#categories input","change",function(){var e,t=n.querySelectorAll('#categories input[type="checkbox"]');for(e=0;e<t.length;e++){if(t[e]!==this&&t[e].checked){t[e].click()}}if(!this.checked){this.click()}l();return false});i.on(n.getElementById("safesearch"),"change",l);i.on(n.getElementById("time_range"),"change",l);i.on(n.getElementById("language"),"change",l)}})})(window,document,window.searxng); +window.searxng=function(t,o){"use strict";if(t.Element){(function(e){e.matches=e.matches||e.matchesSelector||e.webkitMatchesSelector||e.msMatchesSelector||function(e){var t=this,n=(t.parentNode||t.document).querySelectorAll(e),r=-1;while(n[++r]&&n[r]!=t);return!!n[r]}})(Element.prototype)}function a(e,t,n){try{e.call(t,n)}catch(e){console.log(e)}}var s=window.searxng||{};s.on=function(r,e,i,t){t=t||false;if(typeof r!=="string"){r.addEventListener(e,i,t)}else{o.addEventListener(e,function(e){var t=e.target||e.srcElement,n=false;while(t&&t.matches&&t!==o&&!(n=t.matches(r)))t=t.parentElement;if(n)a(i,t,e)},t)}};s.ready=function(e){if(document.readyState!="loading"){e.call(t)}else{t.addEventListener("DOMContentLoaded",e.bind(t))}};s.http=function(e,t){var n=new XMLHttpRequest,r=function(){},i=function(){},o={then:function(e){r=e;return o},catch:function(e){i=e;return o}};try{n.open(e,t,true);n.onload=function(){if(n.status==200){r(n.response,n.responseType)}else{i(Error(n.statusText))}};n.onerror=function(){i(Error("Network Error"))};n.onabort=function(){i(Error("Transaction is aborted"))};n.send()}catch(e){i(e)}return o};s.loadStyle=function(e){var t=s.static_path+e,n="style_"+e.replace(".","_"),r=o.getElementById(n);if(r===null){r=o.createElement("link");r.setAttribute("id",n);r.setAttribute("rel","stylesheet");r.setAttribute("type","text/css");r.setAttribute("href",t);o.body.appendChild(r)}};s.loadScript=function(e,t){var n=s.static_path+e,r="script_"+e.replace(".","_"),i=o.getElementById(r);if(i===null){i=o.createElement("script");i.setAttribute("id",r);i.setAttribute("src",n);i.onload=t;i.onerror=function(){i.setAttribute("error","1")};o.body.appendChild(i)}else if(!i.hasAttribute("error")){try{t.apply(i,[])}catch(e){console.log(e)}}else{console.log("callback not executed : script '"+n+"' not loaded.")}};s.insertBefore=function(e,t){t.parentNode.insertBefore(e,t)};s.insertAfter=function(e,t){t.parentNode.insertAfter(e,t.nextSibling)};s.on(".close","click",function(){this.parentNode.classList.add("invisible")});return s}(window,document);searxng.ready(function(){function e(e){while(e!==undefined){if(e.classList.contains("detail")){return true}if(e.classList.contains("result")){return false}e=e.parentNode}return false}function n(e){while(e!==undefined){if(e.classList.contains("result")){return e}e=e.parentNode}return undefined}function r(e){return e&&e.classList.contains("result-images")}searxng.on(".result","click",function(t){if(!e(t.target)){i(this)(true);let e=n(t.target);if(r(e)){t.preventDefault();searxng.selectImage(e)}}});searxng.on(".result a","focus",function(t){if(!e(t.target)){let e=n(t.target);if(e&&e.getAttribute("data-vim-selected")===null){i(e)(true)}if(r(e)){searxng.selectImage(e)}}},true);var d={27:{key:"Escape",fun:o,des:"remove focus from the focused input",cat:"Control"},73:{key:"i",fun:p,des:"focus on the search input",cat:"Control"},66:{key:"b",fun:u(-window.innerHeight),des:"scroll one page up",cat:"Navigation"},70:{key:"f",fun:u(window.innerHeight),des:"scroll one page down",cat:"Navigation"},85:{key:"u",fun:u(-window.innerHeight/2),des:"scroll half a page up",cat:"Navigation"},68:{key:"d",fun:u(window.innerHeight/2),des:"scroll half a page down",cat:"Navigation"},71:{key:"g",fun:c(-document.body.scrollHeight,"top"),des:"scroll to the top of the page",cat:"Navigation"},86:{key:"v",fun:c(document.body.scrollHeight,"bottom"),des:"scroll to the bottom of the page",cat:"Navigation"},75:{key:"k",fun:i("up"),des:"select previous search result",cat:"Results"},74:{key:"j",fun:i("down"),des:"select next search result",cat:"Results"},80:{key:"p",fun:l(),des:"go to previous page",cat:"Results"},78:{key:"n",fun:s(),des:"go to next page",cat:"Results"},79:{key:"o",fun:h(false),des:"open search result",cat:"Results"},84:{key:"t",fun:h(true),des:"open the result in a new tab",cat:"Results"},82:{key:"r",fun:t,des:"reload page from the server",cat:"Control"},72:{key:"h",fun:m,des:"toggle help window",cat:"Other"}};if(searxng.hotkeys){searxng.on(document,"keydown",function(e){if(Object.prototype.hasOwnProperty.call(d,e.keyCode)&&!e.ctrlKey&&!e.altKey&&!e.shiftKey&&!e.metaKey){var t=e.target.tagName.toLowerCase();if(e.keyCode===27){d[e.keyCode].fun(e)}else{if(e.target===document.body||t==="a"||t==="button"){e.preventDefault();d[e.keyCode].fun()}}}})}function i(d){return function(e){var t=document.querySelector(".result[data-vim-selected]"),n=d;if(t===null){t=document.querySelector(".result");if(t===null){return}if(d==="down"||d==="up"){n=t}}var r,i=document.querySelectorAll(".result");if(typeof n!=="string"){r=n}else{switch(n){case"visible":var o=document.documentElement.scrollTop||document.body.scrollTop;var a=o+document.documentElement.clientHeight;for(var s=0;s<i.length;s++){r=i[s];var l=r.offsetTop;var u=l+r.clientHeight;if(u<=a&&l>o){break}}break;case"down":r=t.nextElementSibling;if(r===null){r=i[0]}break;case"up":r=t.previousElementSibling;if(r===null){r=i[i.length-1]}break;case"bottom":r=i[i.length-1];break;case"top":default:r=i[0]}}if(r){t.removeAttribute("data-vim-selected");r.setAttribute("data-vim-selected","true");var c=r.querySelector("h3 a")||r.querySelector("a");if(c!==null){c.focus()}if(!e){f()}}}}function t(){document.location.reload(true)}function o(e){const t=e.target.tagName.toLowerCase();if(document.activeElement&&(t==="input"||t==="select"||t==="textarea")){document.activeElement.blur()}else{searxng.closeDetail()}}function a(t){return function(){var e=document.querySelector(t);if(e){e.click()}}}function s(){return a('nav#pagination .next_page button[type="submit"]')}function l(){return a('nav#pagination .previous_page button[type="submit"]')}function f(){var e=document.querySelector(".result[data-vim-selected]");if(e===null){return}var t=document.documentElement.scrollTop||document.body.scrollTop,n=document.documentElement.clientHeight,r=e.offsetTop,i=r+e.clientHeight,o=120;if(e.previousElementSibling===null&&i<n){window.scroll(window.scrollX,0);return}if(t>r-o){window.scroll(window.scrollX,r-o)}else{var a=t+n;if(a<i+o){window.scroll(window.scrollX,i-n+o)}}}function u(e){return function(){window.scrollBy(0,e);i("visible")()}}function c(e,t){return function(){window.scrollTo(0,e);i(t)()}}function p(){window.scrollTo(0,0);document.querySelector("#q").focus()}function h(n){return function(){var e=document.querySelector(".result[data-vim-selected] h3 a");if(e===null){e=document.querySelector(".result[data-vim-selected] > a")}if(e!==null){var t=e.getAttribute("href");if(n){window.open(t)}else{window.location.href=t}}}}function g(e){var n={};for(var t in d){var r=d[t];n[r.cat]=n[r.cat]||[];n[r.cat].push(r)}var i=Object.keys(n).sort(function(e,t){return n[t].length-n[e].length});if(i.length===0){return}var o='<a href="#" class="close" aria-label="close" title="close">×</a>';o+="<h3>How to navigate searx with Vim-like hotkeys</h3>";o+="<table>";for(var a=0;a<i.length;a++){var s=n[i[a]];var l=a===i.length-1;var u=a%2===0;if(u){o+="<tr>"}o+="<td>";o+="<h4>"+s[0].cat+"</h4>";o+='<ul class="list-unstyled">';for(var c in s){o+="<li><kbd>"+s[c].key+"</kbd> "+s[c].des+"</li>"}o+="</ul>";o+="</td>";if(!u||l){o+="</tr>"}}o+="</table>";e.innerHTML=o}function m(){var e=document.querySelector("#vim-hotkeys-help");if(e===undefined||e===null){e=document.createElement("div");e.id="vim-hotkeys-help";e.className="dialog-modal";g(e);g(e);g(e);var t=document.getElementsByTagName("body")[0];t.appendChild(e)}else{e.classList.toggle("invisible");return}}searxng.scrollPageToSelected=f;searxng.selectNext=i("down");searxng.selectPrevious=i("up")});(function(e,t,n){"use strict";n.ready(function(){n.on(".searxng_init_map","click",function(e){this.classList.remove("searxng_init_map");var d=this.dataset.leafletTarget;var f=parseFloat(this.dataset.mapLon);var p=parseFloat(this.dataset.mapLat);var h=parseFloat(this.dataset.mapZoom);var g=JSON.parse(this.dataset.mapBoundingbox);var m=JSON.parse(this.dataset.mapGeojson);n.loadStyle("css/leaflet.css");n.loadScript("js/leaflet.js",function(){var e=null;if(g){var t=L.latLng(g[0],g[2]);var n=L.latLng(g[1],g[3]);e=L.latLngBounds(t,n)}var r=L.map(d);var i="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png";var o='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors';var a=new L.TileLayer(i,{minZoom:1,maxZoom:19,attribution:o});var s="https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png";var l='Wikimedia maps | Maps data © <a href="https://openstreetmap.org">OpenStreetMap contributors</a>';var u=new L.TileLayer(s,{minZoom:1,maxZoom:19,attribution:l});if(e){setTimeout(function(){r.fitBounds(e,{maxZoom:17})},0)}else if(f&&p){if(h){r.setView(new L.latLng(p,f),h)}else{r.setView(new L.latLng(p,f),8)}}r.addLayer(a);var c={"OSM Mapnik":a,"OSM Wikimedia":u};L.control.layers(c).addTo(r);if(m){L.geoJson(m).addTo(r)}});e.preventDefault()})})})(window,document,window.searxng);(function(e,o,a){"use strict";a.ready(function(){let i=null;function e(){if(i==null){a.http("GET","engine_descriptions.json").then(function(e){i=JSON.parse(e);for(const[t,n]of Object.entries(i)){let e=o.querySelectorAll('[data-engine-name="'+t+'"] .engine-description');for(const r of e){let e=" (<i>"+a.translations["Source"]+": "+n[1]+"</i>)";r.innerHTML=n[0]+e}}})}}if(o.querySelector('body[class="preferences_endpoint"]')){for(const t of o.querySelectorAll("[data-engine-name]")){a.on(t,"mouseenter",e)}}})})(window,document,window.searxng);(function(e,s,l){"use strict";l.ready(function(){l.image_thumbnail_layout=new l.ImageLayout("#urls","#urls .result-images","img.image_thumbnail",14,6,200);l.image_thumbnail_layout.watch();l.on(".btn-collapse","click",function(){var e=this.getAttribute("data-btn-text-collapsed");var t=this.getAttribute("data-btn-text-not-collapsed");var n=this.getAttribute("data-target");var r=s.querySelector(n);var i=this.innerHTML;if(this.classList.contains("collapsed")){i=i.replace(e,t)}else{i=i.replace(t,e)}this.innerHTML=i;this.classList.toggle("collapsed");r.classList.toggle("invisible")});l.on(".media-loader","click",function(){var e=this.getAttribute("data-target");var t=s.querySelector(e+" > iframe");var n=t.getAttribute("src");if(n===null||n===undefined||n===false){t.setAttribute("src",t.getAttribute("data-src"))}});l.selectImage=function(e){if(e){const t=e.querySelector(".result-images-source img");const n=e.querySelector(".image_thumbnail");const r=e.querySelector(".detail");if(t){const i=t.getAttribute("data-src");if(i){const o=s.createElement("div");const a=new Image;o.classList.add("loader");r.appendChild(o);a.onload=e=>{t.src=i;o.remove()};a.onerror=e=>{o.remove()};a.src=i;t.src=n.src;t.removeAttribute("data-src")}}}s.getElementById("results").classList.add("image-detail-open");l.image_thumbnail_layout.align();l.scrollPageToSelected()};l.closeDetail=function(e){s.getElementById("results").classList.remove("image-detail-open");l.image_thumbnail_layout.align();l.scrollPageToSelected()};l.on(".result-detail-close","click",e=>{e.preventDefault();l.closeDetail()});l.on(".result-detail-previous","click",e=>l.selectPrevious(false));l.on(".result-detail-next","click",e=>l.selectNext(false));e.addEventListener("scroll",function(){var e=s.getElementById("backToTop"),t=document.documentElement.scrollTop||document.body.scrollTop,n=s.getElementById("results");if(e!==null){if(t>=100){n.classList.add("scrolling")}else{n.classList.remove("scrolling")}}},true)})})(window,document,window.searxng);(function(t,n,r){"use strict";var i=true,o="q",a;function s(e){if(e.setSelectionRange){var t=e.value.length;e.setSelectionRange(t,t)}}function l(){if(a.value.length>0){var e=document.getElementById("search");setTimeout(e.submit.bind(e),0)}}function u(e){var t=document.getElementById("clear_search");var n=function(){if(e.value.length===0){t.classList.add("empty")}else{t.classList.remove("empty")}};n();t.addEventListener("click",function(){e.value="";e.focus();n()});e.addEventListener("keyup",n,false)}r.ready(function(){a=n.getElementById(o);function e(){if(i){s(a);i=false}else{}}if(a!==null){u(a);if(r.autocompleter){r.autocomplete=AutoComplete.call(t,{Url:"./autocompleter",EmptyMessage:r.translations.no_item_found,HttpMethod:r.method,HttpHeaders:{"Content-type":"application/x-www-form-urlencoded","X-Requested-With":"XMLHttpRequest"},MinChars:4,Delay:300},"#"+o);t.addEventListener("resize",function(){var e=new CustomEvent("position");a.dispatchEvent(e)})}a.addEventListener("focus",e,false);a.focus()}if(a!==null&&n.querySelector(".help")!=null&&r.search_on_category_select){n.querySelector(".help").className="invisible";r.on("#categories input","change",function(){var e,t=n.querySelectorAll('#categories input[type="checkbox"]');for(e=0;e<t.length;e++){if(t[e]!==this&&t[e].checked){t[e].click()}}if(!this.checked){this.click()}l();return false});r.on(n.getElementById("safesearch"),"change",l);r.on(n.getElementById("time_range"),"change",l);r.on(n.getElementById("language"),"change",l)}})})(window,document,window.searxng); /** * * Google Image Layout v0.0.1 @@ -15,8 +15,18 @@ window.searxng=function(t,o){"use strict";if(t.Element){(function(e){e.matches=e * * @license Free to use under the MIT License. * +* @example <caption>Example usage of searxng.ImageLayout class.</caption> +* searxng.image_thumbnail_layout = new searxng.ImageLayout( +* '#urls', // container_selector +* '#urls .result-images', // results_selector +* 'img.image_thumbnail', // img_selector +* 14, // verticalMargin +* 6, // horizontalMargin +* 200 // maxHeight +* ); +* searxng.image_thumbnail_layout.watch(); */ -(function(a,c){function e(e,t,n,i,r,o){this.container_selector=e;this.results_selector=t;this.img_selector=n;this.verticalMargin=i;this.horizontalMargin=r;this.maxHeight=o;this.isAlignDone=true}e.prototype._getHeigth=function(e,t){var n,i;var r=0;for(n=0;n<e.length;n++){i=e[n];if(i.naturalWidth>0&&i.naturalHeight>0){r+=i.naturalWidth/i.naturalHeight}else{r+=1}}return(t-e.length*this.verticalMargin)/r};e.prototype._setSize=function(e,t){var n,i,r;var o=e.length,a;for(n=0;n<o;n++){i=e[n];if(i.naturalWidth>0&&i.naturalHeight>0){r=t*i.naturalWidth/i.naturalHeight}else{r=t}i.style.width=r+"px";i.style.height=t+"px";i.style.marginLeft=this.horizontalMargin+"px";i.style.marginTop=this.horizontalMargin+"px";i.style.marginRight=this.verticalMargin-7+"px";i.style.marginBottom=this.verticalMargin-7+"px";a=i.parentNode.parentNode;if(!a.classList.contains("js")){a.classList.add("js")}}};e.prototype._alignImgs=function(e){var t,n,i,r;var o=c.querySelector(this.container_selector);var a=window.getComputedStyle(o);var s=parseInt(a.getPropertyValue("padding-left"),10);var l=parseInt(a.getPropertyValue("padding-right"),10);var u=o.clientWidth-s-l;while(e.length>0){t=true;for(i=1;i<=e.length&&t;i++){n=e.slice(0,i);r=this._getHeigth(n,u);if(r<this.maxHeight){this._setSize(n,r);e=e.slice(i);t=false}}if(t){this._setSize(n,Math.min(this.maxHeight,r));break}}};e.prototype.align=function(){var e;var t=c.querySelectorAll(this.results_selector);var n=t.length;var i=null;var r=null;var o=[];for(e=0;e<n;e++){r=t[e];if(r.previousElementSibling!==i&&o.length>0){this._alignImgs(o);o=[]}o.push(r.querySelector(this.img_selector));i=r}if(o.length>0){this._alignImgs(o)}};e.prototype.watch=function(){var e,t;var n=this;var i=c.querySelectorAll(this.results_selector);var r=i.length;function o(){if(n.isAlignDone){n.isAlignDone=false;setTimeout(function(){n.align();n.isAlignDone=true},100)}}a.addEventListener("pageshow",o);a.addEventListener("load",o);a.addEventListener("resize",o);for(e=0;e<r;e++){t=i[e].querySelector(this.img_selector);if(t!==null&&t!==undefined){t.addEventListener("load",o);t.addEventListener("error",o)}}};a.searxng.ImageLayout=e})(window,document);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function(){function c(o,a,s){function l(n,e){if(!a[n]){if(!o[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(u)return u(n,!0);var i=new Error("Cannot find module '"+n+"'");throw i.code="MODULE_NOT_FOUND",i}var r=a[n]={exports:{}};o[n][0].call(r.exports,function(e){var t=o[n][1][e];return l(t||e)},r,r.exports,c,o,a,s)}return a[n].exports}for(var u="function"==typeof require&&require,e=0;e<s.length;e++)l(s[e]);return l}return c}()({1:[function(e,t,n){ +(function(s,c){function e(e,t,n,r,i,o){this.container_selector=e;this.results_selector=t;this.img_selector=n;this.verticalMargin=r;this.horizontalMargin=i;this.maxHeight=o;this.isAlignDone=true}e.prototype._getHeigth=function(e,t){var n,r;var i=0;for(n=0;n<e.length;n++){r=e[n];if(r.naturalWidth>0&&r.naturalHeight>0){i+=r.naturalWidth/r.naturalHeight}else{i+=1}}return(t-e.length*this.verticalMargin)/i};e.prototype._setSize=function(e,t){var n,r,i;var o=e.length,a;for(n=0;n<o;n++){r=e[n];if(r.naturalWidth>0&&r.naturalHeight>0){i=t*r.naturalWidth/r.naturalHeight}else{i=t}r.style.width=i+"px";r.style.height=t+"px";r.style.marginLeft=this.horizontalMargin+"px";r.style.marginTop=this.horizontalMargin+"px";r.style.marginRight=this.verticalMargin-7+"px";r.style.marginBottom=this.verticalMargin-7+"px";a=r.parentNode.parentNode;if(!a.classList.contains("js")){a.classList.add("js")}}};e.prototype._alignImgs=function(e){var t,n,r,i;var o=c.querySelector(this.container_selector);var a=window.getComputedStyle(o);var s=parseInt(a.getPropertyValue("padding-left"),10);var l=parseInt(a.getPropertyValue("padding-right"),10);var u=o.clientWidth-s-l;while(e.length>0){t=true;for(r=1;r<=e.length&&t;r++){n=e.slice(0,r);i=this._getHeigth(n,u);if(i<this.maxHeight){this._setSize(n,i);e=e.slice(r);t=false}}if(t){this._setSize(n,Math.min(this.maxHeight,i));break}}};e.prototype.align=function(){var e;var t=c.querySelectorAll(this.results_selector);var n=t.length;var r=null;var i=null;var o=[];for(e=0;e<n;e++){i=t[e];if(i.previousElementSibling!==r&&o.length>0){this._alignImgs(o);o=[]}o.push(i.querySelector(this.img_selector));r=i}if(o.length>0){this._alignImgs(o)}};e.prototype.watch=function(){var e,t;var n=this;var r=c.querySelectorAll(this.results_selector);var i=r.length;function o(e){e.originalTarget.src=s.searxng.static_path+s.searxng.theme.img_load_error}function a(){if(n.isAlignDone){n.isAlignDone=false;setTimeout(function(){n.align();n.isAlignDone=true},100)}}s.addEventListener("pageshow",a);s.addEventListener("load",a);s.addEventListener("resize",a);for(e=0;e<i;e++){t=r[e].querySelector(this.img_selector);if(t!==null&&t!==undefined){t.addEventListener("load",a);t.addEventListener("error",a);if(s.searxng.theme.img_load_error){t.addEventListener("error",o,{once:true})}}}};s.searxng.ImageLayout=e})(window,document);(function(e){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=e()}else if(typeof define==="function"&&define.amd){define([],e)}else{var t;if(typeof window!=="undefined"){t=window}else if(typeof global!=="undefined"){t=global}else if(typeof self!=="undefined"){t=self}else{t=this}t.AutoComplete=e()}})(function(){var e,t,n;return function(){function c(o,a,s){function l(n,e){if(!a[n]){if(!o[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(u)return u(n,!0);var r=new Error("Cannot find module '"+n+"'");throw r.code="MODULE_NOT_FOUND",r}var i=a[n]={exports:{}};o[n][0].call(i.exports,function(e){var t=o[n][1][e];return l(t||e)},i,i.exports,c,o,a,s)}return a[n].exports}for(var u="function"==typeof require&&require,e=0;e<s.length;e++)l(s[e]);return l}return c}()({1:[function(e,t,n){ /* * @license MIT * @@ -26,5 +36,5 @@ window.searxng=function(t,o){"use strict";if(t.Element){(function(e){e.matches=e * * (c) 2017, Baptiste Donaux */ -"use strict";var l;(function(e){e[e["AND"]=0]="AND";e[e["OR"]=1]="OR"})(l||(l={}));var o;(function(e){e[e["KEYDOWN"]=0]="KEYDOWN";e[e["KEYUP"]=1]="KEYUP"})(o||(o={}));var i=function(){function s(t,e){if(t===void 0){t={}}if(e===void 0){e="[data-autocomplete]"}if(Array.isArray(e)){e.forEach(function(e){new s(t,e)})}else if(typeof e=="string"){var n=document.querySelectorAll(e);Array.prototype.forEach.call(n,function(e){new s(t,e)})}else{var i=s.merge(s.defaults,t,{DOMResults:document.createElement("div")});s.prototype.create(i,e);return i}}s.prototype.create=function(e,t){e.Input=t;if(e.Input.nodeName.match(/^INPUT$/i)&&(e.Input.hasAttribute("type")===false||e.Input.getAttribute("type").match(/^TEXT|SEARCH$/i))){e.Input.setAttribute("autocomplete","off");e._Position(e);e.Input.parentNode.appendChild(e.DOMResults);e.$Listeners={blur:e._Blur.bind(e),destroy:s.prototype.destroy.bind(null,e),focus:e._Focus.bind(e),keyup:s.prototype.event.bind(null,e,o.KEYUP),keydown:s.prototype.event.bind(null,e,o.KEYDOWN),position:e._Position.bind(e)};for(var n in e.$Listeners){e.Input.addEventListener(n,e.$Listeners[n])}}};s.prototype.getEventsByType=function(e,t){var n={};for(var i in e.KeyboardMappings){var r=o.KEYUP;if(e.KeyboardMappings[i].Event!==undefined){r=e.KeyboardMappings[i].Event}if(r==t){n[i]=e.KeyboardMappings[i]}}return n};s.prototype.event=function(e,t,n){var i=function(e){if(a===true&&o.Operator==l.AND||a===false&&o.Operator==l.OR){e=s.merge({Not:false},e);if(e.hasOwnProperty("Is")){if(e.Is==n.keyCode){a=!e.Not}else{a=e.Not}}else if(e.hasOwnProperty("From")&&e.hasOwnProperty("To")){if(n.keyCode>=e.From&&n.keyCode<=e.To){a=!e.Not}else{a=e.Not}}}};for(var r in s.prototype.getEventsByType(e,t)){var o=s.merge({Operator:l.AND},e.KeyboardMappings[r]),a=l.AND==o.Operator;o.Conditions.forEach(i);if(a===true){o.Callback.call(e,n)}}};s.prototype.makeRequest=function(e,t,n){var i=Object.getOwnPropertyNames(e.HttpHeaders),r=new XMLHttpRequest,o=e._HttpMethod(),a=e._Url(),s=e._Pre(),l=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(s);if(o.match(/^GET$/i)){if(a.indexOf("?")!==-1){a+="&"+l}else{a+="?"+l}}r.open(o,a,true);for(var u=i.length-1;u>=0;u--){r.setRequestHeader(i[u],e.HttpHeaders[i[u]])}r.onreadystatechange=function(){if(r.readyState==4&&r.status==200){e.$Cache[s]=r.response;t(r.response)}else if(r.status>=400){n()}};return r};s.prototype.ajax=function(e,t,n){if(n===void 0){n=true}if(e.$AjaxTimer){window.clearTimeout(e.$AjaxTimer)}if(n===true){e.$AjaxTimer=window.setTimeout(s.prototype.ajax.bind(null,e,t,false),e.Delay)}else{if(e.Request){e.Request.abort()}e.Request=t;e.Request.send(e._QueryArg()+"="+e._Pre())}};s.prototype.cache=function(e,t,n){var i=e._Cache(e._Pre());if(i===undefined){var r=s.prototype.makeRequest(e,t,n);s.prototype.ajax(e,r)}else{t(i)}};s.prototype.destroy=function(e){for(var t in e.$Listeners){e.Input.removeEventListener(t,e.$Listeners[t])}e.DOMResults.parentNode.removeChild(e.DOMResults)};s.merge=function(){var e={},t;for(var n=0;n<arguments.length;n++){for(t in arguments[n]){e[t]=arguments[n][t]}}return e};s.defaults={Delay:150,EmptyMessage:"No result here",Highlight:{getRegex:function(e){return new RegExp(e,"ig")},transform:function(e){return"<strong>"+e+"</strong>"}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:false}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");if(t!==null){e.preventDefault();this._Select(t);this.DOMResults.setAttribute("class","autocomplete")}}},Operator:l.AND,Event:o.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault()},Operator:l.OR,Event:o.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),n=this.DOMResults.querySelector("li:last-child:not(.locked)"),i=this.DOMResults.querySelector("li.active");if(i){var r=Array.prototype.indexOf.call(i.parentNode.children,i),o=r+(e.keyCode-39),a=this.DOMResults.getElementsByTagName("li").length;if(o<0){o=a-1}else if(o>=a){o=0}i.classList.remove("active");i.parentElement.children.item(o).classList.add("active")}else if(n&&e.keyCode==38){n.classList.add("active")}else if(t){t.classList.add("active")}},Operator:l.OR,Event:o.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:true},{From:35,To:40,Not:true}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();if(t!==""&&t.length>=this._MinChars()){if(!e||t!=e){this.DOMResults.setAttribute("class","autocomplete open")}s.prototype.cache(this,function(e){this._Render(this._Post(e));this._Open()}.bind(this),this._Error)}else{this._Close()}},Operator:l.AND,Event:o.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";if(this.Input.hasAttribute("data-autocomplete-empty-message")){e=this.Input.getAttribute("data-autocomplete-empty-message")}else if(this.EmptyMessage!==false){e=this.EmptyMessage}else{e=""}return e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");if(isNaN(e)||e===null){return this.Limit}return parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");if(isNaN(e)||e===null){return this.MinChars}return parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){if(this.Input.hasAttribute("data-autocomplete-method")){return this.Input.getAttribute("data-autocomplete-method")}return this.HttpMethod},_QueryArg:function(){if(this.Input.hasAttribute("data-autocomplete-param-name")){return this.Input.getAttribute("data-autocomplete-param-name")}return this.QueryArg},_Url:function(){if(this.Input.hasAttribute("data-autocomplete")){return this.Input.getAttribute("data-autocomplete")}return this.Url},_Blur:function(e){if(e===void 0){e=false}if(e){this._Close()}else{var t=this;setTimeout(function(){t._Blur(true)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");if((!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length){this.DOMResults.setAttribute("class","autocomplete open")}},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(e){if(e.getAttribute("class")!="locked"){e.onclick=function(){t._Select(e)}}})},_Close:function(){this.DOMResults.setAttribute("class","autocomplete")},_Position:function(){this.DOMResults.setAttribute("class","autocomplete");this.DOMResults.setAttribute("style","top:"+(this.Input.offsetTop+this.Input.offsetHeight)+"px;left:"+this.Input.offsetLeft+"px;width:"+this.Input.clientWidth+"px;")},_Render:function(e){var t;if(typeof e=="string"){t=this._RenderRaw(e)}else{t=this._RenderResponseItems(e)}if(this.DOMResults.hasChildNodes()){this.DOMResults.removeChild(this.DOMResults.childNodes[0])}this.DOMResults.appendChild(t)},_RenderResponseItems:function(e){var t=document.createElement("ul"),n=document.createElement("li"),i=this._Limit();if(i<0){e=e.reverse()}else if(i===0){i=e.length}for(var r=0;r<Math.min(Math.abs(i),e.length);r++){n.innerHTML=e[r].Label;n.setAttribute("data-autocomplete-value",e[r].Value);t.appendChild(n);n=document.createElement("li")}return t},_RenderRaw:function(e){var t=document.createElement("ul"),n=document.createElement("li");if(e.length>0){this.DOMResults.innerHTML=e}else{var i=this._EmptyMessage();if(i!==""){n.innerHTML=i;n.setAttribute("class","locked");t.appendChild(n)}}return t},_Post:function(t){try{var e=[];var n=JSON.parse(t);if(Object.keys(n).length===0){return""}if(Array.isArray(n)){for(var i=0;i<Object.keys(n).length;i++){e[e.length]={Value:n[i],Label:this._Highlight(n[i])}}}else{for(var r in n){e.push({Value:r,Label:this._Highlight(n[r])})}}return e}catch(e){return t}},_Pre:function(){return this.Input.value},_Select:function(e){if(e.hasAttribute("data-autocomplete-value")){this.Input.value=e.getAttribute("data-autocomplete-value")}else{this.Input.value=e.innerHTML}this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)},_Error:function(){},$AjaxTimer:null,$Cache:{},$Listeners:{}};return s}();t.exports=i},{}]},{},[1])(1)}); +"use strict";var l;(function(e){e[e["AND"]=0]="AND";e[e["OR"]=1]="OR"})(l||(l={}));var o;(function(e){e[e["KEYDOWN"]=0]="KEYDOWN";e[e["KEYUP"]=1]="KEYUP"})(o||(o={}));var r=function(){function s(t,e){if(t===void 0){t={}}if(e===void 0){e="[data-autocomplete]"}if(Array.isArray(e)){e.forEach(function(e){new s(t,e)})}else if(typeof e=="string"){var n=document.querySelectorAll(e);Array.prototype.forEach.call(n,function(e){new s(t,e)})}else{var r=s.merge(s.defaults,t,{DOMResults:document.createElement("div")});s.prototype.create(r,e);return r}}s.prototype.create=function(e,t){e.Input=t;if(e.Input.nodeName.match(/^INPUT$/i)&&(e.Input.hasAttribute("type")===false||e.Input.getAttribute("type").match(/^TEXT|SEARCH$/i))){e.Input.setAttribute("autocomplete","off");e._Position(e);e.Input.parentNode.appendChild(e.DOMResults);e.$Listeners={blur:e._Blur.bind(e),destroy:s.prototype.destroy.bind(null,e),focus:e._Focus.bind(e),keyup:s.prototype.event.bind(null,e,o.KEYUP),keydown:s.prototype.event.bind(null,e,o.KEYDOWN),position:e._Position.bind(e)};for(var n in e.$Listeners){e.Input.addEventListener(n,e.$Listeners[n])}}};s.prototype.getEventsByType=function(e,t){var n={};for(var r in e.KeyboardMappings){var i=o.KEYUP;if(e.KeyboardMappings[r].Event!==undefined){i=e.KeyboardMappings[r].Event}if(i==t){n[r]=e.KeyboardMappings[r]}}return n};s.prototype.event=function(e,t,n){var r=function(e){if(a===true&&o.Operator==l.AND||a===false&&o.Operator==l.OR){e=s.merge({Not:false},e);if(e.hasOwnProperty("Is")){if(e.Is==n.keyCode){a=!e.Not}else{a=e.Not}}else if(e.hasOwnProperty("From")&&e.hasOwnProperty("To")){if(n.keyCode>=e.From&&n.keyCode<=e.To){a=!e.Not}else{a=e.Not}}}};for(var i in s.prototype.getEventsByType(e,t)){var o=s.merge({Operator:l.AND},e.KeyboardMappings[i]),a=l.AND==o.Operator;o.Conditions.forEach(r);if(a===true){o.Callback.call(e,n)}}};s.prototype.makeRequest=function(e,t,n){var r=Object.getOwnPropertyNames(e.HttpHeaders),i=new XMLHttpRequest,o=e._HttpMethod(),a=e._Url(),s=e._Pre(),l=encodeURIComponent(e._QueryArg())+"="+encodeURIComponent(s);if(o.match(/^GET$/i)){if(a.indexOf("?")!==-1){a+="&"+l}else{a+="?"+l}}i.open(o,a,true);for(var u=r.length-1;u>=0;u--){i.setRequestHeader(r[u],e.HttpHeaders[r[u]])}i.onreadystatechange=function(){if(i.readyState==4&&i.status==200){e.$Cache[s]=i.response;t(i.response)}else if(i.status>=400){n()}};return i};s.prototype.ajax=function(e,t,n){if(n===void 0){n=true}if(e.$AjaxTimer){window.clearTimeout(e.$AjaxTimer)}if(n===true){e.$AjaxTimer=window.setTimeout(s.prototype.ajax.bind(null,e,t,false),e.Delay)}else{if(e.Request){e.Request.abort()}e.Request=t;e.Request.send(e._QueryArg()+"="+e._Pre())}};s.prototype.cache=function(e,t,n){var r=e._Cache(e._Pre());if(r===undefined){var i=s.prototype.makeRequest(e,t,n);s.prototype.ajax(e,i)}else{t(r)}};s.prototype.destroy=function(e){for(var t in e.$Listeners){e.Input.removeEventListener(t,e.$Listeners[t])}e.DOMResults.parentNode.removeChild(e.DOMResults)};s.merge=function(){var e={},t;for(var n=0;n<arguments.length;n++){for(t in arguments[n]){e[t]=arguments[n][t]}}return e};s.defaults={Delay:150,EmptyMessage:"No result here",Highlight:{getRegex:function(e){return new RegExp(e,"ig")},transform:function(e){return"<strong>"+e+"</strong>"}},HttpHeaders:{"Content-type":"application/x-www-form-urlencoded"},Limit:0,MinChars:0,HttpMethod:"GET",QueryArg:"q",Url:null,KeyboardMappings:{Enter:{Conditions:[{Is:13,Not:false}],Callback:function(e){if(this.DOMResults.getAttribute("class").indexOf("open")!=-1){var t=this.DOMResults.querySelector("li.active");if(t!==null){e.preventDefault();this._Select(t);this.DOMResults.setAttribute("class","autocomplete")}}},Operator:l.AND,Event:o.KEYDOWN},KeyUpAndDown_down:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault()},Operator:l.OR,Event:o.KEYDOWN},KeyUpAndDown_up:{Conditions:[{Is:38,Not:false},{Is:40,Not:false}],Callback:function(e){e.preventDefault();var t=this.DOMResults.querySelector("li:first-child:not(.locked)"),n=this.DOMResults.querySelector("li:last-child:not(.locked)"),r=this.DOMResults.querySelector("li.active");if(r){var i=Array.prototype.indexOf.call(r.parentNode.children,r),o=i+(e.keyCode-39),a=this.DOMResults.getElementsByTagName("li").length;if(o<0){o=a-1}else if(o>=a){o=0}r.classList.remove("active");r.parentElement.children.item(o).classList.add("active")}else if(n&&e.keyCode==38){n.classList.add("active")}else if(t){t.classList.add("active")}},Operator:l.OR,Event:o.KEYUP},AlphaNum:{Conditions:[{Is:13,Not:true},{From:35,To:40,Not:true}],Callback:function(){var e=this.Input.getAttribute("data-autocomplete-old-value"),t=this._Pre();if(t!==""&&t.length>=this._MinChars()){if(!e||t!=e){this.DOMResults.setAttribute("class","autocomplete open")}s.prototype.cache(this,function(e){this._Render(this._Post(e));this._Open()}.bind(this),this._Error)}else{this._Close()}},Operator:l.AND,Event:o.KEYUP}},DOMResults:null,Request:null,Input:null,_EmptyMessage:function(){var e="";if(this.Input.hasAttribute("data-autocomplete-empty-message")){e=this.Input.getAttribute("data-autocomplete-empty-message")}else if(this.EmptyMessage!==false){e=this.EmptyMessage}else{e=""}return e},_Limit:function(){var e=this.Input.getAttribute("data-autocomplete-limit");if(isNaN(e)||e===null){return this.Limit}return parseInt(e,10)},_MinChars:function(){var e=this.Input.getAttribute("data-autocomplete-minchars");if(isNaN(e)||e===null){return this.MinChars}return parseInt(e,10)},_Highlight:function(e){return e.replace(this.Highlight.getRegex(this._Pre()),this.Highlight.transform)},_HttpMethod:function(){if(this.Input.hasAttribute("data-autocomplete-method")){return this.Input.getAttribute("data-autocomplete-method")}return this.HttpMethod},_QueryArg:function(){if(this.Input.hasAttribute("data-autocomplete-param-name")){return this.Input.getAttribute("data-autocomplete-param-name")}return this.QueryArg},_Url:function(){if(this.Input.hasAttribute("data-autocomplete")){return this.Input.getAttribute("data-autocomplete")}return this.Url},_Blur:function(e){if(e===void 0){e=false}if(e){this._Close()}else{var t=this;setTimeout(function(){t._Blur(true)},150)}},_Cache:function(e){return this.$Cache[e]},_Focus:function(){var e=this.Input.getAttribute("data-autocomplete-old-value");if((!e||this.Input.value!=e)&&this._MinChars()<=this.Input.value.length){this.DOMResults.setAttribute("class","autocomplete open")}},_Open:function(){var t=this;Array.prototype.forEach.call(this.DOMResults.getElementsByTagName("li"),function(e){if(e.getAttribute("class")!="locked"){e.onclick=function(){t._Select(e)}}})},_Close:function(){this.DOMResults.setAttribute("class","autocomplete")},_Position:function(){this.DOMResults.setAttribute("class","autocomplete");this.DOMResults.setAttribute("style","top:"+(this.Input.offsetTop+this.Input.offsetHeight)+"px;left:"+this.Input.offsetLeft+"px;width:"+this.Input.clientWidth+"px;")},_Render:function(e){var t;if(typeof e=="string"){t=this._RenderRaw(e)}else{t=this._RenderResponseItems(e)}if(this.DOMResults.hasChildNodes()){this.DOMResults.removeChild(this.DOMResults.childNodes[0])}this.DOMResults.appendChild(t)},_RenderResponseItems:function(e){var t=document.createElement("ul"),n=document.createElement("li"),r=this._Limit();if(r<0){e=e.reverse()}else if(r===0){r=e.length}for(var i=0;i<Math.min(Math.abs(r),e.length);i++){n.innerHTML=e[i].Label;n.setAttribute("data-autocomplete-value",e[i].Value);t.appendChild(n);n=document.createElement("li")}return t},_RenderRaw:function(e){var t=document.createElement("ul"),n=document.createElement("li");if(e.length>0){this.DOMResults.innerHTML=e}else{var r=this._EmptyMessage();if(r!==""){n.innerHTML=r;n.setAttribute("class","locked");t.appendChild(n)}}return t},_Post:function(t){try{var e=[];var n=JSON.parse(t);if(Object.keys(n).length===0){return""}if(Array.isArray(n)){for(var r=0;r<Object.keys(n).length;r++){e[e.length]={Value:n[r],Label:this._Highlight(n[r])}}}else{for(var i in n){e.push({Value:i,Label:this._Highlight(n[i])})}}return e}catch(e){return t}},_Pre:function(){return this.Input.value},_Select:function(e){if(e.hasAttribute("data-autocomplete-value")){this.Input.value=e.getAttribute("data-autocomplete-value")}else{this.Input.value=e.innerHTML}this.Input.setAttribute("data-autocomplete-old-value",this.Input.value)},_Error:function(){},$AjaxTimer:null,$Cache:{},$Listeners:{}};return s}();t.exports=r},{}]},{},[1])(1)}); //# sourceMappingURL=searxng.min.js.map
\ No newline at end of file diff --git a/searx/static/themes/simple/js/searxng.min.js.map b/searx/static/themes/simple/js/searxng.min.js.map index dbf4eea89..ee2728abd 100644 --- a/searx/static/themes/simple/js/searxng.min.js.map +++ b/searx/static/themes/simple/js/searxng.min.js.map @@ -1 +1 @@ -{"version":3,"file":"searxng.min.js","sources":["searxng.js"],"names":["window","searxng","w","d","Element","ElementPrototype","matches","matchesSelector","webkitMatchesSelector","msMatchesSelector","selector","node","this","nodes","parentNode","document","querySelectorAll","i","prototype","callbackSafe","callback","el","e","call","exception","console","log","on","obj","eventType","useCapture","addEventListener","target","srcElement","found","parentElement","ready","readyState","bind","http","method","url","req","XMLHttpRequest","resolve","reject","promise","then","catch","open","onload","status","response","responseType","Error","statusText","onerror","onabort","send","ex","loadStyle","src","path","static_path","id","replace","s","getElementById","createElement","setAttribute","body","appendChild","loadScript","hasAttribute","apply","insertBefore","newNode","referenceNode","insertAfter","nextSibling","classList","add","isElementInDetail","undefined","contains","getResultElement","isImageResult","resultElement","highlightResult","let","preventDefault","selectImage","getAttribute","vimKeys","27","key","fun","removeFocus","des","cat","73","searchInputFocus","66","scrollPage","innerHeight","70","85","68","71","scrollPageTo","scrollHeight","86","75","74","80","GoToPreviousPage","78","GoToNextPage","79","openResult","84","82","reloadPage","72","toggleHelp","hotkeys","Object","hasOwnProperty","keyCode","ctrlKey","altKey","shiftKey","metaKey","tagName","toLowerCase","which","noScroll","current","querySelector","effectiveWhich","next","results","top","documentElement","scrollTop","bot","clientHeight","length","etop","offsetTop","ebot","nextElementSibling","previousElementSibling","removeAttribute","link","focus","scrollPageToSelected","location","reload","activeElement","blur","closeDetail","pageButtonClick","css_selector","button","click","sel","wtop","wheight","offset","scroll","scrollX","wbot","amount","scrollBy","position","nav","scrollTo","newTab","href","initHelpContent","divElement","categories","k","push","sorted","keys","sort","a","b","html","lastCategory","first","cj","innerHTML","helpPanel","className","getElementsByTagName","toggle","selectNext","selectPrevious","event","remove","leaflet_target","dataset","leafletTarget","map_lon","parseFloat","mapLon","map_lat","mapLat","map_zoom","mapZoom","map_boundingbox","JSON","parse","mapBoundingbox","map_geojson","mapGeojson","map_bounds","southWest","L","latLng","northEast","latLngBounds","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","TileLayer","minZoom","maxZoom","attribution","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","setTimeout","fitBounds","setView","addLayer","baseLayers","OSM Mapnik","OSM Wikimedia","control","layers","addTo","geoJson","engine_descriptions","load_engine_descriptions","content","engine_name","description","entries","elements","element","source","translations","image_thumbnail_layout","ImageLayout","watch","btnLabelCollapsed","btnLabelNotCollapsed","targetElement","iframe_load","srctest","imgElement","thumbnailElement","detailElement","imgSrc","loader","imgLoader","Image","align","firstFocus","qinput_id","qinput","placeCursorAtEnd","setSelectionRange","len","value","submitIfQuery","search","submit","createClearButton","cs","updateClearButton","placeCursorAtEndOnce","autocompleter","autocomplete","AutoComplete","Url","EmptyMessage","no_item_found","HttpMethod","HttpHeaders","Content-type","X-Requested-With","MinChars","Delay","CustomEvent","dispatchEvent","search_on_category_select","checked","container_selector","results_selector","img_selector","verticalMargin","horizontalMargin","maxHeight","isAlignDone","_getHeigth","images","width","img","r","naturalWidth","naturalHeight","_setSize","height","imgWidth","imagesLength","resultNode","style","marginLeft","marginTop","marginRight","marginBottom","_alignImgs","imgGroup","isSearching","slice","h","containerElement","containerCompStyles","getComputedStyle","containerPaddingLeft","parseInt","getPropertyValue","containerPaddingRight","containerWidth","clientWidth","Math","min","results_selectorNode","results_length","previous","results_nodes","throttleAlign","f","exports","module","define","amd","g","global","self","n","t","o","c","require","u","code","p","1","ConditionOperator","EventType","params","Array","isArray","forEach","input","specificParams","merge","defaults","DOMResults","create","Input","nodeName","match","_Position","$Listeners","_Blur","destroy","_Focus","keyup","KEYUP","keydown","KEYDOWN","getEventsByType","type","mappings","KeyboardMappings","Event","eventIdentifier","condition","mapping","Operator","AND","OR","Not","Is","From","To","name","Conditions","Callback","makeRequest","callbackErr","propertyHttpHeaders","getOwnPropertyNames","request","_HttpMethod","_Url","queryParams","_Pre","queryParamsStringify","encodeURIComponent","_QueryArg","indexOf","setRequestHeader","onreadystatechange","$Cache","ajax","timeout","$AjaxTimer","clearTimeout","Request","abort","cache","_Cache","removeEventListener","removeChild","tmp","arguments","Highlight","getRegex","RegExp","transform","Limit","QueryArg","Enter","liActive","_Select","KeyUpAndDown_down","KeyUpAndDown_up","last","active","currentIndex","children","lisCount","item","AlphaNum","oldValue","currentValue","_MinChars","_Render","_Post","_Open","_Error","_Close","_EmptyMessage","emptyMessage","_Limit","limit","isNaN","minchars","_Highlight","label","now","li","onclick","offsetHeight","offsetLeft","ul","_RenderRaw","_RenderResponseItems","hasChildNodes","childNodes","reverse","abs","Label","Value","returnResponse","json"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"searxng.min.js","sources":["searxng.js"],"names":["window","searxng","w","d","Element","ElementPrototype","matches","matchesSelector","webkitMatchesSelector","msMatchesSelector","selector","node","this","nodes","parentNode","document","querySelectorAll","i","prototype","callbackSafe","callback","el","e","call","exception","console","log","on","obj","eventType","useCapture","addEventListener","target","srcElement","found","parentElement","ready","readyState","bind","http","method","url","req","XMLHttpRequest","resolve","reject","promise","then","catch","open","onload","status","response","responseType","Error","statusText","onerror","onabort","send","ex","loadStyle","src","path","static_path","id","replace","s","getElementById","createElement","setAttribute","body","appendChild","loadScript","hasAttribute","apply","insertBefore","newNode","referenceNode","insertAfter","nextSibling","classList","add","isElementInDetail","undefined","contains","getResultElement","isImageResult","resultElement","highlightResult","let","preventDefault","selectImage","getAttribute","vimKeys","27","key","fun","removeFocus","des","cat","73","searchInputFocus","66","scrollPage","innerHeight","70","85","68","71","scrollPageTo","scrollHeight","86","75","74","80","GoToPreviousPage","78","GoToNextPage","79","openResult","84","82","reloadPage","72","toggleHelp","hotkeys","Object","hasOwnProperty","keyCode","ctrlKey","altKey","shiftKey","metaKey","tagName","toLowerCase","which","noScroll","current","querySelector","effectiveWhich","next","results","top","documentElement","scrollTop","bot","clientHeight","length","etop","offsetTop","ebot","nextElementSibling","previousElementSibling","removeAttribute","link","focus","scrollPageToSelected","location","reload","activeElement","blur","closeDetail","pageButtonClick","css_selector","button","click","sel","wtop","wheight","offset","scroll","scrollX","wbot","amount","scrollBy","position","nav","scrollTo","newTab","href","initHelpContent","divElement","categories","k","push","sorted","keys","sort","a","b","html","lastCategory","first","cj","innerHTML","helpPanel","className","getElementsByTagName","toggle","selectNext","selectPrevious","event","remove","leaflet_target","dataset","leafletTarget","map_lon","parseFloat","mapLon","map_lat","mapLat","map_zoom","mapZoom","map_boundingbox","JSON","parse","mapBoundingbox","map_geojson","mapGeojson","map_bounds","southWest","L","latLng","northEast","latLngBounds","map","osmMapnikUrl","osmMapnikAttrib","osmMapnik","TileLayer","minZoom","maxZoom","attribution","osmWikimediaUrl","osmWikimediaAttrib","osmWikimedia","setTimeout","fitBounds","setView","addLayer","baseLayers","OSM Mapnik","OSM Wikimedia","control","layers","addTo","geoJson","engine_descriptions","load_engine_descriptions","content","engine_name","description","entries","elements","element","source","translations","image_thumbnail_layout","ImageLayout","watch","btnLabelCollapsed","btnLabelNotCollapsed","targetElement","iframe_load","srctest","imgElement","thumbnailElement","detailElement","imgSrc","loader","imgLoader","Image","align","firstFocus","qinput_id","qinput","placeCursorAtEnd","setSelectionRange","len","value","submitIfQuery","search","submit","createClearButton","cs","updateClearButton","placeCursorAtEndOnce","autocompleter","autocomplete","AutoComplete","Url","EmptyMessage","no_item_found","HttpMethod","HttpHeaders","Content-type","X-Requested-With","MinChars","Delay","CustomEvent","dispatchEvent","search_on_category_select","checked","container_selector","results_selector","img_selector","verticalMargin","horizontalMargin","maxHeight","isAlignDone","_getHeigth","images","width","img","r","naturalWidth","naturalHeight","_setSize","height","imgWidth","imagesLength","resultNode","style","marginLeft","marginTop","marginRight","marginBottom","_alignImgs","imgGroup","isSearching","slice","h","containerElement","containerCompStyles","getComputedStyle","containerPaddingLeft","parseInt","getPropertyValue","containerPaddingRight","containerWidth","clientWidth","Math","min","results_selectorNode","results_length","previous","results_nodes","img_load_error","originalTarget","theme","throttleAlign","once","f","exports","module","define","amd","g","global","self","n","t","o","c","require","u","code","p","1","ConditionOperator","EventType","params","Array","isArray","forEach","input","specificParams","merge","defaults","DOMResults","create","Input","nodeName","match","_Position","$Listeners","_Blur","destroy","_Focus","keyup","KEYUP","keydown","KEYDOWN","getEventsByType","type","mappings","KeyboardMappings","Event","eventIdentifier","condition","mapping","Operator","AND","OR","Not","Is","From","To","name","Conditions","Callback","makeRequest","callbackErr","propertyHttpHeaders","getOwnPropertyNames","request","_HttpMethod","_Url","queryParams","_Pre","queryParamsStringify","encodeURIComponent","_QueryArg","indexOf","setRequestHeader","onreadystatechange","$Cache","ajax","timeout","$AjaxTimer","clearTimeout","Request","abort","cache","_Cache","removeEventListener","removeChild","tmp","arguments","Highlight","getRegex","RegExp","transform","Limit","QueryArg","Enter","liActive","_Select","KeyUpAndDown_down","KeyUpAndDown_up","last","active","currentIndex","children","lisCount","item","AlphaNum","oldValue","currentValue","_MinChars","_Render","_Post","_Open","_Error","_Close","_EmptyMessage","emptyMessage","_Limit","limit","isNaN","minchars","_Highlight","label","now","li","onclick","offsetHeight","offsetLeft","ul","_RenderRaw","_RenderResponseItems","hasChildNodes","childNodes","reverse","abs","Label","Value","returnResponse","json"],"mappings":"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"}
\ No newline at end of file |