1 L.OSM.note = function (options) {
2 const control = L.control(options);
4 control.onAdd = function (map) {
5 const $container = $("<div>")
6 .attr("class", "control-note");
9 .attr("class", "control-button")
11 .attr("title", OSM.i18n.t("javascripts.site.createnote_tooltip"))
12 .appendTo($container);
14 $(L.SVG.create("svg"))
15 .append($(L.SVG.create("use")).attr("href", "#icon-note"))
16 .attr("class", "h-100 w-100")
19 map.on("zoomend", update);
22 const wasDisabled = link.hasClass("disabled"),
23 isDisabled = OSM.STATUS === "database_offline" || map.getZoom() < 12;
25 .toggleClass("disabled", isDisabled)
26 .attr("data-bs-original-title", OSM.i18n.t(isDisabled ?
27 "javascripts.site.createnote_disabled_tooltip" :
28 "javascripts.site.createnote_tooltip"));
29 if (isDisabled === wasDisabled) return;
30 link.trigger(isDisabled ? "disabled" : "enabled");