CompositeFieldDefinition renders a complex field composed of one or more fields (compositeField).
Use the field for objects that cannot be expressed as simple text strings or numbers such as:
Setting conditions for selecting the next step in a multistep form.
Assigning categories to a content item where the composite field
consists of a category dropdown and a button for reordering categories.
Defining an image gallery using a media select field where the
composite media field consists of a thumbnail and caption text.
Specifying an
access
control list for JCR workspaces where the composite ACL field consists
of permission, scope and path.
There is also JsonCompositeFieldDefinition to be used in an app with its own
JSON
data source (jsonCompositeField).
These composite field definitions are part of the Magnolia 6 UI
framework. Their fully qualified class names are:
If you work with the Magnolia 5 UI framework, see
Composite
field for Magnolia 5 UI instead. There is no corresponding 5 UI
implementation for the JSON composite field.
JSON data source is read-only.
Therefore, it only supports read-only fields in, typically, the content detail subapp of a read-only REST app.
jsonCompositeField is designed to show field data from REST sources; you can’t add, edit, or delete a field entry.
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.
You can’t configure this property through YAML but it can be used in your Java code.
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.
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.