Skip To Content
ArcGIS Developers

Group Filter widget

(Added at v2.1)

The Group Filter widget allows you to apply a filter on the map based on one or more layers in the map. A set of layers are grouped into a logical filter set. Each set can have a predefined value to facilitate user interaction. This widget has two modes: normal, which allows the building of complex filters during run time, and simple, which only allows one filter to be applied.

Configure the Group Filter widget

This widget can be set to open automatically when an app starts. Hover over the widget and click the Do not open this widget when the app starts button Do not open this widget when the app starts to change the setting to Open this widget automatically when the app starts. (For widgets that you need to add to the app first, you can turn on this option after configuring the widget.)

The following steps indicate how to create a filter set. Repeat these steps if you need to define additional filter sets.

  1. Hover over the widget and click the Configure this widget button Configure this widget to open the configuration window.

    If you need to add the widget to the app first, click a widget placeholder on the Widget tab. In the Choose Widget window that opens, select the widget and click OK.

  2. Optionally, click Change widget icon to replace the default icon for this widget.
    A file explorer window appears, allowing you to choose a local image file to use as the widget icon.

    The configuration displays one group that's ready to modify.

  3. Define a Filter Set Name value.

    The filter set name option is the name that a user will select from. Optionally, you can give a description to guide users on what this group will filter.

  4. Optionally, use Preset Operator and Preset Value to define a value for this filter so that during run time, users do not need to supply these criteria. For Preset Value, you have the option to type a value or click the search button to choose a value from an existing layer.
  5. If you filter on different fields in the same layer, you can control how these fields are joined by choosing to match any or all expressions using the When a layer is listed more than once parameter.
  6. For Perform a case sensitive search, check the box to only return features with attribute values that exactly match the search input with uppercase and lowercase characters.
  7. In the provided table that displays the layers in the filter set (including one populated by default with a random layer from your map), choose the layer and the field to which you want to apply a filter.
  8. Select the Use Value button to choose whether a value drop-down list appears for the user to find a value.

    This button is optional. If the option is not selected, a plain text box appears instead.

  9. To add another layer to this filter set, click the Add Layer button.
  10. To add another filter set, click the Add a New Group button. This creates another filter set grouping. If needed, repeat steps 3 through 7.
  11. Specify the custom header text using the Provide text to display above filter selection text box.
  12. Use the following six check boxes to control the way the widget behaves:
    • Start in Simple View determines how the widget will appear to end users. Checking this box will remove the operator drop-down list and the Add Criteria button from the interface, giving it a more basic appearance.
    • Hide Widget Options determines whether to show an icon to expose additional widget settings. These settings include saving and loading defined filters, appending to an existing filter definition in the map if it exists, and persisting the filter even after the widget is closed.
    • If the web map has an existing predefined filter applied, Append any/all expressions to existing map filter allows you to append filters created in this widget to the existing web map filter. This setting will persist filters across multiple groups. If unchecked, the widget will override the web map filter.
      • Using any is additive; the configured filter is added to the web map filter.
      • Using all is exclusive; only display features that meet both the requirements from the configured filter and the web map filter.
    • Zoom to determines whether to zoom the map to the extent of the filtered data. By default, the map maintains its current extent.
    • Persist After Widget is Closed allows you to persist the filter when the widget is closed.
    • Hide the header and filter selection if only 1 group is configured allows you to hide the header and drop-down menu when only one group is configured.

Use the Group Filter widget

Complete the following steps to use this widget.

  1. Click the Group Filter widget to display a selection of predefined filter sets.

    Apply a predefined filter set

    Two lists appear below the line divider: operators and values. In the example, the map is filtered to show only abandoned motor vehicle complaints.


    Depending on how the layers are configured in the widget, you will either see a values list (similar to the one in this example), a text box for user input, or a date picker.

  2. Click Apply to apply the filter to the map.

    Optionally, you can apply filters by adding URL parameters to the app's URL. The URL must be in the following format—replace the variables in angle brackets with the values described in the list below:

    https://<your portal URL>/apps/webappviewer/index.html?id=<Item ID>&groupfilter={"<Filter Set Name>":["<value>","<value>",...]}
    • Item ID—The unique ID of the app.
    • Filter Set Name—The defined name for the filter group. This value is case sensitive.
    • Value—The value used to perform the filter. To filter based on domains, use the domain code.

    For example, to apply the filter shown in the preceding image, you'd use a URL similar to the following sample:

    https://<your portal URL>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d&groupfilter={"Group A":["Abandoned Motor Vehicle"]}


    If the Group Filter widget isn't configured to open automatically when the app starts, the filter defined in the URL won't apply until you open the widget.

  3. Click Reset to remove the filter and restore the map to its initial state. (By default, closing the widget also removes the filter.)
  4. The widget allows you to add additional filter criteria at run time. Click Add Criteria to add another clause. Notice that the two criteria are joined with a conjunction. You can choose to join them using OR or AND.

    Add additional filter criteria

    To use URL parameters to apply the filter shown in this example, your URL would look like the following sample:

    https://<your portal URL>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d&groupfilter={"Group A":["Abandoned Motor Vehicle","Auto Theft"]}

  5. The widget has a save option to save these defined criteria settings for future use. Click the settings button to access the options panel.

    Save option

    1. Click Save to save the defined criteria locally as a JSON text file.
    2. Click Upload a Saved File to load a previously saved file to restore all the criteria defined in the file.
    3. If you need to use the filtered map in other widgets, check Persist After Widget is Closed. Otherwise, closing the widget will remove filters and restore the map's initial state.