System Events

System events are identical to custom and page events, except that the framework defines the event.

An event name is defined by the user, and is explicitly fired by the application, using the event Actions provided, in the context of a page.

System event listeners are defined in the page, shell, or flow under the eventListeners property.

System events also propagate or bubble up the page's container hierarchy, executing any listeners.  Event bubbling can be stopped.

One difference between system events and page events is that they 'bubble' up the containment hierarchy. Any event listeners in a given flow or page for the event are executed before looking for listeners in the container's parent. The order of container processing is:
  • The page from where the event is fired.

  • The flow containing the page.

  • The page containing the flow.

  • Recursively up the containment, ending with the application.

Custom and system event behavior can be modified using the stopPropagation property, which prevents the event from bubbling to this event listener's container's parents.

Example 1-83 stopPropagation Example

"eventListeners": {
  "customEventTwo": {
    "stopPropagation": "{{ $event.type === 'info' }}"
    "chains": [
      {
        "actionsId": "handleEventInMod2PageChain",
        "parameters": {
          "eventPayload": "{{ $event }}"
        }
      }
    ],
  }...