GUI rules
---------

.. _21.3-PB2|EKB-12640:

For model forms, a set of rules can be defined that specify:

#. An initial state of the model form.
#. A change in its behavior and values on it in accordance with data and
   events that take place on the form.

This set of rules is defined in a GUI Rule model and it applies to a
selected model's form when it is used.

GUI Rules can, for example, be used to hide or show input controls, to
enter values or to enable controls in accordance with change or input on
the form.

When a GUI Rule is created, the design form applies to the specified
model. Field Specific rules can be specified as well as Events on
fields. 

If a **Field** is assigned a **Property** of ``Type``, the **Value**
dropdown shows possible choices. Custom values (for example ``multiline``)
are also allowed.

Events are associated with Actions on fields. In other words, if
a certain event takes place in a field, actions can be carried out on
other fields.

The actions of an event depend on conditions. More than one condition
can be specified.

.. note::

  * In the case where a GUI Rule is applied to a Device Model, the attributes of 
    all device versions are available for events and actions. The GUI drop-down
    lists for GUI Rules would list the union of device attributes. In other words, 
    since all device versions are supported by GUI Rules, a GUI Rule can be defined to
    support all these device versions. If a specific form on the GUI does not display
    a particular field, any related GUI Rule will not be applied to the form.
  * An event GUI Rule at a higher hierarchy level will precede a Field Specific GUI Rule
    at a lower hierarchy level, but for Dropdown Filters, we create event GUI Rules at
    the lower hierarchy level, thereby avoiding this precedence.


