Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

info.magnolia.ui.form.field.transformer.* In 6 UI
basic.BasicTransformer Not needed. Its functions are obsolete; some are taken over by Vaadin PropertySet.
composite.CompositeTransformer

Use info.magnolia.ui.editor.CurrentItemProvider and set propertyNameDecorator to info.magnolia.ui.field.PrefixNameDecorator.

composite.SwitchableTransformer

Use info.magnolia.ui.editor.CurrentItemProvider and set propertyNameDecorator to info.magnolia.ui.field.PrefixNameDecorator.

Example side-by-side configurations

Other 5 UI transformer classes

info.magnolia.ui.form.field.transformer.*In 6 UI
composite.DelegatingCompositeFieldTransformerUse info.magnolia.ui.editor.CurrentItemProvider.
composite.NoOpCompositeTransformerNot needed.
multi.DelegatingMultiValueFieldTransformerUse info.magnolia.ui.editor.CurrentItemProvider.
multi.DelegatingMultiValueSubnodeTransformer

Use info.magnolia.ui.editor.JcrChildNodeProvider and set:

  • supportI18N to false
  • propertyNameDecorator to info.magnolia.ui.field.AlwaysEmptyPrefixNameDecorator
multi.MultiValueChildNodeTransformerDeprecated, no automatic conversion.
multi.MultiValueChildrenNodeTransformerDeprecated, no automatic conversion.
multi.MultiValueJSONTransformerDeprecated, no automatic conversion.
multi.MultiValueSubChildrenNodePropertiesTransformer

Use info.magnolia.ui.editor.JcrChildNodeProvider and set:

  • supportI18N to false
  • entryResolution to the now deprecated info.magnolia.ui.editor.ByLexicographicallyIndexedChildNodes$Definition
multi.MultiValueSubChildrenNodeTransformerDeprecated, no automatic conversion.

Example configurations

Magnolia 5 UI definitionMagnolia 6 UI equivalent
Code Block
languageyml
Switchable in 5 UISwitchable in 6 UI
Code Block
form:
  tabs:
    - name: tabSwitch
      fields:
        - name: message
          fieldType: switchable
          options:
            - name: plainText
              value: plainText
            - name: richText
              value: richText
          fields:
            - name: plainText
              fieldType: text
            - name: richText
              fieldType: richText

    - name: tabMultiBasic
      fields:
      - name: multitext
        fieldType: multiValue
        transformerClass: info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueFieldTransformer
        field:
            name: txt
            fieldType: text

    - name: tabMultiDeleg
      fields:
      - name: items
        fieldType: multiValue
        transformerClass: info.magnolia.ui.form.field.transformer.multi.DelegatingMultiValueSubnodeTransformer
        field:
          name: itemComposite
          fieldType: composite
          transformerClass: info.magnolia.ui.form.field.transformer.composite.DelegatingCompositeFieldTransformer
          fields:
          - name: text
            fieldType: text
          - name: link
            fieldType: text

    - name: tabMultiLex
      fields:
      - name: itemsLex
        fieldType: multiValue
        transformerClass: info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer
        field:
          name: itemComposite
          fieldType: composite
          transformerClass: info.magnolia.ui.form.field.transformer.composite.NoOpCompositeTransformer
          fields:
          - name: text
            fieldType: text
          - name: link
            fieldType: text
Code Block
languageyml
switchable:
      $type: switchableField
      field:
        $type: radioButtonGroupField
        datasource:
          $type: optionListDatasource
          options:
            - name: plain
              value: plain
            - name: rich
              value: rich
      itemProvider:
        $type: currentItemProvider
      propertyNameDecorator: info.magnolia.ui.field.PrefixNameDecorator
      forms:
        - name: plain
          properties:
            plainText:
              $type: textField
        - name: rich
          properties:
            richText:
              $type: richTextField

Other 5 UI transformer classes

info.magnolia.ui.form.field.transformer.*In 6 UIcomposite.DelegatingCompositeFieldTransformerUse


    multitext:
      $type: jcrMultiField
      itemProvider:
        $type: currentItemProvider
      field:
        $type: textField
        name: text

    items:
      $type: jcrMultiField
      itemProvider:
        $type: jcrChildNodeProvider
        #supportsI18N: false
      entryResolution:
        class: info.magnolia.ui.editor.
CurrentItemProvider.composite.NoOpCompositeTransformerNot needed.multi.DelegatingMultiValueFieldTransformerUse info.magnolia.ui.editor.CurrentItemProvider.multi.DelegatingMultiValueSubnodeTransformer

Use info.magnolia.ui.editor.JcrChildNodeProvider and set:

  • supportI18N to false
  • propertyNameDecorator to
    MultiFieldEntryResolution$Definition
            propertyNameDecorator: info.magnolia.ui.field.AlwaysEmptyPrefixNameDecorator
    multi.MultiValueChildNodeTransformerDeprecated, no automatic conversion.multi.MultiValueChildrenNodeTransformerDeprecated, no automatic conversion.multi.MultiValueJSONTransformerDeprecated, no automatic conversion.multi.MultiValueSubChildrenNodePropertiesTransformer

    Use info.magnolia.ui.editor.JcrChildNodeProvider and set:

  • supportI18N to false
  • entryResolution to the now deprecated
    
          field:
            $type: compositeField
            properties:
              text:
                $type: textField
              link:
                $type: textField
    
        itemsLex:
          $type: jcrMultiField
          itemProvider:
            $type: jcrChildNodeProvider
            #supportsI18N: false
          entryResolution:
            class: info.magnolia.ui.editor.ByLexicographicallyIndexedChildNodes$Definition
    multi.MultiValueSubChildrenNodeTransformerDeprecated, no automatic conversion.
    
          field:
            $type: compositeField
            properties:
              text:
                $type: textField
              link:
                $type: textField

    Personalization (trait) transformers

    ...