created: 20141008134425548 modified: 20211031172913375 tags: Widgets title: ActionWidgets type: text/vnd.tiddlywiki Action widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that [[trigger those actions|TriggeringWidgets]] (for example, the ButtonWidget). The following action widgets are provided: <> There are two ways to use action widgets: * Placing them within an action string attribute (typically called `actions`) on the triggering widget (this is the preferred way) * Embedding the actions within the triggering widget (an older technique that is now deprecated) !! Using action string attributes The action widgets are passed as a string to the `actions` attribute of the [[triggering widget|TriggeringWidgets]]. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages: ``` \define my-actions() <$action-sendmessage $message="tm-home"/> <$action-sendmessage $message="tm-full-screen"/> \end <$button actions=<>> Click me! ``` !! Directly embedding action widgets The action widgets need not be immediate children of their [[triggering widget|TriggeringWidgets]], but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding: ``` <$button> <$action-sendmessage $message="tm-home"/> <$action-sendmessage $message="tm-full-screen"/> Click me! ``` ! Action Execution Modes {{ActionWidget Execution Modes}}