Comment on page
Extensions
The
<xxf:setvisited>
action allows updating the "visited" flag of a control. It has the following attributes:control
: id of the initial control to updatevisited
: iftrue
, mark the control(s) as visited, otherwise as not visitedrecurse
: iftrue
, update the given control as well as descendant controls, otherwise update just the specified control
All attributes are AVTs.
Example:
<xxf:setvisited
control="{$control-id}"
visited="true"
recurse="true"/>
See also the
xxf:visited()
function.The
xxf:deferred-updates
attribute is supported on the following actions:<xf:setfocus>
<xf:setindex>
<xf:toggle>
Setting this attribute to
false
disables invoking deferred update behavior. This can lead to performance improvements when a large number of such actions run in a sequence.Examples:
<xf:setindex
repeat="my-repeat"
index="2"
xxf:deferred-updates="false"/>
<xf:setindex
repeat="my-repeat"
index="2"
xxf:deferred-updates="{count(item) > 0}"/>
[SINCE Orbeon Forms 2021.1]
With Orbeon Forms, the
<xf:toggle>
action also causes ancestor <xf:switch>
controls, if present, to toggle so that every ancestor <xf:case>
is visible.Orbeon Forms adds an extension attribute,
xxf:toggle-ancestors="false"
, which allows toggling only the given <xf:switch>
, even if it is contained within ancestor <xf:switch>
/<xf:case>
controls that are not visible, without toggling those.For example, with:
<xf:switch id="my-outer-switch">
<xf:case id="my-outer-case-1"/>
<xf:case id="my-outer-case-2">
<xf:switch id="my-inner-switch">
<xf:case id="my-inner-case-1"/>
<xf:case id="my-inner-case-2"/>
</xf:switch>
</xf:case>
</xf:switch>
Assuming, initially:
my-outer-case-1
is selectedmy-outer-case-2
is deselectedmy-inner-case-1
is selectedmy-inner-case-2
is deselected
The following action:
<xf:toggle
case="my-inner-case-2"
xxf:toggle-ancestors="false"/>
Produces the following result:
my-outer-case-1
remains selectedmy-outer-case-2
remains deselectedmy-inner-case-1
is newly deselectedmy-inner-case-2
is newly selected
While the default behavior, with action:
<xf:toggle
case="my-inner-case-2"/>
Produces the following result:
my-outer-case-1
is newly deselectedmy-outer-case-2
is newly selectedmy-inner-case-1
is newly deselectedmy-inner-case-2
is newly selected
Last modified 1yr ago