X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/a56d1036d58d45777d6adeffd5a950519bc70318..c4f3d1bd32315abdcf057cae586bbf76eb6263b9:/app/assets/javascripts/index/export.js?ds=sidebyside diff --git a/app/assets/javascripts/index/export.js b/app/assets/javascripts/index/export.js index 70684eca9..fd658c532 100644 --- a/app/assets/javascripts/index/export.js +++ b/app/assets/javascripts/index/export.js @@ -14,21 +14,20 @@ OSM.Export = function(map) { function boundsChanged() { var bounds = getBounds(); - map.fitBounds(bounds); locationFilter.setBounds(bounds); - - enableFilter(); + locationFilter.enable(); validateControls(); } - function enableFilter() { - if (!locationFilter.getBounds().isValid()) { - locationFilter.setBounds(map.getBounds().pad(-0.2)); - } + function enableFilter(e) { + e.preventDefault(); $("#drag_box").hide(); + + locationFilter.setBounds(map.getBounds().pad(-0.2)); locationFilter.enable(); + validateControls(); } function update() { @@ -42,15 +41,21 @@ OSM.Export = function(map) { $("#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); + $("#export_commit").toggle(getBounds().getSize() < OSM.MAX_REQUEST_AREA); } page.pushstate = page.popstate = function(path) { $("#export_tab").addClass("current"); - $('#sidebar_content').load(path, page.load); + OSM.loadSidebarContent(path, page.load); }; page.load = function() { @@ -60,8 +65,10 @@ OSM.Export = function(map) { $("#maxlat, #minlon, #maxlon, #minlat").change(boundsChanged); $("#drag_box").click(enableFilter); + $("#sidebar_content .close").on("click", page.minimizeSidebar); update(); + return map.getState(); }; page.unload = function() {