X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c8fb5ad24c5751bd2d43b86e4359381d200af066..3fbc8a3d3224a4f5bb4a222aa820d885944a60fe:/app/assets/javascripts/leaflet.note.js
diff --git a/app/assets/javascripts/leaflet.note.js b/app/assets/javascripts/leaflet.note.js
index a38e012de..801c6e6db 100644
--- a/app/assets/javascripts/leaflet.note.js
+++ b/app/assets/javascripts/leaflet.note.js
@@ -2,17 +2,31 @@ L.OSM.note = function (options) {
var control = L.control(options);
control.onAdd = function (map) {
- var $container = $('
')
- .attr('class', 'control-note');
+ var $container = $("
")
+ .attr("class", "control-note");
- $('
')
- .attr('id', 'createnoteanchor')
- .attr('class', 'control-button geolink')
- .attr('data-minzoom', 12)
- .attr('href', '#')
- .html('')
+ var link = $("")
+ .attr("class", "control-button")
+ .attr("href", "#")
+ .html("")
.appendTo($container);
+ map.on("zoomend", update);
+
+ function update() {
+ var wasDisabled = link.hasClass("disabled"),
+ isDisabled = OSM.STATUS === "database_offline" || map.getZoom() < 12;
+ link
+ .toggleClass("disabled", isDisabled)
+ .attr("data-bs-original-title", I18n.t(isDisabled ?
+ "javascripts.site.createnote_disabled_tooltip" :
+ "javascripts.site.createnote_tooltip"));
+ if (isDisabled === wasDisabled) return;
+ link.trigger(isDisabled ? "disabled" : "enabled");
+ }
+
+ update();
+
return $container[0];
};