У меня есть не слишком сложная форма, которая является многозначным составным полем, и внутри этого составного поля есть заголовок, а затем сворачиваемый составной элемент. поле с несколькими полями ниже.
Дерево выглядит так:
- tab
- composite
- title
- collapsible composite
- field 1
- field 2
- ...
Я делаю это так, потому что полей слишком много, и упорядочивать их со всеми открытыми полями может быть проблематично, поэтому идея состоит в том, чтобы иметь составное поле с заголовком и сворачиваемое составное поле , чтобы я мог свернуть все поля, но заголовок по-прежнему отображается.
Это работает нормально, я могу добавлять элементы, изменять их порядок, сворачивать, и все сохраняется правильно.
Однако после сохранения, когда я пытаюсь отредактировать свой компонент, у меня возникает следующая ошибка:
Caused by: java.lang.ClassCastException: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition$$EnhancerByCGLIB$$ea3bb8e3 cannot be cast to info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
А вот мой код (только интересная часть).
- name: tabTiles
label: Tiles
fields:
- name: tiles
label: Tiles
i18n: true
class: info.magnolia.ui.form.field.definition.MultiValueFieldDefinition
transformerClass: info.magnolia.ui.form.field.transformer.multi.MultiValueSubChildrenNodePropertiesTransformer
field:
name: linksCompositeField
class: info.magnolia.ui.form.field.definition.CompositeFieldDefinition
transformerClass: info.magnolia.ui.form.field.transformer.composite.NoOpCompositeTransformer
label: Collapse
layout: vertical
fields:
- name: title
label: Tile title
class: info.magnolia.ui.form.field.definition.TextFieldDefinition
- name: linksCompositeField
class: info.magnolia.editor.app.field.CollapsibleCompositeFieldDefinition
transformerClass: info.magnolia.ui.form.field.transformer.composite.NoOpCompositeTransformer
label: Collapse
fields:
- name: icon
class: info.magnolia.ui.form.field.definition.LinkFieldDefinition
targetWorkspace: dam
appName: assets
required: true
label: Select image
identifierToPathConverter:
class: info.magnolia.dam.app.assets.field.translator.AssetCompositeIdKeyTranslator
contentPreviewDefinition:
contentPreviewClass: info.magnolia.dam.app.ui.field.DamFilePreviewComponent
- name: text
label: Tile text
class: info.magnolia.ui.form.field.definition.RichTextFieldDefinition
- name: information
class: info.magnolia.ui.form.field.definition.StaticFieldDefinition
label: Link
value: ''
- name: linkText
label: Link text
class: info.magnolia.ui.form.field.definition.TextFieldDefinition
- name: link
label: Link
class: info.magnolia.ui.form.field.definition.LinkFieldDefinition
targetWorkspace: website
appName: pages
- !include:/foundation-components/dialogs/include/linkTargetSelectField.yaml
- name: linkTitle
label: Link title
class: info.magnolia.ui.form.field.definition.TextFieldDefinition
Любая помощь очень ценится.