]> git.openstreetmap.org Git - rails.git/commitdiff
Display the size warning when the data layer is disabled
authorTom Hughes <tom@compton.nu>
Tue, 3 Dec 2013 09:17:02 +0000 (09:17 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 3 Dec 2013 09:17:02 +0000 (09:17 +0000)
app/assets/javascripts/index/browse.js
app/assets/javascripts/leaflet.layers.js

index d196476f496c6167af4fe77a8e5ea2b4208910da..2fa38bca1b8c24a233f55fce78e89047a577336d 100644 (file)
@@ -26,6 +26,19 @@ function initializeBrowse(map) {
     onSelect(e.layer);
   });
 
+  dataLayer.on('statechange', function (e) {
+    if (e.checked) {
+      if (e.disabled) {
+        var size = map.getBounds().getSize();
+        $('#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) })));
+      } else {
+        $('#browse_status').empty();
+      }
+    }
+  });
+
   map.on('layeradd', function (e) {
     if (e.layer === dataLayer) {
       map.on("moveend", updateData);
@@ -61,15 +74,6 @@ function initializeBrowse(map) {
 
   function getData() {
     var bounds = map.getBounds();
-    var size = bounds.getSize();
-
-    if (size > OSM.MAX_REQUEST_AREA) {
-      $('#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;
-    }
-
     var url = "/api/" + OSM.API_VERSION + "/map?bbox=" + bounds.toBBoxString();
 
     /*
index bb00f716c8c28d969c3f90c05db97970b4f1aabb..d6276919c892da8065691009ae6770a41d3d9917 100644 (file)
@@ -168,6 +168,8 @@ L.OSM.layers = function(options) {
               .trigger('change');
           }
 
+          layer.fire('statechange', {disabled: disabled, checked: checked});
+
           $(item).attr('class', disabled ? 'disabled' : '');
           item.attr('data-original-title', disabled ?
             I18n.t('javascripts.site.' + refName + '_zoom_in_tooltip') : '');