As of Weave 2.6.6 it’s possible to define filters that can be associated with a map layer. The filters are used when the layer is drawn to refine the set of features that will be rendered for the layer. Additionally, a new client panel allows the user to dynamically alter the filter, giving them the ability to dynamically refine the features displayed on the map.
This is similar to the search panel where the user can enter certain criteria to select a set of entities, but in this case, the input the user enters is used to refine the set of features displayed on the map. For example, if the map contains a layer representing the public reserves, a filter could be created for the reserves layer that allows the user to display only those reserves containing a specific facility or facilities, i.e. only those reserves with barbeques and/or public toilets.
Current limitations
There can be only one filter associated with a particular map layer, this is unlikely to change.
Grouped or cascade parameters are supported, this may change depending upon demand.
The filtering only affects the display of the layer on the map, it plays no part for example if the user tries to spatially select entities that are associated with that layer, this may change depending upon demand.
Configuration
Namespace
urn:com.cohga.weave.map.filter#1.0
Tags
layer
Properties
Name | Type | Required | Description |
id | string | yes | Unique identifier for this filter |
label | string | yes | Text to be displayed to the user to represent this filter |
mapengine | string | yes | The identifier of the map engine the layer to filter belongs to |
layer | string | yes | The identifier of the layer in the map engine this filter applies to |
Sub-tags
Name | Type | Cardinality |
parameter | urn:com.cohga.weave.map.filter#1.0:parameter | 0..n |
parameter
Properties
Name | Type | Required | Default | Description |
id | string | yes | A unique identifier for the parameter | |
label | string | yes | The prompt text displayed when user input the parameter value | |
column | string | yes | The name of the column within the layer that this parameter references. | |
controlType | 'text', '‘list', 'radio', ‘check', ‘multicheck’, 'silder’, 'multislider’ | no | 'text' | The UI control to use when displaying the parameter |
dataType | 'boolean', 'float', 'integer', 'string' | no | 'string' | The data type for the parameter |
allowBlank | boolean | no | true | Give the user the choice of an empty value in the listbox (as opposed to a null value) |
value | any | no | The default value of the parameter (except multislider fields) | |
dataSet | no | Where to get the values for a listbox | ||
labelColumn | string | no | Column in the datadefinition that supplies the label of the value to show the user | |
valueColumn | string | no | Column in the datadefinition that supplies the value of the value to use in the SQL | |
scalarparametertype | string | no | 'simple' | 'simple' or 'multi-value' to determine of more than one value can be selected from a list. |
width | integer | no | Set the width of the field | |
minValue | number | yes - for slider and multislider | The minimum value allowed for a numeric field. | |
maxValue | number | yes - for slider and multislider | The maximum value allowed for a numeric field. | |
leftValue | number | no | The initial minimum value for a multislider | |
rightValue | number | no | The initial maximum value for a multislider | |
increment | number | no | The increment to use for fields that support it, the units are dependant upon the field type. | |
trueValue | any | no | The value that equates to "true" in the underlying table, only suitable for checkboxes | |
falseValue | any | no | The value that equates to "false" in the underlying table, only suitable for checkboxes | |
decimalPrecision | number | no | The precision of any numeric fields |
Sub-tags
Name | Type | Cardinality |
list | urn:com.cohga.weave.map.filter#1.0:list | 1..1 - only for radio and multicheck fields |
list
Properties
Name | Type | Required | Description |
value | string | yes | Value to be used in the filter |
label | string | yes | Text to be displayed to the user to represent this filter |
checked | string | no | Should this check box be initially checked. Only for list within multicheck field |