Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.

Multifield with richtext & select

Avatar

Level 1

Hi, I'm creating a dialog with a rich text and a select field. The issue is that it doesn't save properly. The select doesn't appear, and when it does, it doesn't save and gets erased every time I reopen the console to edit again.

 

My dialog: 

 

<multi granite:class=""
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/multifield">
<field jcr:primaryType="nt:unstructured"
   sling:resourceType="granite/ui/components/coral/foundation/container"
   name="./Products">
<items jcr:primaryType="nt:unstructured">
<listType jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/select"
fieldLabel="Tipo de elemento de lista"
name="./listType">
<items jcr:primaryType="nt:unstructured">
<select
jcr:primaryType="nt:unstructured"
text="Selecciona un tema"
value="" />
<text
jcr:primaryType="nt:unstructured"
text="Tipo texto"
value="text-type" />
<link
jcr:primaryType="nt:unstructured"
text="Tipo link"
value="link-type" />
</items>
</listType>
<field jcr:primaryType="nt:unstructured"
sling:resourceType="cq/gui/components/authoring/dialog/richtext"
externalStyleSheets="[/apps/unicaja/clientlibs/clientlib-author/css/rteStyles.css]"
maxlength="50" name="./StaticList" required="true"
useFixedInlineToolbar="{Boolean}true">
<rtePlugins
jcr:primaryType="nt:unstructured">
<format jcr:primaryType="nt:unstructured"
features="bold,italic,underline" />
<paraformat
jcr:primaryType="nt:unstructured" features="*" />
<subsuperscript
jcr:primaryType="nt:unstructured" features="*" />
<justify jcr:primaryType="nt:unstructured"
features="*" />
<links jcr:primaryType="nt:unstructured"
features="modifylink,unlink" />
<lists jcr:primaryType="nt:unstructured"
features="[ordered,unordered]" />
<misctools jcr:primaryType="nt:unstructured">
<specialCharsConfig
jcr:primaryType="nt:unstructured">
<chars jcr:primaryType="nt:unstructured">
<default_copyright
jcr:primaryType="nt:unstructured"
entity="&amp;copy;" name="copyright" />
<default_euro
jcr:primaryType="nt:unstructured"
entity="&amp;euro;" name="euro" />
<default_registered
jcr:primaryType="nt:unstructured"
entity="&amp;reg;" name="registered" />
<default_trademark
jcr:primaryType="nt:unstructured"
entity="&amp;trade;" name="trademark" />
</chars>
</specialCharsConfig>
</misctools>
<paraformat
jcr:primaryType="nt:unstructured" features="*">
<formats jcr:primaryType="nt:unstructured">
<default_p
jcr:primaryType="nt:unstructured"
description="Paragraph" tag="p" />
<default_h1
jcr:primaryType="nt:unstructured"
description="Heading 1" tag="h1" />
<default_h2
jcr:primaryType="nt:unstructured"
description="Heading 2" tag="h2" />
<default_h3
jcr:primaryType="nt:unstructured"
description="Heading 3" tag="h3" />
<default_h4
jcr:primaryType="nt:unstructured"
description="Heading 4" tag="h4" />
<default_h5
jcr:primaryType="nt:unstructured"
description="Heading 5" tag="h5" />
<default_h6
jcr:primaryType="nt:unstructured"
description="Heading 6" tag="h6" />
</formats>
</paraformat>
<table jcr:primaryType="nt:unstructured"
features="-">
<hiddenHeaderConfig
jcr:primaryType="nt:unstructured"
hiddenHeaderClassName="cq-wcm-foundation-aria-visuallyhidden"
hiddenHeaderEditingCSS="cq-RichText-hiddenHeader--editing" />
</table>
<tracklinks
jcr:primaryType="nt:unstructured" features="*" />
<styles jcr:primaryType="nt:unstructured"
features="*">
<styles jcr:primaryType="cq:WidgetCollection">
<greenXL jcr:primaryType="nt:unstructured"
cssName="h2 primary-color" text="XL Verde" />
<greenL jcr:primaryType="nt:unstructured"
cssName="h3 primary-color" text="L Verde" />
<blackL jcr:primaryType="nt:unstructured"
cssName="h3 primary-text-color" text="L Negro" />
<blackLBold jcr:primaryType="nt:unstructured"
cssName="h3 bold-text primary-text-color" text="L Negro Negrita"/>
<greenM jcr:primaryType="nt:unstructured"
cssName="h4 primary-color" text="M Verde" />
<blackM jcr:primaryType="nt:unstructured"
cssName="h4 primary-text-color" text="M Negro" />
<greenS jcr:primaryType="nt:unstructured"
cssName="h5 primary-color" text="S Verde"
wrapperClass="h5 primary-color" />
<blackS jcr:primaryType="nt:unstructured"
cssName="h5 primary-text-color" text="S Negro"
wrapperClass="h5 primary-text-color" />
<blackSBold jcr:primaryType="nt:unstructured"
cssName="h5 bold-text primary-text-color" text="S Negro Negrita" wrapperClass="h5 bold-text primary-text-color"/>
<blackXS jcr:primaryType="nt:unstructured"
cssName="h6 primary-text-color" text="XS Negro" />
</styles>
</styles>
</rtePlugins>
<uiSettings
jcr:primaryType="nt:unstructured">
<cui jcr:primaryType="nt:unstructured">
<inline jcr:primaryType="nt:unstructured"
toolbar="[format#bold,format#italic,format#underline,#justify,#styles,subsuperscript#subscript,subsuperscript#superscript,lists#unordered,lists#ordered,links#modifylink,links#unlink,#paraformat]">
<popovers jcr:primaryType="nt:unstructured">
<styles jcr:primaryType="nt:unstructured"
items="styles:getStyles:styles-pulldown"
ref="styles" />
<justify jcr:primaryType="nt:unstructured"
items="[justify#justifyleft,justify#justifycenter,justify#justifyright]"
ref="justify" />
<lists jcr:primaryType="nt:unstructured"
items="[ordered,unordered]" ref="lists" />
<paraformat
jcr:primaryType="nt:unstructured"
items="paraformat:getFormats:paraformat-pulldown"
ref="paraformat" />
</popovers>
</inline>
<dialogFullScreen
jcr:primaryType="nt:unstructured"
toolbar="[format#bold,format#italic,format#underline,#styles,subsuperscript#subscript,subsuperscript#superscript,justify#justifyleft,justify#justifycenter,justify#justifyright,lists#unordered,lists#ordered,lists#outdent,lists#indent,links#modifylink,links#unlink,table#createoredit,#paraformat,image#imageProps]">
<popovers jcr:primaryType="nt:unstructured">
<paraformat
jcr:primaryType="nt:unstructured"
items="paraformat:getFormats:paraformat-pulldown"
ref="paraformat" />
<styles jcr:primaryType="nt:unstructured"
items="styles:getStyles:styles-pulldown"
ref="styles" />
</popovers>
</dialogFullScreen>
<tableEditOptions
jcr:primaryType="nt:unstructured"
toolbar="[table#insertcolumn-before,table#insertcolumn-after,table#removecolumn,-,table#insertrow-before,table#insertrow-after,table#removerow,-,table#mergecells-right,table#mergecells-down,table#mergecells,table#splitcell-horizontal,table#splitcell-vertical,-,table#selectrow,table#selectcolumn,-,table#ensureparagraph,-,table#modifytableandcell,table#removetable,-,undo#undo,undo#redo,-,table#exitTableEditing,-]" />
</cui>
</uiSettings>
</field>
</items>
</field>
</multi>

 

