maps: keep state of enabled/disabled leaflet layers during reload (#45329)

This commit is contained in:
Frédéric Péters 2020-07-21 16:47:24 +02:00
parent 6029d7182a
commit 7d6600b276
1 changed files with 9 additions and 2 deletions

View File

@ -18,6 +18,9 @@ $(function() {
this.bounds = null;
for (var i=0; i<layer_slugs.length; i++) {
var layer = this.geojson_layers[layer_slugs[i]];
if (typeof layer.enabled === 'undefined') {
layer.enabled = true;
}
layer.status = 'loading';
this.add_geojson_layer(callback, layer);
}
@ -101,12 +104,14 @@ $(function() {
if (geojson_layer.leaflet_layer) {
map.clustered_markers.removeLayer(geojson_layer.leaflet_layer);
}
map.clustered_markers.addLayer(geo_json);
if (geojson_layer.enabled)
map.clustered_markers.addLayer(geo_json);
} else {
if (geojson_layer.leaflet_layer) {
geojson_layer.leaflet_layer.remove();
}
geo_json.addTo(map);
if (geojson_layer.enabled)
geo_json.addTo(map);
}
geojson_layer.leaflet_layer = geo_json;
if (callback) {
@ -151,6 +156,7 @@ $(function() {
var layer = this.geojson_layers[slug];
var group = this.clustered_markers || this;
if (layer && layer.leaflet_layer) {
layer.enabled = false;
group.removeLayer(layer.leaflet_layer);
}
},
@ -159,6 +165,7 @@ $(function() {
var layer = this.geojson_layers[slug];
var group = this.clustered_markers || this;
if (layer && layer.leaflet_layer) {
layer.enabled = true;
group.addLayer(layer.leaflet_layer);
}
},