aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorM Somerville <matthew-github@dracos.co.uk>2020-08-18 10:30:43 +0100
committerM Somerville <matthew-github@dracos.co.uk>2020-08-24 10:51:49 +0100
commit98c59e111bb1e8355b8eba3a10f9a5fbf2076d30 (patch)
tree6a53dc8a3be5651d297823259dc69e1d2b95abc8
parent0bdf5f60b2d6b28aea30a2c9330ebfbe258ece8e (diff)
Do not unselect an asset from a different layer.
If a new asset layer is shown before an old one is removed, the removal could cause the newly selected asset to be unselected, leaving visibly an asset selected but nothing recorded as being selected behind the scenes.
-rw-r--r--web/cobrands/fixmystreet/assets.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js
index 3d147f038..6ebb0524b 100644
--- a/web/cobrands/fixmystreet/assets.js
+++ b/web/cobrands/fixmystreet/assets.js
@@ -399,6 +399,7 @@ function asset_selected(e) {
// Keep track of selection in case layer is reloaded or hidden etc.
selected_feature = feature.clone();
+ selected_feature.layer = feature.layer;
// Hide the normal markers layer to keep things simple, but
// move the green marker to the point of the click to stop
@@ -419,6 +420,11 @@ function asset_selected(e) {
}
function asset_unselected(e) {
+ if (selected_feature.layer !== this) {
+ // The selected feature has already changed to something in a different
+ // layer, so we don't want to mess that up by clearing it
+ return;
+ }
fixmystreet.markers.setVisibility(true);
selected_feature = null;
this.clearAttributeFields();