The basic idea that lies behind the determinacy constraint is that a certain value
or existence of one node can somehow affect a different node.
The node that affects the other one is the determinant, whereas the one that is
affected is called the dependant.
The change that is executed on the dependant is called the Action.
There are several different actions available. There is also a possibility to run
a custom action.
It depends on the determinacy existence or value, whether the action will be fired.
A condition that is used can be created by properly setting a property Operator
and a property ValueToCompare.
- If the
Operator's property value is Exists - the action
is performed whenever the item exists.
- If the
Operator's property value is NotExists - the action
is performed whenever the item does not exists.
- If the
Operator's property value is Equals, NotEquals,
GreaterThan, GreaterThanEqual, LessThan,
LessThanEqual - the action is performed whenever the comparison between
the item's value and the ValueToCompare property using the given operator
is true.
The ValueToCompare property can also be provided as a list of alternative
values (a | b | c). In such a situation only Equals and NotEquals
operator values make sense. When the operator is set to Equals, then
the action is fired if the item's value equals one of the values in the array. When
the operator is set to NotEquals, then the action is fired if the item's
value does not equal any of the values in the array.
One determinacy may have one or more dependants. Each dependant can have one or
more actions fired on itself if the determinant's condition matches. There are several
predefined actions available. There is also a possibility to write a custom action
The available actions are:
Add - adds a dependant item.
Disable - makes the dependant item disabled.
Enable - makes the dependant item enabled.
Hide - makes the dependant item invisible (notice that while invisible,
the item may still be required, which may make it impossible to input a valid form
data, whenever hiding a field make it optional or set its value).
Remove - removes a dependant item.
SetOptional - makes the dependant item optional.
SetRequired - makes the dependant item required.
SetValue - sets teh value of the dependant item to the Value
property of the action.
Show - makes the dependant item visible.