]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/leaflet.query.js
Merge remote-tracking branch 'openstreetmap/pull/954'
[rails.git] / app / assets / javascripts / leaflet.query.js
index 3eab9054d409f8721c45d63a77f52f8fe44d59c6..9064872740b797888c90fc4520d8dca00321d97f 100644 (file)
@@ -8,10 +8,29 @@ L.OSM.query = function (options) {
     var link = $('<a>')
       .attr('class', 'control-button')
       .attr('href', '#')
     var link = $('<a>')
       .attr('class', 'control-button')
       .attr('href', '#')
-      .attr('data-original-title', I18n.t('javascripts.site.queryfeature_tooltip'))
       .html('<span class="icon query"></span>')
       .appendTo($container);
 
       .html('<span class="icon query"></span>')
       .appendTo($container);
 
+    map.on('zoomend', update);
+
+    update();
+
+    function update() {
+      var wasDisabled = link.hasClass('disabled'),
+        isDisabled = map.getZoom() < 14;
+      link
+        .toggleClass('disabled', isDisabled)
+        .attr('data-original-title', I18n.t(isDisabled ?
+          'javascripts.site.queryfeature_disabled_tooltip' :
+          'javascripts.site.queryfeature_tooltip'));
+
+      if (isDisabled && !wasDisabled) {
+        link.trigger('disabled');
+      } else if (wasDisabled && !isDisabled) {
+        link.trigger('enabled');
+      }
+    }
+
     return $container[0];
   };
 
     return $container[0];
   };