diff options
Diffstat (limited to 'searx/static/themes/oscar/js/searx.js')
-rw-r--r-- | searx/static/themes/oscar/js/searx.js | 131 |
1 files changed, 57 insertions, 74 deletions
diff --git a/searx/static/themes/oscar/js/searx.js b/searx/static/themes/oscar/js/searx.js index 8208ce461..159344b28 100644 --- a/searx/static/themes/oscar/js/searx.js +++ b/searx/static/themes/oscar/js/searx.js @@ -12,29 +12,6 @@ * You should have received a copy of the GNU Affero General Public License * along with searx. If not, see < http://www.gnu.org/licenses/ >. * - * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> - */ - -requirejs.config({ - baseUrl: './static/themes/oscar/js', - paths: { - app: '../app' - } -}); -;/** - * searx is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * searx is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with searx. If not, see < http://www.gnu.org/licenses/ >. - * * (C) 2019 by Alexandre Flament */ window.searx = (function(d) { @@ -68,31 +45,42 @@ window.searx = (function(d) { * (C) 2014 by Thomas Pointhuber, <thomas.pointhuber@gmx.at> */ -if(searx.autocompleter) { - searx.searchResults = new Bloodhound({ - datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'), - queryTokenizer: Bloodhound.tokenizers.whitespace, - remote: './autocompleter?q=%QUERY' - }); - searx.searchResults.initialize(); -} - $(document).ready(function(){ var original_search_value = ''; if(searx.autocompleter) { - $("#q").on('keydown', function(e) { + var searchResults = new Bloodhound({ + datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'), + queryTokenizer: Bloodhound.tokenizers.whitespace, + remote: { + url: './autocompleter?q=%QUERY', + wildcard: '%QUERY' + } + }); + searchResults.initialize(); + + $("#q").on('keydown', function(e) { if(e.which == 13) { original_search_value = $('#q').val(); } }); - $('#q').typeahead(null, { + $('#q').typeahead({ name: 'search-results', + highlight: false, + hint: true, displayKey: function(result) { return result; }, - source: searx.searchResults.ttAdapter() + classNames: { + input: 'tt-input', + hint: 'tt-hint', + menu: 'tt-dropdown-menu', + dataset: 'tt-dataset-search-results', + }, + }, { + name: 'autocomplete', + source: searchResults, }); - $('#q').bind('typeahead:selected', function(ev, suggestion) { + $('#q').bind('typeahead:select', function(ev, suggestion) { if(original_search_value) { $('#q').val(original_search_value); } @@ -331,59 +319,54 @@ $(document).ready(function(){ var map_boundingbox = $(this).data('map-boundingbox'); var map_geojson = $(this).data('map-geojson'); - require(['leaflet-0.7.3.min'], function(leaflet) { - if(map_boundingbox) { - southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]); - northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]); - map_bounds = L.latLngBounds(southWest, northEast); - } + if(map_boundingbox) { + southWest = L.latLng(map_boundingbox[0], map_boundingbox[2]); + northEast = L.latLng(map_boundingbox[1], map_boundingbox[3]); + map_bounds = L.latLngBounds(southWest, northEast); + } - // TODO hack - // change default imagePath - L.Icon.Default.imagePath = "./static/themes/oscar/img/map"; + // change default imagePath + L.Icon.Default.imagePath = "./static/themes/oscar/css/images/"; - // init map - var map = L.map(leaflet_target); + // init map + var map = L.map(leaflet_target); - // create the tile layer with correct attribution - var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'; - var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; - var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib}); + // create the tile layer with correct attribution + var osmMapnikUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'; + var osmMapnikAttrib='Map data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; + var osmMapnik = new L.TileLayer(osmMapnikUrl, {minZoom: 1, maxZoom: 19, attribution: osmMapnikAttrib}); - var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png'; - var osmWikimediaAttrib = 'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; - var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib}); + var osmWikimediaUrl='https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png'; + var osmWikimediaAttrib = 'Wikimedia maps beta | Maps data © <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'; + var osmWikimedia = new L.TileLayer(osmWikimediaUrl, {minZoom: 1, maxZoom: 19, attribution: osmWikimediaAttrib}); - // init map view + // init map view + setTimeout(function() { if(map_bounds) { - // TODO hack: https://github.com/Leaflet/Leaflet/issues/2021 - setTimeout(function () { - map.fitBounds(map_bounds, { - maxZoom:17 - }); - }, 0); + map.fitBounds(map_bounds, { + maxZoom:17 + }); } else if (map_lon && map_lat) { if(map_zoom) map.setView(new L.LatLng(map_lat, map_lon),map_zoom); else map.setView(new L.LatLng(map_lat, map_lon),8); - } - - map.addLayer(osmMapnik); + } + }, 0); - var baseLayers = { - "OSM Mapnik": osmMapnik/*, - "OSM Wikimedia": osmWikimedia*/ - }; + map.addLayer(osmMapnik); - L.control.layers(baseLayers).addTo(map); + var baseLayers = { + "OSM Mapnik": osmMapnik/*, + "OSM Wikimedia": osmWikimedia*/ + }; + L.control.layers(baseLayers).addTo(map); - if(map_geojson) - L.geoJson(map_geojson).addTo(map); - /*else if(map_bounds) - L.rectangle(map_bounds, {color: "#ff7800", weight: 3, fill:false}).addTo(map);*/ - }); + if(map_geojson) + L.geoJson(map_geojson).addTo(map); + /*else if(map_bounds) + L.rectangle(map_bounds, {color: "#ff7800", weight: 3, fill:false}).addTo(map);*/ // this event occour only once per element $( this ).off( event ); |