(Added at v2.1)
The Filter widget allows you to limit the visibility of features in a layer. Only the features that meet the expression criteria will be visible in the map. Accordingly, other out-of-the-box widgets, if applicable, will respond to the change it makes in the layer.
Configure the Filter widget
This widget can be set to open automatically when an app starts. To enable this feature, click the Open this widget automatically when the app starts button on the widget, which turns it dark green.
- Hover over the widget and click the Configure this widget button to open the configuration properties dialog box.
- Optionally click Change widget icon and replace it with an image of your own.
A file explorer window appears, allowing you to select a local image file to use as the widget icon.
- Click + New Filter and select a layer from the Layer drop-down list.
- Under the Info tab, name the filter in the Label text box.
- Choose an icon or browse to your local images to choose an icon for the filter. The default icon will apply if you don't specify one.
- Under the Expressions tab, click + Add expression.
- Click the field drop-down arrow and choose the field you want to filter against from the list.
- Click the operators drop-down arrow and choose an operator from the list.
Date-related value providers can now provide relative dates, such as today, yesterday, and tomorrow. Date-related operators, such as in the last and not in the last, can also support the setting of relative dates (for example, in the last five days). Note that certain date-related operators, such as in the last and not in the last, are only available for online-hosted feature services.
The is any of and is none of operators accept multiple values of a field as input. With one of the operators, your expression can get data that matches any or none of the selected values.
- To filter based on a specific value, click the settings button, choose Value, and specify a value in the field. Optionally check the Ask for values check box to set up an interactive expression. Provide information about the value in the Prompt field and a hint in the Hint field. Select one or more values from the List values drop-down list to use to filter the layer.
- To compare the value in one field to the value in another field, choose Field in the settings, click the drop-down arrow, and choose the field for your expression.
- To filter based on a specific value in the field, choose Unique in the settings to retrieve a dynamic list of values from the layer, or choose Unique (predefined) to predefine a static list of values. It also allows you to dynamically show the values based on the previous expressions or all other expressions regardless of their order. Provide information about the value in the Prompt field and a hint in the Hint field, and select how the values are listed.
Unique value filters require a 10.1 or later map service layer. The Unique option does not appear if you are creating a filter on a 10.0 or earlier service layer.
To display description for coded values when Values filtered by previous expressions or Values filtered by all other expressions is selected, the service must support the capability of query by statistics.
- To filter on multiple values in the field, choose Multiple in the settings to retrieve a dynamic list of values from the layer, or choose Multiple (predefined) to predefine a static list of values. Note that only the is any of and is none of operators support multiple values.
If you created an expression based on values or a unique value, you can set up an interactive expression by checking the Ask for values check box. You cannot ask for values on expressions based on a field.
- To create multiple expressions, or one or more sets of expressions, click + Add expression or Add set.
A set is a grouping of expressions, for example, Shelter capacity is greater than 200 and Status is open.
- Under the Options tab, check the Remove the preset layer filters from the map check box if you don't want to carry over the filters in the map to your app.
- Optionally check Apply this filter when the widget is opened to apply the filter immediately when the widget is opened.
- Optionally check the Collapse the filter expression (if any) when the widget is opened option to collapse the filter with Ask for values.
- To add another filter, repeat steps 1 through 8.
When adding multiple filters, you have the option of displaying features that match any or all filters.
- Hover over the filter you created in the table to delete or reorder it.
- Optionally select Group filter by layer to sort the filters by the layer they impact.
- Optionally, to zoom to features in the layer after the filters are applied, check Zoom to the layer once it's applied filters.
- Optionally, to allow users to create their own filters, check Allow to create custom filters.
- Click OK to save and close the configuration.
Use the Filter widget
You can apply multiple filters simultaneously or apply an individual filter to the map.
- Click the Filter widget icon to open it.
- Click the filter you specify to limit features on the map.
Notice that the toggle button turns on after the filter is applied. Click the filter button again to remove the filtering from the map. You can also turn the toggle button on and off to apply or remove the filter.
- Type or choose a value in the text box if Ask for values is checked when the filter is created. Click the filter button to remove the filtering from the map. Click the arrow button next to the filter to hide the input values.
- Click the Create custom filter button in the lower right corner to define your own filters when applicable.