3 Replies

Avatar

Level 4

Hi @AlexCa17,

You missed composite=true property for multifield and your select uses Coral 2 component, but multifield - Coral 3.

 

Please, fix your multifield as below:

 

<multi granite:class=""
       jcr:primaryType="nt:unstructured"
       sling:resourceType="granite/ui/components/coral/foundation/form/multifield"
       composite="true">
    <field jcr:primaryType="nt:unstructured"
           sling:resourceType="granite/ui/components/coral/foundation/container"
           name="./Products">
        <items jcr:primaryType="nt:unstructured">
            <listType jcr:primaryType="nt:unstructured"
                      sling:resourceType="granite/ui/components/coral/foundation/form/select"
                      fieldLabel="Tipo de elemento de lista"
                      name="listType">
                <items jcr:primaryType="nt:unstructured">
                    <select
                            jcr:primaryType="nt:unstructured"
                            text="Selecciona un tema"
                            value=""/>
                    <text
                            jcr:primaryType="nt:unstructured"
                            text="Tipo texto"
                            value="text-type"/>
                    <link
                            jcr:primaryType="nt:unstructured"
                            text="Tipo link"
                            value="link-type"/>
                </items>
            </listType>
            <StaticList jcr:primaryType="nt:unstructured"
                   sling:resourceType="cq/gui/components/authoring/dialog/richtext"
                   externalStyleSheets="[/apps/unicaja/clientlibs/clientlib-author/css/rteStyles.css]"
                   maxlength="50" name="StaticList" required="true"
                   useFixedInlineToolbar="{Boolean}true">
                <rtePlugins
                        jcr:primaryType="nt:unstructured">
                    <format jcr:primaryType="nt:unstructured"
                            features="bold,italic,underline"/>
                    <paraformat
                            jcr:primaryType="nt:unstructured" features="*"/>
                    <subsuperscript
                            jcr:primaryType="nt:unstructured" features="*"/>
                    <justify jcr:primaryType="nt:unstructured"
                             features="*"/>
                    <links jcr:primaryType="nt:unstructured"
                           features="modifylink,unlink"/>
                    <lists jcr:primaryType="nt:unstructured"
                           features="[ordered,unordered]"/>
                    <misctools jcr:primaryType="nt:unstructured">
                        <specialCharsConfig
                                jcr:primaryType="nt:unstructured">
                            <chars jcr:primaryType="nt:unstructured">
                                <default_copyright
                                        jcr:primaryType="nt:unstructured"
                                        entity="&amp;copy;" name="copyright"/>
                                <default_euro
                                        jcr:primaryType="nt:unstructured"
                                        entity="&amp;euro;" name="euro"/>
                                <default_registered
                                        jcr:primaryType="nt:unstructured"
                                        entity="&amp;reg;" name="registered"/>
                                <default_trademark
                                        jcr:primaryType="nt:unstructured"
                                        entity="&amp;trade;" name="trademark"/>
                            </chars>
                        </specialCharsConfig>
                    </misctools>
                    <paraformat
                            jcr:primaryType="nt:unstructured" features="*">
                        <formats jcr:primaryType="nt:unstructured">
                            <default_p
                                    jcr:primaryType="nt:unstructured"
                                    description="Paragraph" tag="p"/>
                            <default_h1
                                    jcr:primaryType="nt:unstructured"
                                    description="Heading 1" tag="h1"/>
                            <default_h2
                                    jcr:primaryType="nt:unstructured"
                                    description="Heading 2" tag="h2"/>
                            <default_h3
                                    jcr:primaryType="nt:unstructured"
                                    description="Heading 3" tag="h3"/>
                            <default_h4
                                    jcr:primaryType="nt:unstructured"
                                    description="Heading 4" tag="h4"/>
                            <default_h5
                                    jcr:primaryType="nt:unstructured"
                                    description="Heading 5" tag="h5"/>
                            <default_h6
                                    jcr:primaryType="nt:unstructured"
                                    description="Heading 6" tag="h6"/>
                        </formats>
                    </paraformat>
                    <table jcr:primaryType="nt:unstructured"
                           features="-">
                        <hiddenHeaderConfig
                                jcr:primaryType="nt:unstructured"
                                hiddenHeaderClassName="cq-wcm-foundation-aria-visuallyhidden"
                                hiddenHeaderEditingCSS="cq-RichText-hiddenHeader--editing"/>
                    </table>
                    <tracklinks
                            jcr:primaryType="nt:unstructured" features="*"/>
                    <styles jcr:primaryType="nt:unstructured"
                            features="*">
                        <styles jcr:primaryType="cq:WidgetCollection">
                            <greenXL jcr:primaryType="nt:unstructured"
                                     cssName="h2 primary-color" text="XL Verde"/>
                            <greenL jcr:primaryType="nt:unstructured"
                                    cssName="h3 primary-color" text="L Verde"/>
                            <blackL jcr:primaryType="nt:unstructured"
                                    cssName="h3 primary-text-color" text="L Negro"/>
                            <blackLBold jcr:primaryType="nt:unstructured"
                                        cssName="h3 bold-text primary-text-color" text="L Negro Negrita"/>
                            <greenM jcr:primaryType="nt:unstructured"
                                    cssName="h4 primary-color" text="M Verde"/>
                            <blackM jcr:primaryType="nt:unstructured"
                                    cssName="h4 primary-text-color" text="M Negro"/>
                            <greenS jcr:primaryType="nt:unstructured"
                                    cssName="h5 primary-color" text="S Verde"
                                    wrapperClass="h5 primary-color"/>
                            <blackS jcr:primaryType="nt:unstructured"
                                    cssName="h5 primary-text-color" text="S Negro"
                                    wrapperClass="h5 primary-text-color"/>
                            <blackSBold jcr:primaryType="nt:unstructured"
                                        cssName="h5 bold-text primary-text-color" text="S Negro Negrita"
                                        wrapperClass="h5 bold-text primary-text-color"/>
                            <blackXS jcr:primaryType="nt:unstructured"
                                     cssName="h6 primary-text-color" text="XS Negro"/>
                        </styles>
                    </styles>
                </rtePlugins>
                <uiSettings
                        jcr:primaryType="nt:unstructured">
                    <cui jcr:primaryType="nt:unstructured">
                        <inline jcr:primaryType="nt:unstructured"
                                toolbar="[format#bold,format#italic,format#underline,#justify,#styles,subsuperscript#subscript,subsuperscript#superscript,lists#unordered,lists#ordered,links#modifylink,links#unlink,#paraformat]">
                            <popovers jcr:primaryType="nt:unstructured">
                                <styles jcr:primaryType="nt:unstructured"
                                        items="styles:getStyles:styles-pulldown"
                                        ref="styles"/>
                                <justify jcr:primaryType="nt:unstructured"
                                         items="[justify#justifyleft,justify#justifycenter,justify#justifyright]"
                                         ref="justify"/>
                                <lists jcr:primaryType="nt:unstructured"
                                       items="[ordered,unordered]" ref="lists"/>
                                <paraformat
                                        jcr:primaryType="nt:unstructured"
                                        items="paraformat:getFormats:paraformat-pulldown"
                                        ref="paraformat"/>
                            </popovers>
                        </inline>
                        <dialogFullScreen
                                jcr:primaryType="nt:unstructured"
                                toolbar="[format#bold,format#italic,format#underline,#styles,subsuperscript#subscript,subsuperscript#superscript,justify#justifyleft,justify#justifycenter,justify#justifyright,lists#unordered,lists#ordered,lists#outdent,lists#indent,links#modifylink,links#unlink,table#createoredit,#paraformat,image#imageProps]">
                            <popovers jcr:primaryType="nt:unstructured">
                                <paraformat
                                        jcr:primaryType="nt:unstructured"
                                        items="paraformat:getFormats:paraformat-pulldown"
                                        ref="paraformat"/>
                                <styles jcr:primaryType="nt:unstructured"
                                        items="styles:getStyles:styles-pulldown"
                                        ref="styles"/>
                            </popovers>
                        </dialogFullScreen>
                        <tableEditOptions
                                jcr:primaryType="nt:unstructured"
                                toolbar="[table#insertcolumn-before,table#insertcolumn-after,table#removecolumn,-,table#insertrow-before,table#insertrow-after,table#removerow,-,table#mergecells-right,table#mergecells-down,table#mergecells,table#splitcell-horizontal,table#splitcell-vertical,-,table#selectrow,table#selectcolumn,-,table#ensureparagraph,-,table#modifytableandcell,table#removetable,-,undo#undo,undo#redo,-,table#exitTableEditing,-]"/>
                    </cui>
                </uiSettings>
            </StaticList>
        </items>
    </field>
</multi>

 

 

Example of multifield configuration from the official doc: https://developer.adobe.com/experience-manager/reference-materials/6-5/granite-ui/api/jcr_root/libs/... 

Avatar

Level 1

Hello, is there any way to add two fields to my multifield? I need the select to include the ListItems field while keeping the other field as it was. Regards.

Avatar

Level 4

Hi @AlexCa17, in the example above you can see that multifield provides an opportunity to configure 2 fields (select, rte) per multi-field item.