From: nertc Date: Wed, 12 Mar 2025 08:39:13 +0000 (+0400) Subject: Map Data asynchronous checkbox X-Git-Tag: live~9^2 X-Git-Url: https://git.openstreetmap.org./rails.git/commitdiff_plain/83b42a8b75adbb6bc310a2f23ba1b89a65beffeb?hp=--cc Map Data asynchronous checkbox --- 83b42a8b75adbb6bc310a2f23ba1b89a65beffeb diff --git a/app/assets/javascripts/index/layers/data.js b/app/assets/javascripts/index/layers/data.js index 8925cc480..c0fffd72d 100644 --- a/app/assets/javascripts/index/layers/data.js +++ b/app/assets/javascripts/index/layers/data.js @@ -89,6 +89,15 @@ OSM.initializeDataLayer = function (map) { if (dataLoader) dataLoader.abort(); + $("#layers-data-loading").remove(); + + const spanLoading = $("") + .attr("id", "layers-data-loading") + .attr("class", "spinner-border spinner-border-sm ms-1") + .attr("role", "status") + .html("" + I18n.t("browse.start_rjs.loading") + "") + .appendTo($("#label-layers-data")); + dataLoader = new AbortController(); fetch(url, { signal: dataLoader.signal }) .then(response => { @@ -131,7 +140,10 @@ OSM.initializeDataLayer = function (map) { $("#browse_status").empty(); }); }) - .finally(() => dataLoader = null); + .finally(() => { + dataLoader = null; + spanLoading.remove(); + }); } function onSelect(layer) { diff --git a/app/assets/javascripts/leaflet.layers.js b/app/assets/javascripts/leaflet.layers.js index f7142ead1..57d3fc6c0 100644 --- a/app/assets/javascripts/leaflet.layers.js +++ b/app/assets/javascripts/leaflet.layers.js @@ -100,6 +100,7 @@ L.OSM.layers = function (options) { const label = $("