diff options
author | Alexandre Flament <alex@al-f.net> | 2021-03-22 12:00:48 +0100 |
---|---|---|
committer | Alexandre Flament <alex@al-f.net> | 2021-04-05 11:29:17 +0200 |
commit | 7a0fbdecc484284296574a2c2ba9afda01212723 (patch) | |
tree | 9ec359ced984cc18be60978458519e84feb7e8fa /searx/static/themes/oscar/js | |
parent | ba90c5a2e0629b0a04a090f11781782d15ca5dbe (diff) | |
download | searxng-7a0fbdecc484284296574a2c2ba9afda01212723.tar.gz searxng-7a0fbdecc484284296574a2c2ba9afda01212723.zip |
[enh] oscar: image thumbnail layout
Adjust thumbnail sizes to fill the container width
Diffstat (limited to 'searx/static/themes/oscar/js')
-rw-r--r-- | searx/static/themes/oscar/js/searx.js | 172 | ||||
-rw-r--r-- | searx/static/themes/oscar/js/searx.min.js | 4 | ||||
-rw-r--r-- | searx/static/themes/oscar/js/searx.min.js.map | 2 |
3 files changed, 175 insertions, 3 deletions
diff --git a/searx/static/themes/oscar/js/searx.js b/searx/static/themes/oscar/js/searx.js index 163009481..c377e4534 100644 --- a/searx/static/themes/oscar/js/searx.js +++ b/searx/static/themes/oscar/js/searx.js @@ -17,6 +17,9 @@ window.searx = (function(d) { 'use strict'; + // + d.getElementsByTagName("html")[0].className = "js"; + // add data- properties var script = d.currentScript || (function() { var scripts = d.getElementsByTagName('script'); @@ -199,6 +202,12 @@ $(document).ready(function(){ tabs.children().attr("aria-selected", "false"); $(a.target).parent().attr("aria-selected", "true"); }); + + /** + * Layout images according to their sizes + */ + searx.image_thumbnail_layout = new searx.ImageLayout('#main_results', '#main_results .result-images', 'img.img-thumbnail', 15, 200); + searx.image_thumbnail_layout.watch(); }); ;window.addEventListener('load', function() { // Hide infobox toggle if shrunk size already fits all content. @@ -383,3 +392,166 @@ $(document).ready(function(){ }); }); +;/** +* +* Google Image Layout v0.0.1 +* Description, by Anh Trinh. +* Heavily modified for searx +* https://ptgamr.github.io/2014-09-12-google-image-layout/ +* https://ptgamr.github.io/google-image-layout/src/google-image-layout.js +* +* @license Free to use under the MIT License. +* +*/ + +(function (w, d) { + function ImageLayout(container_selector, results_selector, img_selector, margin, maxHeight) { + this.container_selector = container_selector; + this.results_selector = results_selector; + this.img_selector = img_selector; + this.margin = margin; + this.maxHeight = maxHeight; + this.isAlignDone = true; + } + + /** + * Get the height that make all images fit the container + * + * width = w1 + w2 + w3 + ... = r1*h + r2*h + r3*h + ... + * + * @param {[type]} images the images to be calculated + * @param {[type]} width the container witdth + * @param {[type]} margin the margin between each image + * + * @return {[type]} the height + */ + ImageLayout.prototype._getHeigth = function (images, width) { + var i, img; + var r = 0; + + for (i = 0; i < images.length; i++) { + img = images[i]; + if ((img.naturalWidth > 0) && (img.naturalHeight > 0)) { + r += img.naturalWidth / img.naturalHeight; + } else { + // assume that not loaded images are square + r += 1; + } + } + + return (width - images.length * this.margin) / r; //have to round down because Firefox will automatically roundup value with number of decimals > 3 + }; + + ImageLayout.prototype._setSize = function (images, height) { + var i, img, imgWidth; + var imagesLength = images.length, resultNode; + + for (i = 0; i < imagesLength; i++) { + img = images[i]; + if ((img.naturalWidth > 0) && (img.naturalHeight > 0)) { + imgWidth = height * img.naturalWidth / img.naturalHeight; + } else { + // not loaded image : make it square as _getHeigth said it + imgWidth = height; + } + img.style.width = imgWidth + 'px'; + img.style.height = height + 'px'; + img.style.marginLeft = '3px'; + img.style.marginTop = '3px'; + img.style.marginRight = this.margin - 7 + 'px'; // -4 is the negative margin of the inline element + img.style.marginBottom = this.margin - 7 + 'px'; + resultNode = img.parentNode.parentNode; + if (!resultNode.classList.contains('js')) { + resultNode.classList.add('js'); + } + } + }; + + ImageLayout.prototype._alignImgs = function (imgGroup) { + var isSearching, slice, i, h; + var containerElement = d.querySelector(this.container_selector); + var containerCompStyles = window.getComputedStyle(containerElement); + var containerPaddingLeft = parseInt(containerCompStyles.getPropertyValue('padding-left'), 10); + var containerPaddingRight = parseInt(containerCompStyles.getPropertyValue('padding-right'), 10); + var containerWidth = containerElement.clientWidth - containerPaddingLeft - containerPaddingRight; + + while (imgGroup.length > 0) { + isSearching = true; + for (i = 1; i <= imgGroup.length && isSearching; i++) { + slice = imgGroup.slice(0, i); + h = this._getHeigth(slice, containerWidth); + if (h < this.maxHeight) { + this._setSize(slice, h); + // continue with the remaining images + imgGroup = imgGroup.slice(i); + isSearching = false; + } + } + if (isSearching) { + this._setSize(slice, Math.min(this.maxHeight, h)); + break; + } + } + }; + + ImageLayout.prototype.align = function () { + var i; + var results_selectorNode = d.querySelectorAll(this.results_selector); + var results_length = results_selectorNode.length; + var previous = null; + var current = null; + var imgGroup = []; + + for (i = 0; i < results_length; i++) { + current = results_selectorNode[i]; + if (current.previousElementSibling !== previous && imgGroup.length > 0) { + // the current image is not connected to previous one + // so the current image is the start of a new group of images. + // so call _alignImgs to align the current group + this._alignImgs(imgGroup); + // and start a new empty group of images + imgGroup = []; + } + // add the current image to the group (only the img tag) + imgGroup.push(current.querySelector(this.img_selector)); + // update the previous variable + previous = current; + } + // align the remaining images + if (imgGroup.length > 0) { + this._alignImgs(imgGroup); + } + }; + + ImageLayout.prototype.watch = function () { + var i, img; + var obj = this; + var results_nodes = d.querySelectorAll(this.results_selector); + var results_length = results_nodes.length; + + function throttleAlign() { + if (obj.isAlignDone) { + obj.isAlignDone = false; + setTimeout(function () { + obj.align(); + obj.isAlignDone = true; + }, 100); + } + } + + w.addEventListener('pageshow', throttleAlign); + w.addEventListener('load', throttleAlign); + 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); + img.addEventListener('error', throttleAlign); + } + } + }; + + w.searx.ImageLayout = ImageLayout; + +}(window, document)); diff --git a/searx/static/themes/oscar/js/searx.min.js b/searx/static/themes/oscar/js/searx.min.js index b3317e0c5..8b17d4f61 100644 --- a/searx/static/themes/oscar/js/searx.min.js +++ b/searx/static/themes/oscar/js/searx.min.js @@ -1,4 +1,4 @@ -/*! oscar/searx.min.js | 22-03-2021 | */ +/*! oscar/searx.min.js | 05-04-2021 | */ -window.searx=function(t){"use strict";var a,a=t.currentScript||(a=t.getElementsByTagName("script"))[a.length-1];return{autocompleter:"true"===a.getAttribute("data-autocompleter"),method:a.getAttribute("data-method"),translations:JSON.parse(a.getAttribute("data-translations"))}}(document),$(document).ready(function(){var t,e="";searx.autocompleter&&((t=new Bloodhound({datumTokenizer:Bloodhound.tokenizers.obj.whitespace("value"),queryTokenizer:Bloodhound.tokenizers.whitespace,remote:{url:"./autocompleter?q=%QUERY",wildcard:"%QUERY"}})).initialize(),$("#q").on("keydown",function(t){13==t.which&&(e=$("#q").val())}),$("#q").typeahead({name:"search-results",highlight:!1,hint:!0,displayKey:function(t){return t},classNames:{input:"tt-input",hint:"tt-hint",menu:"tt-dropdown-menu",dataset:"tt-dataset-search-results"}},{name:"autocomplete",source:t}),$("#q").bind("typeahead:select",function(t,a){e&&$("#q").val(e),$("#search_form").submit()}))}),$(document).ready(function(){$("#q.autofocus").focus(),$("#clear_search").click(function(){document.getElementById("q").value=""}),$(".select-all-on-click").click(function(){$(this).select()}),$(".btn-collapse").click(function(){var t=$(this).data("btn-text-collapsed"),a=$(this).data("btn-text-not-collapsed");""!==t&&""!==a&&(new_html=$(this).hasClass("collapsed")?$(this).html().replace(t,a):$(this).html().replace(a,t),$(this).html(new_html))}),$(".btn-toggle .btn").click(function(){var t="btn-"+$(this).data("btn-class"),a=$(this).data("btn-label-default"),e=$(this).data("btn-label-toggled");""!==e&&(new_html=$(this).hasClass("btn-default")?$(this).html().replace(a,e):$(this).html().replace(e,a),$(this).html(new_html)),$(this).toggleClass(t),$(this).toggleClass("btn-default")}),$(".media-loader").click(function(){var t=$(this).data("target"),a=$(t+" > iframe"),t=a.attr("src");void 0!==t&&!1!==t||a.attr("src",a.data("src"))}),$(".btn-sm").dblclick(function(){var t="btn-"+$(this).data("btn-class");$(this).hasClass("btn-default")?($(".btn-sm > input").attr("checked","checked"),$(".btn-sm > input").prop("checked",!0),$(".btn-sm").addClass(t),$(".btn-sm").addClass("active"),$(".btn-sm").removeClass("btn-default")):($(".btn-sm > input").attr("checked",""),$(".btn-sm > input").removeAttr("checked"),$(".btn-sm > input").checked=!1,$(".btn-sm").removeClass(t),$(".btn-sm").removeClass("active"),$(".btn-sm").addClass("btn-default"))}),$(".nav-tabs").click(function(t){$(t.target).parents("ul").children().attr("aria-selected","false"),$(t.target).parent().attr("aria-selected","true")})}),window.addEventListener("load",function(){$(".infobox").each(function(){var t=$(this).find(".infobox_body");t.prop("scrollHeight")+t.find("img.infobox_part").height()<=t.css("max-height").replace("px","")&&$(this).find(".infobox_toggle").hide()})}),$(document).ready(function(){$(".searx_overpass_request").on("click",function(t){var a="https://overpass-api.de/api/interpreter?data=[out:json][timeout:25];(",e=");out meta;",s=$(this).data("osm-id"),n=$(this).data("osm-type"),i=$(this).data("result-table"),o="#"+$(this).data("result-table-loadicon"),r=["addr:city","addr:country","addr:housenumber","addr:postcode","addr:street"];if(s&&n&&i){var i="#"+i,l=null;switch(n){case"node":l=a+"node("+s+");"+e;break;case"way":l=a+"way("+s+");"+e;break;case"relation":l=a+"relation("+s+");"+e}l&&$.ajax(l).done(function(t){if(t&&t.elements&&t.elements[0]){var a,e=t.elements[0],s=$(i).html();for(a in e.tags)if(null===e.tags.name||-1==r.indexOf(a)){switch(s+="<tr><td>"+a+"</td><td>",a){case"phone":case"fax":s+='<a href="tel:'+e.tags[a].replace(/ /g,"")+'">'+e.tags[a]+"</a>";break;case"email":s+='<a href="mailto:'+e.tags[a]+'">'+e.tags[a]+"</a>";break;case"website":case"url":s+='<a href="'+e.tags[a]+'">'+e.tags[a]+"</a>";break;case"wikidata":s+='<a href="https://www.wikidata.org/wiki/'+e.tags[a]+'">'+e.tags[a]+"</a>";break;case"wikipedia":if(-1!=e.tags[a].indexOf(":")){s+='<a href="https://'+e.tags[a].substring(0,e.tags[a].indexOf(":"))+".wikipedia.org/wiki/"+e.tags[a].substring(e.tags[a].indexOf(":")+1)+'">'+e.tags[a]+"</a>";break}default:s+=e.tags[a]}s+="</td></tr>"}$(i).html(s),$(i).removeClass("hidden"),$(o).addClass("hidden")}}).fail(function(){$(o).html($(o).html()+'<p class="text-muted">'+searx.translations.could_not_load+"</p>")})}$(this).off(t)}),$(".searx_init_map").on("click",function(t){var a=$(this).data("leaflet-target"),e=$(this).data("map-lon"),s=$(this).data("map-lat"),n=$(this).data("map-zoom"),i=$(this).data("map-boundingbox"),o=$(this).data("map-geojson");i&&(southWest=L.latLng(i[0],i[2]),northEast=L.latLng(i[1],i[3]),map_bounds=L.latLngBounds(southWest,northEast)),L.Icon.Default.imagePath="./static/themes/oscar/css/images/";var r=L.map(a),a=new L.TileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{minZoom:1,maxZoom:19,attribution:'Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'});new L.TileLayer("https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",{minZoom:1,maxZoom:19,attribution:'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'});setTimeout(function(){map_bounds?r.fitBounds(map_bounds,{maxZoom:17}):e&&s&&(n?r.setView(new L.LatLng(s,e),n):r.setView(new L.LatLng(s,e),8))},0),r.addLayer(a),L.control.layers({"OSM Mapnik":a}).addTo(r),o&&L.geoJson(o).addTo(r),$(this).off(t)})}),$(document).ready(function(){$("#allow-all-engines").click(function(){$(".onoffswitch-checkbox").each(function(){this.checked=!1})}),$("#disable-all-engines").click(function(){$(".onoffswitch-checkbox").each(function(){this.checked=!0})})}); +window.searx=function(t){"use strict";t.getElementsByTagName("html")[0].className="js";var e,e=t.currentScript||(e=t.getElementsByTagName("script"))[e.length-1];return{autocompleter:"true"===e.getAttribute("data-autocompleter"),method:e.getAttribute("data-method"),translations:JSON.parse(e.getAttribute("data-translations"))}}(document),$(document).ready(function(){var t,a="";searx.autocompleter&&((t=new Bloodhound({datumTokenizer:Bloodhound.tokenizers.obj.whitespace("value"),queryTokenizer:Bloodhound.tokenizers.whitespace,remote:{url:"./autocompleter?q=%QUERY",wildcard:"%QUERY"}})).initialize(),$("#q").on("keydown",function(t){13==t.which&&(a=$("#q").val())}),$("#q").typeahead({name:"search-results",highlight:!1,hint:!0,displayKey:function(t){return t},classNames:{input:"tt-input",hint:"tt-hint",menu:"tt-dropdown-menu",dataset:"tt-dataset-search-results"}},{name:"autocomplete",source:t}),$("#q").bind("typeahead:select",function(t,e){a&&$("#q").val(a),$("#search_form").submit()}))}),$(document).ready(function(){$("#q.autofocus").focus(),$("#clear_search").click(function(){document.getElementById("q").value=""}),$(".select-all-on-click").click(function(){$(this).select()}),$(".btn-collapse").click(function(){var t=$(this).data("btn-text-collapsed"),e=$(this).data("btn-text-not-collapsed");""!==t&&""!==e&&(new_html=$(this).hasClass("collapsed")?$(this).html().replace(t,e):$(this).html().replace(e,t),$(this).html(new_html))}),$(".btn-toggle .btn").click(function(){var t="btn-"+$(this).data("btn-class"),e=$(this).data("btn-label-default"),a=$(this).data("btn-label-toggled");""!==a&&(new_html=$(this).hasClass("btn-default")?$(this).html().replace(e,a):$(this).html().replace(a,e),$(this).html(new_html)),$(this).toggleClass(t),$(this).toggleClass("btn-default")}),$(".media-loader").click(function(){var t=$(this).data("target"),e=$(t+" > iframe"),t=e.attr("src");void 0!==t&&!1!==t||e.attr("src",e.data("src"))}),$(".btn-sm").dblclick(function(){var t="btn-"+$(this).data("btn-class");$(this).hasClass("btn-default")?($(".btn-sm > input").attr("checked","checked"),$(".btn-sm > input").prop("checked",!0),$(".btn-sm").addClass(t),$(".btn-sm").addClass("active"),$(".btn-sm").removeClass("btn-default")):($(".btn-sm > input").attr("checked",""),$(".btn-sm > input").removeAttr("checked"),$(".btn-sm > input").checked=!1,$(".btn-sm").removeClass(t),$(".btn-sm").removeClass("active"),$(".btn-sm").addClass("btn-default"))}),$(".nav-tabs").click(function(t){$(t.target).parents("ul").children().attr("aria-selected","false"),$(t.target).parent().attr("aria-selected","true")}),searx.image_thumbnail_layout=new searx.ImageLayout("#main_results","#main_results .result-images","img.img-thumbnail",15,200),searx.image_thumbnail_layout.watch()}),window.addEventListener("load",function(){$(".infobox").each(function(){var t=$(this).find(".infobox_body");t.prop("scrollHeight")+t.find("img.infobox_part").height()<=t.css("max-height").replace("px","")&&$(this).find(".infobox_toggle").hide()})}),$(document).ready(function(){$(".searx_overpass_request").on("click",function(t){var e="https://overpass-api.de/api/interpreter?data=[out:json][timeout:25];(",a=");out meta;",s=$(this).data("osm-id"),i=$(this).data("osm-type"),n=$(this).data("result-table"),o="#"+$(this).data("result-table-loadicon"),r=["addr:city","addr:country","addr:housenumber","addr:postcode","addr:street"];if(s&&i&&n){var n="#"+n,l=null;switch(i){case"node":l=e+"node("+s+");"+a;break;case"way":l=e+"way("+s+");"+a;break;case"relation":l=e+"relation("+s+");"+a}l&&$.ajax(l).done(function(t){if(t&&t.elements&&t.elements[0]){var e,a=t.elements[0],s=$(n).html();for(e in a.tags)if(null===a.tags.name||-1==r.indexOf(e)){switch(s+="<tr><td>"+e+"</td><td>",e){case"phone":case"fax":s+='<a href="tel:'+a.tags[e].replace(/ /g,"")+'">'+a.tags[e]+"</a>";break;case"email":s+='<a href="mailto:'+a.tags[e]+'">'+a.tags[e]+"</a>";break;case"website":case"url":s+='<a href="'+a.tags[e]+'">'+a.tags[e]+"</a>";break;case"wikidata":s+='<a href="https://www.wikidata.org/wiki/'+a.tags[e]+'">'+a.tags[e]+"</a>";break;case"wikipedia":if(-1!=a.tags[e].indexOf(":")){s+='<a href="https://'+a.tags[e].substring(0,a.tags[e].indexOf(":"))+".wikipedia.org/wiki/"+a.tags[e].substring(a.tags[e].indexOf(":")+1)+'">'+a.tags[e]+"</a>";break}default:s+=a.tags[e]}s+="</td></tr>"}$(n).html(s),$(n).removeClass("hidden"),$(o).addClass("hidden")}}).fail(function(){$(o).html($(o).html()+'<p class="text-muted">'+searx.translations.could_not_load+"</p>")})}$(this).off(t)}),$(".searx_init_map").on("click",function(t){var e=$(this).data("leaflet-target"),a=$(this).data("map-lon"),s=$(this).data("map-lat"),i=$(this).data("map-zoom"),n=$(this).data("map-boundingbox"),o=$(this).data("map-geojson");n&&(southWest=L.latLng(n[0],n[2]),northEast=L.latLng(n[1],n[3]),map_bounds=L.latLngBounds(southWest,northEast)),L.Icon.Default.imagePath="./static/themes/oscar/css/images/";var r=L.map(e),e=new L.TileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{minZoom:1,maxZoom:19,attribution:'Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'});new L.TileLayer("https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png",{minZoom:1,maxZoom:19,attribution:'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'});setTimeout(function(){map_bounds?r.fitBounds(map_bounds,{maxZoom:17}):a&&s&&(i?r.setView(new L.LatLng(s,a),i):r.setView(new L.LatLng(s,a),8))},0),r.addLayer(e),L.control.layers({"OSM Mapnik":e}).addTo(r),o&&L.geoJson(o).addTo(r),$(this).off(t)})}),$(document).ready(function(){$("#allow-all-engines").click(function(){$(".onoffswitch-checkbox").each(function(){this.checked=!1})}),$("#disable-all-engines").click(function(){$(".onoffswitch-checkbox").each(function(){this.checked=!0})})}),function(o,c){function t(t,e,a,s,i){this.container_selector=t,this.results_selector=e,this.img_selector=a,this.margin=s,this.maxHeight=i,this.isAlignDone=!0}t.prototype._getHeigth=function(t,e){for(var a,s=0,i=0;i<t.length;i++)0<(a=t[i]).naturalWidth&&0<a.naturalHeight?s+=a.naturalWidth/a.naturalHeight:s+=1;return(e-t.length*this.margin)/s},t.prototype._setSize=function(t,e){for(var a,s,i=t.length,n=0;n<i;n++)a=0<(s=t[n]).naturalWidth&&0<s.naturalHeight?e*s.naturalWidth/s.naturalHeight:e,s.style.width=a+"px",s.style.height=e+"px",s.style.marginLeft="3px",s.style.marginTop="3px",s.style.marginRight=this.margin-7+"px",s.style.marginBottom=this.margin-7+"px",(s=s.parentNode.parentNode).classList.contains("js")||s.classList.add("js")},t.prototype._alignImgs=function(t){for(var e,a,s,i,n=c.querySelector(this.container_selector),o=window.getComputedStyle(n),r=parseInt(o.getPropertyValue("padding-left"),10),o=parseInt(o.getPropertyValue("padding-right"),10),l=n.clientWidth-r-o;0<t.length;){for(e=!0,s=1;s<=t.length&&e;s++)a=t.slice(0,s),(i=this._getHeigth(a,l))<this.maxHeight&&(this._setSize(a,i),t=t.slice(s),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,s=null,i=[],n=0;n<e;n++)(s=t[n]).previousElementSibling!==a&&0<i.length&&(this._alignImgs(i),i=[]),i.push(s.querySelector(this.img_selector)),a=s;0<i.length&&this._alignImgs(i)},t.prototype.watch=function(){var t,e,a=this,s=c.querySelectorAll(this.results_selector),i=s.length;function n(){a.isAlignDone&&(a.isAlignDone=!1,setTimeout(function(){a.align(),a.isAlignDone=!0},100))}for(o.addEventListener("pageshow",n),o.addEventListener("load",n),o.addEventListener("resize",n),t=0;t<i;t++)null!=(e=s[t].querySelector(this.img_selector))&&(e.addEventListener("load",n),e.addEventListener("error",n))},o.searx.ImageLayout=t}(window,document); //# sourceMappingURL=searx.min.js.map
\ No newline at end of file diff --git a/searx/static/themes/oscar/js/searx.min.js.map b/searx/static/themes/oscar/js/searx.min.js.map index 13e949a74..506dde42f 100644 --- a/searx/static/themes/oscar/js/searx.min.js.map +++ b/searx/static/themes/oscar/js/searx.min.js.map @@ -1 +1 @@ -{"version":3,"file":"searx.min.js","sources":["searx.js"],"names":["window","searx","d","scripts","script","currentScript","getElementsByTagName","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","addEventListener","each","infobox_body","find","height","css","hide","event","query_start","overpass_url","query_end","osm_id","osm_type","result_table","result_table_loadicon","osm_ignore_tags","query","ajax","done","elements","row","element","newHtml","tags","indexOf","substring","fail","could_not_load","off","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"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"searx.min.js","sources":["searx.js"],"names":["window","searx","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","query_start","overpass_url","query_end","osm_id","osm_type","result_table","result_table_loadicon","osm_ignore_tags","query","ajax","done","elements","row","element","newHtml","tags","indexOf","substring","fail","could_not_load","off","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","w","container_selector","results_selector","img_selector","margin","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","querySelector","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 |