diff options
author | Struan Donald <struan@exo.org.uk> | 2018-03-27 17:37:11 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2018-04-03 11:08:21 +0100 |
commit | f10d2887ad17c3902c6fa29522c302435de6bbf6 (patch) | |
tree | 11876784d0c38631e0fd7d9d7658994933ebec1d | |
parent | ba6d96eb0f45d95034e4fd9c7204fade7876b4b3 (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.js | 7 |
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(''); } }, |