info.magnolia.ui.field.ConfiguredSwitchableFieldDefinition renders a complex field that displays alternative forms depending on user choice. Use the field to switch, for example, between:
Plain text and rich text editors.
Unauthenticated and authenticated SMTP settings.
Same and different addresses for shipping and billing.
This switchable field definition is part of the Magnolia 6 UI
framework. The fully qualified class name is
info.magnolia.ui.field.ConfiguredSwitchableFieldDefinition.
Options in radioButtonGroupField are positioned
vertically by default. A horizontal layout can be configured using the common
layout property of option group field.
forms
required
List of forms to switch between. Forms define fields and similar components as well as their layout.
A switchable field has different options, in which each option may have one or more fields. However, depending on the radio button selection, only one option is visible in the UI. An example switchable field is shown below.
If the removePreviouslySelected property is set to true, only data for the selected (visible when viewed in the UI) option is saved.
propertyNameDecorator
optional, default is info.magnolia.ui.field.NoopNameDecorator
Decorates a property name for a node.
Common complex field properties
Property
Description
name
required
Name of the field definition item. Derived from the configured node
name. Use alphanumeric characters without spaces.
class
required (unless $type is used)
Type of the field definition item. The value must be a fully qualified
class name and a subtype of info.magnolia.ui.field.FieldDefinition.
See
Field
types for possible values.
$type
You can use this as a shortcut for class if the definition class is
annotated with info.magnolia.ui.field.FieldType. The proper value is
defined by the annotation.
Do not use JcrMultiValueFieldDefinition with any item provider other than the default JcrPropertyProvider.
description
optional
Help text displayed when the user clicks the help icon. The value can be
literal or a
key
of a
message
bundle.
i18n
optional, default is false
Enables i18n
authoring support, which allows editors to write foreign-language or
regionally targeted content. A two-letter language identifier (en,
de, fr, etc.) is displayed on controls where i18n is set to
true.
When configuring CurrentItemProviderDefinition with i18n to true for a Switchable field, the i18n sub field must also be set to true.
label
optional
Field label displayed to editors. The value can be literal or a
key
of a
message
bundle.
If you do not provide the property, Magnolia will fall back to a
generated i18n key.
If you do not want to have any label, set the property to an empty
string such as label: "" in YAML.
styleName
optional
Additional style information for an editor property definition item applied to the element when the form is rendered.
The value can be a CSS class or a list of CSS classes separated by white spaces.
The style name will be rendered as an HTML class name, which can be used in a CSS definition.
The class name is added to the field by calling the Vaadin method addStyleName.