diff options
author | Dave Arter <davea@mysociety.org> | 2018-08-14 15:06:58 +0100 |
---|---|---|
committer | Dave Arter <davea@mysociety.org> | 2018-08-17 09:43:09 +0100 |
commit | 95b854b4ea5c42b9f527b2f161d25175347ea3c9 (patch) | |
tree | 724035f591f5bb777b96b23e46a7d939196fac38 /web | |
parent | e1616a3543d2b49e6c74d9ac043b36e2e3b0c1fc (diff) |
Allow asset layer ‘filter_value’ to be a function
Diffstat (limited to 'web')
-rw-r--r-- | web/cobrands/fixmystreet/assets.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/web/cobrands/fixmystreet/assets.js b/web/cobrands/fixmystreet/assets.js index 31dcaec07..f50a9dc9d 100644 --- a/web/cobrands/fixmystreet/assets.js +++ b/web/cobrands/fixmystreet/assets.js @@ -522,7 +522,11 @@ fixmystreet.assets = { return OpenLayers.Util.indexOf(options.filter_value, f.attributes[options.filter_key]) != -1; } }); - layer_options.strategies.push(new OpenLayers.Strategy.Filter({filter: layer_options.filter})); + } else if (typeof options.filter_value === 'function') { + layer_options.filter = new OpenLayers.Filter.FeatureId({ + type: OpenLayers.Filter.Function, + evaluate: options.filter_value + }); } else { layer_options.filter = new OpenLayers.Filter.Comparison({ type: OpenLayers.Filter.Comparison.EQUAL_TO, @@ -530,6 +534,7 @@ fixmystreet.assets = { value: options.filter_value }); } + layer_options.strategies.push(new OpenLayers.Strategy.Filter({filter: layer_options.filter})); } var layer_class = OpenLayers.Layer.VectorAsset; |