Type to start searching...

Switch : Layout

A container that displays only one of its child views at a time - in the root of a layout.

Description

Switches allow you to polymorphically switch the current layout based on some attributes of the object you are displaying.

The value property of the switch is an association path or expression that points to an attribute on the object. This path typically starts with a layoutRef whose model is traversed.

All contained container views have a case property and this is used to determine which view to present.

Composites, Tabs, and Switches are containers. They contain other views and may contain each other to any level. e.g. Composite->Tabs or Tabs->Switch->Tabs

In Portlets and Dialogs, they are mainly used to organize Layouts. In Layouts, they are mainly used to organize Controls e.g. Charts, Tables, Cards, ...

Properties
augment : uiIdentifier

A path to the view to augment with this view.

Augmentation rules depend on the types of augmented and augmenting views. When augmented view is a layout, such as Composite, Tabs, or Switch, and augmenting view is also of the same type, the children views will be added to the augmented layout. When both augmented views are layouts but of different type, the augmenting view is inserted next to the augmented one. When augmented view is primitive, the augmenting view is inserted next to it.
Valid values based on“string”.
:?[\p{L}_][\p{L}\p{N}_]*(:[\p{L}_][\p{L}\p{N}_]*)*

Value must begin with a letter. Case and length are not restricted. Letters and numbers are allowed. Colon is used as a scope separator. Spaces and other punctuation characters are not allowed.

caption : string

Caption text

enabled : string

Enablement flag association path or expression

name : identifier

Unique view name

Valid values based on“string”.
:?[\p{L}_][\p{L}\p{N}_]*(:[\p{L}_][\p{L}\p{N}_]*)*

Value must begin with a letter or an underscore. Case and length are not restricted. Letters, numbers and underscores are allowed. Colon is used as a scope separator. Spaces and other punctuation characters are not allowed.

privilege : identifier

Access privilege

Valid values based on“string”.
:?[\p{L}_][\p{L}\p{N}_]*(:[\p{L}_][\p{L}\p{N}_]*)*

Value must begin with a letter or an underscore. Case and length are not restricted. Letters, numbers and underscores are allowed. Colon is used as a scope separator. Spaces and other punctuation characters are not allowed.

value : string

Switch value view path followed by an optional association path used to drive polymorphic display.

The expression part of a polymorphic layout switch. This is conceptually similar to a JAVA switch, but for UI. The value property contains the expression that the cases are evaluated against. If this resolves to a non-primitive, the cases are compared against the non-primitive's class type. Note: The class, all subclasses, and the 'null' case should be handled. If this resolves to a primitive, the cases are compared directly with the value. Note: All possible values and the 'null' case should be handled. That being said Enumerated values and booleans are most appropriate.

Within the Switch the cases are checked from left to right. The first Layout to match will be the one to display. If the Switch is on a layout and the value is (@), the association is defaulted to the current instance of the layouts's underlying model.

Example


See the Switch case property for an example.

visible : string

Default visibility flag association path or expression

Default visiblity set to a control but value can be overriden by script, client state, or control-specific mechanism such as setListColumn in a table.
Content
  • Sequence of:

    • Choice of:

      • Composite [1..1] - A container that displays its child views in columns - within a switch in a layout.

      • Tabs [1..1] - A container that displays its child views in tabs - within a switch in a layout.

      • Switch [1..1] - A container that displays only one of its child views at a time - within a switch in a layout.

Example


For example, if the object is a Person, you can show a very different layout than if
the object is a Company or Household.

Parents
  • Layout
  • Layout - Layouts arrange and bind controls for use in Portlets and Dialogs.
  • Layout