X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/5f2a5cadcb693b34b81a9232b8879c3b4f12843d..8f7f02b025f59db466fdb22ea3686cb6c5adc400:/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 0a996f0c7..dc522af41 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,18 +25,18 @@ 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() {
@@ -46,7 +46,7 @@ OSM.initializeDataLayer = function (map) {
}
}
- function displayFeatureWarning(count, limit, add, cancel) {
+ function displayFeatureWarning(num_features, add, cancel) {
$("#browse_status").html(
$("
").append(
$("
").append(
@@ -57,13 +57,25 @@ 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)));
}
- var dataLoader;
+ function displayLoadError(message, close) {
+ $("#browse_status").html(
+ $("
").append(
+ $("
").append(
+ $("
")
+ .text(I18n.t("browse.start_rjs.load_data")),
+ $("").append(
+ $("