]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/browse.js
Merge branch 'redesign'
[rails.git] / app / assets / javascripts / index / browse.js
index 3ebe9531d41e26a831727457c97d6ce9c998a7fa..21f0ae71a3387d423aee61f0769c2ffb2a1ae503 100644 (file)
@@ -36,24 +36,19 @@ function initializeBrowse(map) {
   map.on('layerremove', function (e) {
     if (e.layer === dataLayer) {
       map.off("moveend", updateData);
-      clearStatus();
+      $('#browse_status').empty();
     }
   });
 
   function updateData() {
-    if (map.getZoom() >= 15) {
-      var bounds = map.getBounds();
-      if (!browseBounds || !browseBounds.contains(bounds)) {
-        browseBounds = bounds;
-        getData();
-      }
+    var bounds = map.getBounds();
+    if (!browseBounds || !browseBounds.contains(bounds)) {
+      getData();
     }
   }
 
   function displayFeatureWarning(count, limit, callback) {
-    clearStatus();
-
-    $('#browse_status').append(
+    $('#browse_status').html(
       $("<p class='warning'></p>")
         .text(I18n.t("browse.start_rjs.loaded_an_area_with_num_features", { num_features: count, max_features: limit }))
         .append(
@@ -69,12 +64,12 @@ function initializeBrowse(map) {
     var size = bounds.getSize();
 
     if (size > OSM.MAX_REQUEST_AREA) {
-      setStatus(I18n.t("browse.start_rjs.unable_to_load_size", { max_bbox_size: OSM.MAX_REQUEST_AREA, bbox_size: size }));
+      $('#browse_status').html(
+        $("<p class='warning'></p>")
+          .text(I18n.t("browse.start_rjs.unable_to_load_size", { max_bbox_size: OSM.MAX_REQUEST_AREA, bbox_size: size.toFixed(2) })));
       return;
     }
 
-    setStatus(I18n.t('browse.start_rjs.loading'));
-
     var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString();
 
     /*
@@ -103,7 +98,7 @@ function initializeBrowse(map) {
         var features = dataLayer.buildFeatures(xml);
 
         function addFeatures() {
-          clearStatus();
+          $('#browse_status').empty();
           dataLayer.addData(features);
         }
 
@@ -114,6 +109,7 @@ function initializeBrowse(map) {
         }
 
         dataLoader = null;
+        browseBounds = bounds;
       }
     });
   }
@@ -128,19 +124,9 @@ function initializeBrowse(map) {
     layer.originalStyle = layer.options;
     layer.setStyle({color: '#0000ff', weight: 8});
 
-    OSM.route('/browse/' + layer.feature.type + '/' + layer.feature.id);
+    OSM.router.route('/' + layer.feature.type + '/' + layer.feature.id);
 
     // Stash the currently drawn feature
     selectedLayer = layer;
   }
-
-  function setStatus(status) {
-    if($('#browse_status').is(':empty')) {
-      $('#browse_status').append($('<p></p>').text(status));
-    }
-  }
-
-  function clearStatus() {
-    $('#browse_status').empty();
-  }
 }