X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/078059b76b8304368fd7ddac2dd563470e83472e..d095dfe3d4c1ec90cebdfb3307564022cbeaf878:/app/assets/javascripts/leaflet.query.js diff --git a/app/assets/javascripts/leaflet.query.js b/app/assets/javascripts/leaflet.query.js index 3eab9054d..041764877 100644 --- a/app/assets/javascripts/leaflet.query.js +++ b/app/assets/javascripts/leaflet.query.js @@ -1,17 +1,32 @@ L.OSM.query = function (options) { - var control = L.control(options); + const control = L.control(options); control.onAdd = function (map) { - var $container = $('
') - .attr('class', 'control-query'); + const $container = $("
") + .attr("class", "control-query"); - var link = $('') - .attr('class', 'control-button') - .attr('href', '#') - .attr('data-original-title', I18n.t('javascripts.site.queryfeature_tooltip')) - .html('') + const link = $("") + .attr("class", "control-button") + .attr("href", "#") + .html("") .appendTo($container); + map.on("zoomend", update); + + function update() { + const wasDisabled = link.hasClass("disabled"), + isDisabled = map.getZoom() < 14; + link + .toggleClass("disabled", isDisabled) + .attr("data-bs-original-title", I18n.t(isDisabled ? + "javascripts.site.queryfeature_disabled_tooltip" : + "javascripts.site.queryfeature_tooltip")); + if (isDisabled === wasDisabled) return; + link.trigger(isDisabled ? "disabled" : "enabled"); + } + + update(); + return $container[0]; };