X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c6cde2653b8dbcd3345348b33619b2240f1cc905..2b42fd102a55f7af41b8e19dfcb7271abb72ed1d:/app/assets/javascripts/index/search.js?ds=sidebyside diff --git a/app/assets/javascripts/index/search.js b/app/assets/javascripts/index/search.js index 936cc1e0e..c546469db 100644 --- a/app/assets/javascripts/index/search.js +++ b/app/assets/javascripts/index/search.js @@ -1,15 +1,18 @@ function initializeSearch(map) { $("#search_form").submit(submitSearch); + $("#describe_location").click(describeLocation); if ($("#query").val()) { $("#search_form").submit(); } - // Focus the search field for browsers that don't support - // the HTML5 'autofocus' attribute - if (!("autofocus" in document.createElement("input"))) { - $("#query").focus(); - } + $("#query") + .on("focus", function() { + $("#describe_location").fadeOut(100); + }) + .on("blur", function() { + $("#describe_location").fadeIn(100); + }); $("#sidebar_content").on("click", ".search_results_entry a.set_position", clickSearchResult); @@ -20,16 +23,19 @@ function initializeSearch(map) { var bounds = map.getBounds(); - $("#sidebar_title").html(I18n.t('site.sidebar.search_results')); $("#sidebar_content").load($(this).attr("action"), { query: $("#query").val(), + zoom: map.getZoom(), minlon: bounds.getWest(), minlat: bounds.getSouth(), maxlon: bounds.getEast(), maxlat: bounds.getNorth() }); - openSidebar(); + $("#sidebar").one("closed", function () { + map.removeLayer(marker); + map.removeObject(); + }); } function clickSearchResult(e) { @@ -53,4 +59,17 @@ function initializeSearch(map) { map.addObject(data, { zoom: false, style: { opacity: 0.2, fill: false } }); } } + + function describeLocation(e) { + e.preventDefault(); + + var center = map.getCenter(), + zoom = map.getZoom(); + + $("#sidebar_content").load($(this).attr("href"), { + lat: center.lat, + lon: center.lng, + zoom: zoom + }); + } }