aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Somerville <matthew@mysociety.org>2019-10-16 14:38:38 +0100
committerMatthew Somerville <matthew@mysociety.org>2019-10-16 14:38:38 +0100
commitabd9877717dce1784de7d097b2ea02044b19c802 (patch)
tree4dbbdb0c99711c7335b9b5a9d38c5abd503a2dd8
parentde94514cd3d66e584d77e60c1869482f4433db77 (diff)
Check asset attribute fields on category change.
It's possible an asset has been selected before a category (e.g. if assets are showing for a whole category group. So on category change, make sure we check if any attribute fields need setting/clearing.
-rw-r--r--web/cobrands/fixmystreet/assets.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js
index 6a676beaa..cb466a47e 100644
--- a/web/cobrands/fixmystreet/assets.js
+++ b/web/cobrands/fixmystreet/assets.js
@@ -22,6 +22,7 @@ OpenLayers.Layer.VectorAsset = OpenLayers.Class(OpenLayers.Layer.Vector, {
// Update layer based upon new data from category change
$(fixmystreet).on('assets:selected', this.checkSelected.bind(this));
$(fixmystreet).on('assets:unselected', this.checkSelected.bind(this));
+ $(fixmystreet).on('report_new:category_change', this.changeCategory.bind(this));
$(fixmystreet).on('report_new:category_change', this.update_layer_visibility.bind(this));
},
@@ -104,6 +105,21 @@ OpenLayers.Layer.VectorAsset = OpenLayers.Class(OpenLayers.Layer.Vector, {
}
},
+ // It's possible an asset has been selected before a category (e.g. if
+ // assets are showing for a whole category group. So on category change,
+ // make sure we check if any attribute fields need setting/clearing.
+ changeCategory: function() {
+ if (!fixmystreet.map) {
+ return;
+ }
+ var feature = fixmystreet.assets.selectedFeature();
+ if (feature) {
+ this.setAttributeFields(feature);
+ } else {
+ this.clearAttributeFields();
+ }
+ },
+
setAttributeFields: function(feature) {
if (!this.fixmystreet.attributes) {
return;