X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/87e995bd84ec463f6d8915978c1aaeaedcc8b854..00108bc9b7e9e03a47d89343e7f53eb924977ff8:/app/assets/javascripts/index/layers/data.js diff --git a/app/assets/javascripts/index/layers/data.js b/app/assets/javascripts/index/layers/data.js index 7507a5f4e..8925cc480 100644 --- a/app/assets/javascripts/index/layers/data.js +++ b/app/assets/javascripts/index/layers/data.js @@ -1,6 +1,6 @@ OSM.initializeDataLayer = function (map) { - var loadedBounds; - var dataLayer = map.dataLayer; + let dataLoader, loadedBounds; + const dataLayer = map.dataLayer; dataLayer.setStyle({ way: { @@ -25,28 +25,28 @@ OSM.initializeDataLayer = function (map) { onSelect(e.layer); }); - map.on("layeradd", function (e) { - if (e.layer === dataLayer) { - map.on("moveend", updateData); - updateData(); - } + dataLayer.on("add", function () { + map.fire("overlayadd", { layer: this }); + map.on("moveend", updateData); + updateData(); }); - map.on("layerremove", function (e) { - if (e.layer === dataLayer) { - map.off("moveend", updateData); - $("#browse_status").empty(); - } + dataLayer.on("remove", function () { + if (dataLoader) dataLoader.abort(); + dataLoader = null; + map.off("moveend", updateData); + $("#browse_status").empty(); + map.fire("overlayremove", { layer: this }); }); function updateData() { - var bounds = map.getBounds(); + const bounds = map.getBounds(); if (!loadedBounds || !loadedBounds.contains(bounds)) { getData(); } } - function displayFeatureWarning(count, limit, add, cancel) { + function displayFeatureWarning(num_features, add, cancel) { $("#browse_status").html( $("
").append( $("
").append( @@ -57,52 +57,52 @@ OSM.initializeDataLayer = function (map) { .attr("aria-label", I18n.t("javascripts.close")) .click(cancel))), $("

") - .text(I18n.t("browse.start_rjs.feature_warning", { num_features: count, max_features: limit })), + .text(I18n.t("browse.start_rjs.feature_warning", { num_features })), $("") .val(I18n.t("browse.start_rjs.load_data")) .click(add))); } - function displayLoadError(message) { + function displayLoadError(message, close) { $("#browse_status").html( $("

").append( - $("

") - .text(I18n.t("browse.start_rjs.load_data")), - $("
").append( - $("
").append( - $("

") - .text(I18n.t("browse.start_rjs.feature_error", { message: message })))))); + $("

").append( + $("

") + .text(I18n.t("browse.start_rjs.load_data")), + $("
").append( + $("