]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/search.js
Don't autofocus search, fade out "Where am I?" on focus
[rails.git] / app / assets / javascripts / index / search.js
index 486c9b36bbc521f3551635c34a755141365bd235..c546469db941a258ee72694481872f546d30b028 100644 (file)
@@ -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,17 +23,15 @@ 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();
@@ -58,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
+    });
+  }
 }