22nd December 2021 at 3:30pm
Introduction
Introduced in v5.2.0The message catcher widget traps messages dispatched within its child content, and allows invoking a series of ActionWidgets in response to those messages.
Content and Attributes
The content of the <$messagecatcher>
widget is displayed normally.
Attribute | Description |
---|---|
{any attributes starting with $} | Each attribute name (excluding the $) specifies the name of a message, and the value specifies the action string to be invoked |
type | Name of the message be trapped, for example "tm-scroll" or "tm-navigate". The type and actions attributes can be useful when the type of event needs to be specified via a variable or text reference |
actions | Action string to be invoked when a matching message is trapped. Must be used in conjunction with the type attribute |
Variables
The message catcher widget sets the following variables within each action string:
Variables | Description |
---|---|
event-* | All string-based properties of the event object, with the names prefixed with event- |
list-event | A list of the names of each the string-based properties of the event object (the names are not prefixed with event- ) |
event-paramObject-* | All string-based properties of the event.paramObject object, with the names prefixed with event-paramObject- |
list-event-paramObject | A list of the names of each the string-based properties of the event.paramObject object (the names are not prefixed with event-paramObject- ) |
modifier | For messages that originated with browser events, the modifier keys that were pressed when the event was fired. The possible modifiers are normal (no modifiers), ctrl, ctrl-alt, ctrl-shift, alt, alt-shift, shift and ctrl-alt-shift |
Example
\define actions()
<$action-log/>
\end
<$messagecatcher $tm-navigate=<<actions>>>
Click on [[this link]] to fire an action. See the browser JavaScript console for the output
</$messagecatcher>
That renders as:
Click on this link to fire an action. See the browser JavaScript console for the output