You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

$webResourceManager.requireResource("info.magnolia.sys.confluence.artifact-info-plugin:javadoc-resource-macro-resources") CompositeFieldDefinition
 defines a complex field that is composed of multiple simple fields. Use a composite 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 consist 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.

Class: info.magnolia.ui.form.field.definition.CompositeFieldDefinition

Here is a composite field that consists of a text field and a date field.

Composite field properties

Simple composite field definition:

form:
  tabs:
    - name: tabEvent
      label: Event
      fields:
        - name: title
          class: info.magnolia.ui.form.field.definition.CompositeFieldDefinition
          label: Event
          fields:
            - name: title
              class: info.magnolia.ui.form.field.definition.TextFieldDefinition
              label: Title
            - name: date
              class: info.magnolia.ui.form.field.definition.DateFieldDefinition
              label: Date
Node nameValue

 
form

 

 
tabs

 

 
tabEvent

 

 
fields

 

 
event

 

 
fields

 

 
title

 

 
class

info.magnolia.ui.form.field.definition.TextFieldDefinition

 
label

Title

 
date

 

 
class

info.magnolia.ui.form.field.definition.DateFieldDefinition

 
label

Date

 
class

info.magnolia.ui.form.field.definition.CompositeFieldDefinition

 
label

Event

You can use  common field properties and the following properties in a composite field definition:

Properties:

<composite field name>

required

Name of parent composite field.

fields

required

Node containing child fields.

<child field names>

required

Name of the child fields. You can use any simple field definition.

class

required

Field definition class of the child field.

<child field properties>

required/optional

Any properties the child field supports.

class

required

Definition class of the composite parent field. Use info.magnolia.ui.form.field.definition.CompositeFieldDefinition.

layout

optional, default is horizontal

Defines the layout of the child fields: horizontal or vertical.

transformerClass

optional, default is info.magnolia.ui.form.field.transformer.composite.CompositeTransformer

Custom property transformer definition.

Best practice

When nesting composite fields, use the delegating transformer classes, DelegatingCompositeFieldTransformer or DelegatingMultiValueFieldTransformer, rather than the other available transformer classes.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels