DEPRECATED
Collapsible composite field definition has been deprecated since Magnolia 6.0. It extends info.magnolia.ui.form.field.definition.CompositeFieldDefinition
of Magnolia 5 UI. There is no corresponding implementation that would extend info.magnolia.ui.field.CompositeFieldDefinition
of Magnolia 6 UI.
This field is provided by the Content Editor module, which is a DX Core module.
CollapsibleCompositeFieldDefinition extends the composite field to add a clickable header that toggles the visibility of the field's content. Editors can click the header to show and hide the subfields.
Like the composite field, the collapsible composite field defines a complex field that is composed of multiple simple fields.
class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition
fieldType: collapsibleComposite
The collapsible composite field is useful in content editor apps like the Stories app as shown below.
Collapsed:
Expanded:
Collapsible composite field properties
Simple collapsible composite field definition:
form: tabs: - name: tabExample fields: - name: event fieldType: collapsibleComposite label: Event fields: - name: title fieldType: text label: Title - name: date fieldType: date label: Date
Composite field properties:
<collapsible composite field name> | required Name of the parent composite field. |
| required Node containing child fields. |
| required Name of the child fields. You can use any simple field definition. |
| required Field definition class of the child field. |
| required/optional Any properties the child field supports. |
Properties specific to the collapsible composite field:
| required Definition class of the composite parent field. Use |
| optional, default is Defines whether the field should be collapsed initially. |
| optional, default is Defines the layout of the child fields: In custom content editor apps, this property must remain set to |
| optional, default is Custom property transformer definition. |
or
| required Defines the field type via either a field alias name or a fully-qualified field definition class name. See Field definition: Field types. To check the correct form of the name, use the Definitions app. |
defaultValue | optional Pre-filled default value displayed in the field. The value can be overwritten by the user. Use alphanumeric characters. Applied only when creating a new item, not for already existing items. |
description | optional Help text displayed when the user clicks the help icon. The value can be literal or retrieved from the message bundle with a key. Use alphanumeric characters in literal values. Not applicable to the static field. |
i18n | optional, default is 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 |
i18nBasename | optional, default is the message bundle defined in the dialog definition Message bundle such as |
label | optional Field label displayed to editors. The value can be literal such as If you do not provide the property, Magnolia will fall back to a generated i18n key and display the key in the UI. If you do not want a label at all, define the property and set its value to a blank space such as |
name | optional, default is the name of the field's parent node Name of the node where the value is saved. The name |
placeholder | optional Placeholder text to be displayed when the field is empty. The value is i18n-able. |
readOnly | optional, default is Makes the field uneditable. Adding this property has the same effect as creating a static field. |
required | optional, default is Makes the field required (mandatory). An asterisk is displayed next to the field label. See also Checking for null values. |
requiredErrorMessage | optional, default is Error message displayed when required is true and the user saves an empty field. The value can be literal or retrieved from the message bundle with a key such as |
styleName | optional Adds one or more style names to this component. Multiple styles can be specified as a space-separated list of style names such as |
transformerClass | optional Property transformer classes define how field values are stored in the repository. Each field has a default transformer class. You don't need to define a class unless you want to override the default. The value is a fully-qualified class name. Complex field definitions may define a different default transformer in their constructor. See Transforming field values for more. |
type | optional, most fields set a default value automatically JCR property type of the stored value such as |
Best practice
When nesting composite fields, use the delegating transformer classes (DelegatingCompositeFieldTransformer or DelegatingMultiValueFieldTransformer) rather than the other available transformer classes.