]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index.js
Move browse-related JS to browse.js
[rails.git] / app / assets / javascripts / index.js
index 7d47057b89c2ea26cb080ae8f6903782c4dbe67b..85f5dab0dac16bf5e958e4b90a9fe8f5204cbba5 100644 (file)
@@ -1,8 +1,15 @@
+//= require index/browse
+//= require index/export
+//= require index/key
+
 $(document).ready(function () {
   var marker;
   var params = OSM.mapParams();
   var map = createMap("map");
 
+  map.events.register("moveend", map, updateLocation);
+  map.events.register("changelayer", map, updateLocation);
+
   if (!params.object_zoom) {
     if (params.bbox) {
       var bbox = new OpenLayers.Bounds(params.minlon, params.minlat, params.maxlon, params.maxlat);
@@ -10,7 +17,7 @@ $(document).ready(function () {
       map.zoomToExtent(proj(bbox));
 
       if (params.box) {
-        $(window).load(function() { addBoxToMap(bbox) });
+        addBoxToMap(bbox);
       }
     } else {
       setMapCenter(new OpenLayers.LonLat(params.lon, params.lat), params.zoom);
@@ -26,28 +33,11 @@ $(document).ready(function () {
   }
 
   if (params.object) {
-    var url = "/api/" + OSM.API_VERSION + "/" + params.object_type + "/" + params.object_id;
-
-    if (params.object_type != "node") {
-      url += "/full";
-    }
-
-    $(window).load(function() { addObjectToMap(url, params.object_zoom) });
+    addObjectToMap(params.object, params.object_zoom);
   }
 
-  map.events.register("moveend", map, updateLocation);
-  map.events.register("changelayer", map, updateLocation);
-
-  updateLocation();
   handleResize();
 
-  $("#show_data").click(function (e) {
-    $.ajax({ url: $(this).attr('href'), success: function (sidebarHtml) {
-      startBrowse(sidebarHtml);
-    }});
-    e.preventDefault();
-  });
-
   $("body").on("click", "a.set_position", function () {
     var data = $(this).data();
     var centre = new OpenLayers.LonLat(data.lon, data.lat);
@@ -76,7 +66,7 @@ $(document).ready(function () {
     var extents = unproj(map.getExtent());
     var expiry = new Date();
 
-    updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents.left, extents.bottom, extents.right, extents.top, params.object_type, params.object_id);
+    updatelinks(lonlat.lon, lonlat.lat, zoom, layers, extents.left, extents.bottom, extents.right, extents.top, params.object);
 
     expiry.setYear(expiry.getFullYear() + 10);
     $.cookie("_osm_location", [lonlat.lon, lonlat.lat, zoom, layers].join("|"), {expires: expiry});
@@ -111,19 +101,22 @@ $(document).ready(function () {
     map.setCenter(centre, zoom);
   });
 
-  $("#exportanchor").click(function (e) {
-    $.ajax({ url: $(this).data('url'), success: function (sidebarHtml) {
-      startExport(sidebarHtml);
-    }});
-    e.preventDefault();
-  });
+  $("#search_form").submit(function () {
+    var extent = unproj(map.getExtent());
 
-  if (window.location.pathname == "/export") {
-    $("#exportanchor").click();
-  }
+    $("#sidebar_title").html(I18n.t('site.sidebar.search_results'));
+    $("#sidebar_content").load($(this).attr("action"), {
+      query: $("#query").val(),
+      minlon: extent.left,
+      minlat: extent.bottom,
+      maxlon: extent.right,
+      maxlat: extent.top
+    }, openSidebar);
+
+    return false;
+  });
 
-  var query;
-  if (query = getArgs(window.location.toString()).query) {
-    doSearch(query);
+  if ($("#query").val()) {
+    $("#search_form").submit();
   }
 });