]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/leaflet.note.js
Merge remote-tracking branch 'upstream/pull/4770'
[rails.git] / app / assets / javascripts / leaflet.note.js
index 68e09c88deb90a4403479d5b30660f53f04c522a..5f801096731793a376ca0c3cdf0f729c2c2312a5 100644 (file)
@@ -2,28 +2,28 @@ L.OSM.note = function (options) {
   var control = L.control(options);
 
   control.onAdd = function (map) {
-    var $container = $('<div>')
-      .attr('class', 'control-note');
+    var $container = $("<div>")
+      .attr("class", "control-note");
 
-    $('<a>')
-      .attr('class', 'control-button')
-      .attr('href', '#')
-      .attr('title', 'Notes')
-      .html('<span class="icon note"></span>')
-      .on('click', toggle)
+    var link = $("<a>")
+      .attr("class", "control-button")
+      .attr("href", "#")
+      .html("<span class=\"icon note\"></span>")
       .appendTo($container);
 
-    function toggle(e) {
-      e.stopPropagation();
-      e.preventDefault();
+    map.on("zoomend", update);
 
-      if (map.hasLayer(map.noteLayer)) {
-        map.removeLayer(map.noteLayer);
-      } else {
-        map.addLayer(map.noteLayer);
-      }
+    function update() {
+      var disabled = OSM.STATUS === "database_offline" || map.getZoom() < 12;
+      link
+        .toggleClass("disabled", disabled)
+        .attr("data-bs-original-title", I18n.t(disabled ?
+          "javascripts.site.createnote_disabled_tooltip" :
+          "javascripts.site.createnote_tooltip"));
     }
 
+    update();
+
     return $container[0];
   };