]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/index/browse.js
Merge branch 'master' into redesign
[rails.git] / app / assets / javascripts / index / browse.js
index 772690ba3c5772d2a16d38f957e95e70e900adad..752c84fecee841505b14bc402ce324c9f5cde7d6 100644 (file)
@@ -36,52 +36,40 @@ function initializeBrowse(map) {
   map.on('layerremove', function (e) {
     if (e.layer === dataLayer) {
       map.off("moveend", updateData);
+      $('#browse_status').empty();
     }
   });
 
   function updateData() {
-    if (map.getZoom() >= 15) {
-      var bounds = map.getBounds();
-      if (!browseBounds || !browseBounds.contains(bounds)) {
-        browseBounds = bounds;
-        getData();
-      }
-    } else {
-      setStatus(I18n.t('browse.start_rjs.zoom_or_select'));
-    }
+    var bounds = map.getBounds();
+    getData(!browseBounds || !browseBounds.contains(bounds));
+    browseBounds = bounds;
   }
 
   function displayFeatureWarning(count, limit, callback) {
-    clearStatus();
-
-    var div = document.createElement("div");
-
-    var p = document.createElement("p");
-    p.appendChild(document.createTextNode(I18n.t("browse.start_rjs.loaded_an_area_with_num_features", { num_features: count, max_features: limit })));
-    div.appendChild(p);
-
-    var input = document.createElement("input");
-    input.type = "submit";
-    input.value = I18n.t('browse.start_rjs.load_data');
-    input.onclick = callback;
-    div.appendChild(input);
-
-    $("#browse_content").html("");
-    $("#browse_content").append(div);
+    $('#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(
+          $("<input type='submit'>")
+            .val(I18n.t('browse.start_rjs.load_data'))
+            .click(callback)));
   }
 
   var dataLoader;
 
-  function getData() {
+  function getData(inPrevious) {
     var bounds = map.getBounds();
     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'));
+    if (inPrevious) return;
 
     var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString();
 
@@ -105,14 +93,13 @@ function initializeBrowse(map) {
     dataLoader = $.ajax({
       url: url,
       success: function (xml) {
-        clearStatus();
-
         dataLayer.clearLayers();
         selectedLayer = null;
 
         var features = dataLayer.buildFeatures(xml);
 
         function addFeatures() {
+          $('#browse_status').empty();
           dataLayer.addData(features);
         }
 
@@ -142,10 +129,4 @@ function initializeBrowse(map) {
     // Stash the currently drawn feature
     selectedLayer = layer;
   }
-
-  function setStatus(status) {
-  }
-
-  function clearStatus() {
-  }
 }