aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStruan Donald <struan@exo.org.uk>2018-03-27 17:37:11 +0100
committerDave Arter <davea@mysociety.org>2018-04-03 11:08:21 +0100
commitf10d2887ad17c3902c6fa29522c302435de6bbf6 (patch)
tree11876784d0c38631e0fd7d9d7658994933ebec1d
parentba6d96eb0f45d95034e4fd9c7204fade7876b4b3 (diff)
enable road layers to perform actions when unselected
set a last_road value so we can run code to do things like remove ui elements if the layer is no longer active
-rw-r--r--web/cobrands/fixmystreet/assets.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js
index c27ca0b79..51cb5b74e 100644
--- a/web/cobrands/fixmystreet/assets.js
+++ b/web/cobrands/fixmystreet/assets.js
@@ -49,6 +49,8 @@ $(fixmystreet).on('report_new:category_change:extras_received', fixmystreet.usrn
var selected_road = null;
fixmystreet.roads = {
+ last_road: null,
+
change_category: function() {
if (!fixmystreet.map) {
// Sometimes the category change event is fired before the map has
@@ -79,6 +81,7 @@ fixmystreet.roads = {
});
if (road_providers.length) {
var road_layer = road_providers[0];
+ fixmystreet.roads.last_road = road_layer;
var point = new OpenLayers.Geometry.Point(lonlat.lon, lonlat.lat);
var feature = road_layer.getFeatureAtPoint(point);
if (feature == null) {
@@ -113,6 +116,10 @@ fixmystreet.roads = {
if (layer && layer.fixmystreet.actions) {
layer.fixmystreet.actions.not_found(layer);
} else {
+ if ( fixmystreet.roads.last_road && fixmystreet.roads.last_road.fixmystreet.actions.unselected ) {
+ fixmystreet.roads.last_road.fixmystreet.actions.unselected();
+ fixmystreet.roads.last_road = null;
+ }
$('#single_body_only').val('');
}
},