]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/export.js
Ignore clicks on history entries if the mouse has moved
[rails.git] / app / assets / javascripts / index / export.js
index 23c50323647a16313da162971dd4410215ff82b4..1efac1b31baf6ea1f007a4d6b32da847677a918a 100644 (file)
@@ -14,11 +14,9 @@ OSM.Export = function(map) {
 
   function boundsChanged() {
     var bounds = getBounds();
 
   function boundsChanged() {
     var bounds = getBounds();
-
     map.fitBounds(bounds);
     locationFilter.setBounds(bounds);
     map.fitBounds(bounds);
     locationFilter.setBounds(bounds);
-
-    enableFilter();
+    locationFilter.enable();
     validateControls();
   }
 
     validateControls();
   }
 
@@ -29,6 +27,7 @@ OSM.Export = function(map) {
 
     locationFilter.setBounds(map.getBounds().pad(-0.2));
     locationFilter.enable();
 
     locationFilter.setBounds(map.getBounds().pad(-0.2));
     locationFilter.enable();
+    validateControls();
   }
 
   function update() {
   }
 
   function update() {
@@ -37,35 +36,43 @@ OSM.Export = function(map) {
   }
 
   function setBounds(bounds) {
   }
 
   function setBounds(bounds) {
-    var precision = zoomPrecision(map.getZoom());
+    var precision = OSM.zoomPrecision(map.getZoom());
     $("#minlon").val(bounds.getWest().toFixed(precision));
     $("#minlat").val(bounds.getSouth().toFixed(precision));
     $("#maxlon").val(bounds.getEast().toFixed(precision));
     $("#maxlat").val(bounds.getNorth().toFixed(precision));
     $("#minlon").val(bounds.getWest().toFixed(precision));
     $("#minlat").val(bounds.getSouth().toFixed(precision));
     $("#maxlon").val(bounds.getEast().toFixed(precision));
     $("#maxlat").val(bounds.getNorth().toFixed(precision));
+
+    $("#export_overpass").attr("href",
+        "http://overpass-api.de/api/map?bbox=" +
+        $("#minlon").val() + "," + $("#minlat").val() + "," +
+        $("#maxlon").val() + "," + $("#maxlat").val());
   }
 
   function validateControls() {
     $("#export_osm_too_large").toggle(getBounds().getSize() > OSM.MAX_REQUEST_AREA);
   }
 
   function validateControls() {
     $("#export_osm_too_large").toggle(getBounds().getSize() > OSM.MAX_REQUEST_AREA);
+    $("#export_commit").toggle(getBounds().getSize() < OSM.MAX_REQUEST_AREA);
+  }
+
+  function checkSubmit(e) {
+    if (getBounds().getSize() > OSM.MAX_REQUEST_AREA) e.preventDefault();
   }
 
   page.pushstate = page.popstate = function(path) {
     $("#export_tab").addClass("current");
   }
 
   page.pushstate = page.popstate = function(path) {
     $("#export_tab").addClass("current");
-    $("#sidebar").removeClass("minimized");
-    map.invalidateSize();
-    $("#sidebar_content").load(path, page.load);
+    OSM.loadSidebarContent(path, page.load);
   };
 
   page.load = function() {
   };
 
   page.load = function() {
-    $("#sidebar").removeClass("minimized");
     map
       .addLayer(locationFilter)
       .on("moveend", update);
 
     $("#maxlat, #minlon, #maxlon, #minlat").change(boundsChanged);
     $("#drag_box").click(enableFilter);
     map
       .addLayer(locationFilter)
       .on("moveend", update);
 
     $("#maxlat, #minlon, #maxlon, #minlat").change(boundsChanged);
     $("#drag_box").click(enableFilter);
-    $("#sidebar_content .close").on("click", page.minimizeSidebar);
+    $(".export_form").on("submit", checkSubmit);
 
     update();
 
     update();
+    return map.getState();
   };
 
   page.unload = function() {
   };
 
   page.unload = function() {