{"version":3,"file":"../../lizmap/www/assets/js/search.js","mappings":"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","sources":["webpack://assets/./src/legacy/search.js"],"sourcesContent":["var lizSearch = function() {\n\n // Attributes\n var config = null;\n var map = null;\n\n /**\n *\n */\n function startExternalSearch() {\n if($('#search-query').val().length != 0){\n $('#lizmap-search .items li > a').unbind('click');\n $('#lizmap-search .items').html( '
  • ' );\n $('#lizmap-search, #lizmap-search-close').addClass('open');\n }else{\n lizMap.addMessage(lizDict['externalsearch.noquery'], 'info', true).attr('id','lizmap-search-message');\n }\n }\n\n /**\n *\n * @param aHTML\n */\n function updateExternalSearch( aHTML ) {\n if($('#search-query').val().length != 0){\n var wgs84 = new OpenLayers.Projection('EPSG:4326');\n\n $('#lizmap-search .items li > a').unbind('click');\n if ( $('#lizmap-search .items li.start').length != 0 ){\n $('#lizmap-search .items').html( aHTML );\n }\n else{\n $('#lizmap-search .items').append( aHTML );\n }\n $('#lizmap-search, #lizmap-search-close').addClass('open');\n $('#lizmap-search .items li > a').click(function() {\n var bbox = $(this).attr('href').replace('#','');\n var bbox = OpenLayers.Bounds.fromString(bbox);\n bbox.transform(wgs84, map.getProjectionObject());\n map.zoomToExtent(bbox);\n\n var feat = new OpenLayers.Feature.Vector(bbox.toGeometry().getCentroid());\n var data = $(this).attr('data');\n if ( data ) {\n var geom = OpenLayers.Geometry.fromWKT(data);\n geom.transform(wgs84, map.getProjectionObject());\n feat = new OpenLayers.Feature.Vector(geom);\n }\n\n var locateLayer = map.getLayersByName('locatelayer');\n if (locateLayer.length != 0) {\n locateLayer = locateLayer[0];\n locateLayer.destroyFeatures();\n locateLayer.setVisibility(true);\n locateLayer.addFeatures([feat]);\n }\n\n $('#lizmap-search, #lizmap-search-close').removeClass('open');\n // trigger event containing selected feature\n lizMap.events.triggerEvent('lizmapexternalsearchitemselected',\n {\n 'feature': feat\n }\n );\n return false;\n });\n $('#lizmap-search-close button').click(function() {\n $('#lizmap-search, #lizmap-search-close').removeClass('open');\n return false;\n });\n }\n }\n\n /**\n *\n */\n function getHighlightRegEx() {\n // Format answers to highlight searched keywords\n var sqval = $('#search-query').val();\n var sqvals = sqval.split(' ');\n var sqvalsn = [];\n var sqrex = '(';\n for(var i in sqvals){\n var sqi = sqvals[i].trim();\n if( sqi == '' ){\n continue;\n }\n sqvalsn.push(sqi);\n if(sqi != lizMap.cleanName(sqi)){\n sqvalsn.push(lizMap.cleanName(sqi));\n }\n }\n sqrex+= sqvalsn.join('|');\n sqrex+= ')';\n return new RegExp(sqrex, \"ig\");\n }\n\n /**\n * PRIVATE function: addExternalSearch\n * add external search capability\n *\n * Returns:\n * {Boolean} external search is in the user interface\n * @param searchConfig\n */\n function addSearch( searchConfig ) {\n if ( searchConfig.type == 'externalSearch' ){\n return false;\n }\n if ( !'url' in searchConfig ){\n return false;\n }\n\n // define max extent for searches\n var wgs84 = new OpenLayers.Projection('EPSG:4326');\n var extent = new OpenLayers.Bounds( map.maxExtent.toArray() );\n extent.transform(map.getProjection(), wgs84);\n\n $('#nominatim-search').submit(function(){\n startExternalSearch();\n\n // Format answers to highlight searched keywords\n var labrex = getHighlightRegEx();\n $.get(searchConfig.url\n ,{\n \"repository\": lizUrls.params.repository,\n \"project\": lizUrls.params.project,\n \"query\":$('#search-query').val(),\n \"bbox\":extent.toBBOX()\n }\n ,function(results) {\n var text = '';\n var count = 0;\n\n // Loop through results\n for ( var ftsId in results ) {\n var ftsLayerResult = results[ftsId];\n text += '
  • '+ftsLayerResult.search_name+'';\n text += '
  • ';\n }\n\n if (count != 0 && text != ''){\n updateExternalSearch( text );\n }\n else{\n updateExternalSearch( '
  • '+lizDict['externalsearch.mapdata']+'
  • ' );\n }\n }, 'json');\n return false;\n });\n\n return true;\n }\n\n /**\n * PRIVATE function: addExternalSearch\n * add external search capability\n *\n * Returns:\n * {Boolean} external search is in the user interface\n * @param searchConfig\n */\n function addExternalSearch( searchConfig ) {\n if ( searchConfig.type != 'externalSearch' ){\n return false;\n }\n\n // define max extent for searches\n var wgs84 = new OpenLayers.Projection('EPSG:4326');\n var extent = new OpenLayers.Bounds( map.maxExtent.toArray() );\n extent.transform(map.getProjection(), wgs84);\n\n // define external search service\n var service = null;\n switch (searchConfig.service) {\n case 'nominatim':\n if ( 'url' in searchConfig ){\n service = OpenLayers.Util.urlAppend(searchConfig.url\n ,new URLSearchParams(lizUrls.params)\n );\n }\n break;\n case 'ign':\n service = 'https://data.geopf.fr/geocodage/completion/';\n break;\n case 'google':\n if ( google && 'maps' in google && 'Geocoder' in google.maps ){\n service = new google.maps.Geocoder();\n }\n break;\n }\n\n if ( service == null ){\n return false;\n }\n\n $('#nominatim-search').submit(function(){\n startExternalSearch();\n\n // Format answers to highlight searched keywords\n var labrex = getHighlightRegEx();\n switch (searchConfig.service) {\n case 'nominatim':\n $.get(service\n ,{\"query\":$('#search-query').val(),\"bbox\":extent.toBBOX()}\n ,function(data) {\n var text = '';\n var count = 0;\n $.each(data, function(i, e){\n if (count > 9){\n return false;\n }\n if ( !e.boundingbox ){\n return true;\n }\n\n var bbox = [\n e.boundingbox[2],\n e.boundingbox[0],\n e.boundingbox[3],\n e.boundingbox[1]\n ];\n bbox = new OpenLayers.Bounds(bbox);\n if ( extent.intersectsBounds(bbox) ) {\n var lab = e.display_name.replace(labrex,'$1');\n text += '
  • '+lab+'
  • ';\n count++;\n }\n });\n if (count == 0 || text == ''){\n text = '
  • '+lizDict['externalsearch.notfound']+'
  • ';\n }\n updateExternalSearch( '
  • OpenStreetMap
  • ' );\n }, 'json');\n break;\n case 'ign':\n const queryParam = '?text='+$('#search-query').val()+'&type=StreetAddress&maximumResponses=10&bbox=' + extent.toBBOX();\n $.getJSON(encodeURI(service+queryParam), function(data ) {\n let text = '';\n let count = 0;\n for( const result of data.results) {\n var lab = result.fulltext.replace(labrex,'$1');\n text += '
  • '+lab+'
  • ';\n count++;\n }\n if (count == 0 || text == ''){\n text = '
  • '+lizDict['externalsearch.notfound']+'
  • ';\n }\n updateExternalSearch( '
  • IGN
  • ' );\n });\n break;\n case 'google':\n service.geocode( {\n 'address': $('#search-query').val(),\n 'bounds': new google.maps.LatLngBounds(\n new google.maps.LatLng(extent.top,extent.left),\n new google.maps.LatLng(extent.bottom,extent.right)\n )\n }, function(results, status) {\n if (status == google.maps.GeocoderStatus.OK) {\n var text = '';\n var count = 0;\n $.each(results, function(i, e){\n if (count > 9){\n return false;\n }\n var bbox = [];\n if (e.geometry.viewport) {\n bbox = [\n e.geometry.viewport.getSouthWest().lng(),\n e.geometry.viewport.getSouthWest().lat(),\n e.geometry.viewport.getNorthEast().lng(),\n e.geometry.viewport.getNorthEast().lat()\n ];\n } else if (e.geometry.bounds) {\n bbox = [\n e.geometry.bounds.getSouthWest().lng(),\n e.geometry.bounds.getSouthWest().lat(),\n e.geometry.bounds.getNorthEast().lng(),\n e.geometry.bounds.getNorthEast().lat()\n ];\n }\n if ( bbox.length != 4 ){\n return false;\n }\n bbox = new OpenLayers.Bounds(bbox);\n if ( extent.intersectsBounds(bbox) ) {\n var lab = e.formatted_address.replace(labrex,'$1');\n text += '
  • '+lab+'
  • ';\n count++;\n }\n });\n if (count == 0 || text == ''){\n text = '
  • '+lizDict['externalsearch.notfound']+'
  • ';\n }\n updateExternalSearch( '
  • Google
  • ' );\n } else\n updateExternalSearch( '
  • Google
  • ' );\n });\n break;\n }\n return false;\n });\n\n return true;\n }\n\n /**\n * PRIVATE function: addSearches\n * add searches capability\n *\n * Returns:\n * {Boolean} searches added to the user interface\n */\n function addSearches() {\n var configOptions = config.options;\n if ( !( 'searches' in configOptions ) || ( configOptions.searches.length == 0 ) ){\n return;\n }\n\n var searchOptions = config.options.searches;\n var searchAdded = false;\n for( var i=0, len=searchOptions.length; i 0 ) ){\n addSearches();\n }\n else {\n $('#nominatim-search').remove();\n $('#lizmap-search, #lizmap-search-close').remove();\n }\n }\n });\n}();\n"],"names":["config","map","startExternalSearch","$","val","length","unbind","html","lizDict","addClass","lizMap","addMessage","attr","updateExternalSearch","aHTML","wgs84","OpenLayers","Projection","append","click","bbox","this","replace","Bounds","fromString","transform","getProjectionObject","zoomToExtent","feat","Feature","Vector","toGeometry","getCentroid","data","geom","Geometry","fromWKT","locateLayer","getLayersByName","destroyFeatures","setVisibility","addFeatures","removeClass","events","triggerEvent","getHighlightRegEx","sqvals","split","sqvalsn","sqrex","i","sqi","trim","push","cleanName","join","RegExp","addSearch","searchConfig","type","extent","maxExtent","toArray","getProjection","submit","labrex","get","url","lizUrls","params","repository","project","toBBOX","results","text","count","ftsId","ftsLayerResult","search_name","len","features","ftsFeat","ftsGeometry","geometry","srid","getBounds","intersectsBounds","lab","label","toString","addExternalSearch","service","Util","urlAppend","URLSearchParams","google","maps","Geocoder","each","e","boundingbox","display_name","queryParam","getJSON","encodeURI","result","fulltext","x","y","geocode","LatLngBounds","LatLng","top","left","bottom","right","status","GeocoderStatus","OK","viewport","getSouthWest","lng","lat","getNorthEast","bounds","formatted_address","on","evt","configOptions","options","searches","searchOptions","searchAdded","searchAddedResult","searchOption","remove","addSearches"],"sourceRoot":""}