Add action triggers to widgets

You can do the following to create dynamic and interactive apps with Experience Builder:

  • Connect widgets with data and configure them with dynamic content.
  • Configure interactions between widgets.

Experience Builder apps are data-driven, which means that the data displayed by widgets can change universally when the underlying data updates. You can define more specific interactions between widgets by configuring the actions in response to triggers. For example, you can set actions for a Map widget that triggers content changes in List and Feature Info widgets. You can filter List widget records to display only those that appear in the current extent of a Map widget, or you can synchronize the extent of two Map widgets when users zoom or pan one of them.

Interaction structure

Interactions are defined and managed in the Action pane of the source widget that provides the triggers. Interactions have three parts:

  • Triggers from the source widget
  • Targets that respond to the trigger, including widgets and the app framework
  • Actions from the target related to its intended use

The source widget’s trigger can only be added once; however, you can add multiple actions for that specific trigger from the same or a different target.

Triggers

Triggers are events generated by the source widget. Once a trigger occurs, any actions added to it are executed in response. The following table describes the two triggers that are currently supported:

TriggerDescription

Extent Changes

A trigger occurs when the map’s extent changes via panning, zooming, resizing, and so on.

Record Selection Changes

A trigger occurs when a record is selected or a selected record is cleared.

To view a widget’s available triggers, open its settings and click Add a trigger on the Action tab. The following table lists source widgets and their supported triggers:

Source widgetExtent ChangesRecord Selection Changes

Map

Yes

Yes

List

Yes

Feature Info

Yes

Targets

Targets perform the actions. A target can be a widget or the framework. If you choose the framework as the target, the action is performed globally—throughout all relevant widgets and pages in the app.

Actions

Unlike the triggers that are defined by the framework, actions are provided by targets (especially widgets) to perform specific business logic. Some actions may need additional configuration depending on how the target handles the message from the trigger. For example, if you’re configuring a filter action for a List widget and the trigger is based on different data, you can filter the list by establishing an attribute or spatial relationship. You can also set SQL conditions.

Different targets provide different actions that correspond to different triggers. Available actions appear once you add a trigger and select the target. The following table lists targets and their corresponding actions:

TargetAction*Trigger: Record Selection ChangesTrigger: Extent Changes

Framework

Filter Data Records—Keep only the data that meets the conditions for further viewing or processing through the app.

Yes

Select Data Records**—Mark the records as selected.

Yes

Map widget

Pan to—Keep the current scale and center on a specified location.

Yes

Yes

Zoom to—Zoom to a specified location.

Yes

Yes

Flash—Flash a feature on the map.

Yes

Filter—Keep only the data that meets the conditions for viewing in the widget.

Yes

List widget

Filter—Keep only the data that meets the conditions for viewing in the widget.

Yes

Yes

Feature Info widget

Display feature—Display pop-up information for the selected feature.

Yes

*Framework actions affect every widget that uses the same data configured in the action; widget actions only affect the target widget.

**The selected state of a record is synchronized throughout the app. Widgets may have a different configuration for displaying a selected record.

Configure and manage interactions

Configure interactions on the Action tab of the source widgets (widgets that provide triggers). Add and select the trigger, select the target, and add and select the actions. Each trigger can only be added once, but you can add multiple actions for the same trigger by clicking Add action. Actions for the same trigger occur in sequential order. Drag the actions grouped under a trigger to change the order.

Some actions, such as Filter, Flash, and Select Data Records, require additional configuration. The Action settings options appear when you select the action. Once configured, you can modify the settings later by clicking the action’s Setting button Settings. To change an action or target after adding an action, you must delete it and add a new one. Deleting a trigger also deletes all the actions added to it.

Example usage

Add action triggers to support app design requirements such as the following:

  • You want to build an app that compares two maps, two scenes, or a map and a scene, so the extents of the two Map widgets should always be synchronized. You can add an Extent Changes trigger to both widgets, select the other widget as the target for each, and choose the Pan to or Zoom to action.
  • You add a List widget next to a Map widget and you want the list to only display the records within the map’s current extent. You can add an Extent Changes trigger to the Map widget, select the List widget’s Filter action, and configure the action with a spatial relationship to the extent.
  • You display features in a Map widget and you want to show the details of a selected feature in a Feature Info widget. You can add a Record Selection Changes trigger to the Map widget, select the Feature Info widget as the target, and choose the Display feature action.