<callAction>
<callAction> is a General Operator
component that triggers an action based on a click interaction or a specified boolean condition. The
available actions are:
addChildren: Adds one or more children to the target component.deleteChildren: Deletes one or more children from the target component.submitAnswer: Submits the target answer component.resample: Resamples the target component.startAnimation: Starts the animation of the target component.stopAnimation: Stops the animation of the target component.toggleAnimation: Toggles the animation of the target component.playVideo: Plays the target video component.pauseVideo: Pauses the target video component.navigateToTarget: Navigates to a specified target, such as a reference link.copyDoenetMLToClipboard: Copies the DoenetML of the target component to the clipboard.
Attributes and Properties
| Attribute | Type | Values |
|---|---|---|
actionName = "…" | text | |
anchor = "…" | point | |
draggable = "…" | boolean | "true" "false" |
labelIsName = "…" | boolean | "true" "false" |
number = "…" | ||
numbers = "…" | ||
positionFromAnchor = "…" | text | "upperright" "upperleft" "lowerright" "lowerleft" "top" "bottom" "left" "right" "center" |
target = "…" | ||
triggerWhen = "…" | "true" "false" | |
triggerWhenObjectsClicked = "…" | ||
triggerWhenObjectsFocused = "…" | ||
triggerWith = "…" |
| Property | Type |
|---|---|
$c.actionName | text |
$c.anchor | point |
$c.disabled | boolean |
$c.draggable | boolean |
$c.fixed | boolean |
$c.fixLocation | boolean |
$c.hidden | boolean |
$c.label | label |
$c.labelIsName | boolean |
$c.positionFromAnchor | text |
Example: Add a <point> child to a <graph>
Each time the <callAction> button is clicked, a new <point> child
is added to the graph at .
Example: Delete a <point> child from a <graph>
Each time the second <callAction> button is clicked, a <point>
child that was added previously is deleted from the <graph>.
Example: Perform multiple actions with one click
Multiple <callActions> can be performed with the action of one
button click when grouped together inside a <triggerSet> component.
Example: Generate new random numbers
Each time the <callAction> button is clicked, the <sampleRandomNumbers/> component
is resampled.
Attribute Example: labelIsName
Using the labelIsName attribute is a shortcut to adding a
separate <label> child to the <callAction> component.
Attribute Example: anchor
The anchor attribute specifies the position of the <callAction> button
when the <callAction> is used inside a <graph>.
Attribute Example: actionName
The actionName attribute specifies the action to be performed by the <callAction> component.
Attribute Example: actionName=“resample”
The resample specification for the actionName acts on
the <sampleRandomNumbers> component to generate a new set of random numbers.
Attribute Example: actionName=“addChildren”
The addChildren specification for the actionName attribute creates
one or more children of the target component.
Attribute Example: actionName=“deleteChildren”
The deleteChildren specification for the actionName attribute deletes
one or more children of the target component that have been added to
the <graph> with a <callAction>.
Attribute Example: actionName=“submitAnswer”
The submitAnswer specification for the actionName attribute triggers
automatic submission of the target <answer> when the condition
for the <callAction> is satisfied.
Attribute Example: actionName=“startAnimation”
The startAnimation specification for the actionName attribute acts on a
target <animateFromSequence/> component.
Attribute Example: actionName=“stopAnimation”
The stopAnimation specification for the actionName attribute acts on a
target <animateFromSequence/> component.
Attribute Example: actionName=“toggleAnimation”
The toggleAnimation specification for the actionName attribute
acts on a target <animateFromSequence/> component.
Attribute Example: actionName=“playVideo”
The playVideo specification for the actionName attribute acts on a
target <video/> component.
Attribute Example: actionName=“pauseVideo”
The pauseVideo specification for the actionName attribute
acts on a target <video/> component.
Attribute Example: actionName=“navigateToTarget”
The navigateToTarget specification for the actionName attribute
acts on a target <ref/> component. The user is automatically
taken to the referenced link when the condition for the <callAction> becomes true.
Attribute Example: actionName=“copyDoenetMLToClipboard”
The copyDoenetMLToClipboard specification for the actionName attribute
acts on a target sectional component.
Attribute Example: triggerWhen
The triggerWhen attribute takes a boolean condition that triggers
the action to occur when the condition is true.
Note that this process is repeated each time the boolean is newly true.
To observe this behavior, drag the point back and forth
into the negative region several times. Also, move the blue <point> child each
time so that you can clearly see the new <point> child that appears.
Attribute Example: triggerWith
The triggerWith attribute references a named <callAction>, <updateValue>,
<triggerSet>, <booleanInput>, or an <answer>.
When the user perfoms any interaction with the referenced
component (including submitting an incorrect answer or unchecking a checkbox),
the <callAction> is performed.
Attribute Example: triggerWhenObjectsClicked
The triggerWhenObjectsClicked attribute takes a component reference as input. Any
graphical component that can be clicked can serve as a trigger.