Expand my Community achievements bar.

dialog is not able to fetch previously authored href values for rte inside multifield

Avatar

Level 1

Hi,

My dialog looks like below

 

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:granite="http://www.adobe.com/jcr/granite/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="nt:unstructured"
jcr:title="Research"
sling:resourceType="cq/gui/components/authoring/dialog"
helpPath="">
<content
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/tabs">
<items jcr:primaryType="nt:unstructured">
<tab1
jcr:primaryType="nt:unstructured"
jcr:title="FAQ"
sling:resourceType="granite/ui/components/coral/foundation/container">
<items jcr:primaryType="nt:unstructured">
<issue
jcr:primaryType="nt:unstructured"
sling:resourceType="cq/gui/components/authoring/dialog/richtext"
fieldLabel="Issue (H2 Tag)"
name="./issue"
useFixedInlineToolbar="{Boolean}true"
<rtePlugins
jcr:primaryType="nt:unstructured"
sling:resourceSuperType="/apps/<Myprojectfolder>/components/utility/rtePluginsTouch/rtePlugins"/>
<uiSettings
jcr:primaryType="nt:unstructured"
sling:resourceSuperType="/apps/<Myprojectfolder>/components/utility/rtePluginsTouch/uiSettings"/>
</issue>
<sol-list
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/multifield"
fieldLabel="Solutions List">
<field
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/container"
name="./sollist">
<items jcr:primaryType="nt:unstructured">
<column
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/container">
<items jcr:primaryType="nt:unstructured">
<fieldSetName
jcr:primaryType="nt:unstructured"
multiple="{Boolean}true"
sling:resourceType="granite/ui/components/coral/foundation/accordion"
variant="default">
<items jcr:primaryType="nt:unstructured">
<fieldSet
jcr:primaryType="nt:unstructured"
jcr:title="Solution Item"
sling:resourceType="granite/ui/components/coral/foundation/container">
<items jcr:primaryType="nt:unstructured">
<solution
jcr:primaryType="nt:unstructured"
sling:resourceType="cq/gui/components/authoring/dialog/richtext"
fieldLabel="Solution"
fieldDescription="Recommended character count 300"
name="solution"
useFixedInlineToolbar="{Boolean}true">
<rtePlugins
jcr:primaryType="nt:unstructured"
sling:resourceSuperType="/apps/<Myprojectfolder>/components/utility/rtePluginsTouch/rtePlugins"/>
<uiSettings
jcr:primaryType="nt:unstructured"
sling:resourceSuperType="/apps/<Myprojectfolder>/components/utility/rtePluginsTouch/uiSettings"/>
</answer>
</items>
<parentConfig
jcr:primaryType="nt:unstructured"
active="{Boolean}true"/>
</fieldSet>
</items>
</fieldSetName>​
</items>
</column>
</items>
</field>
<granite:data
jcr:primaryType="nt:unstructured"
cq-dialog-multifield-label="Add Solutions"/>
</sol-list>
</items>
</tab1>
</items>
</content>
</jcr:root>​

 

This is a simple dialog with an issue as title and a multifield for adding multiple solutions. I am using Richtext for both the fields. But the richtext  for field inside multifield is having intermittent issues in loading href tags for previously authored links. Target tag is loading properly. Only href tag is missing if I see the source code. Because of this, when I add a new link, previous links are disappearing.

Not sure why am getting the issue only inside multifield. Please suggest me how to fix this.

4 Replies

Avatar

Level 1

This is the rtePluginsTouch xml am using

<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="nt:unstructured">
<rtePlugins jcr:primaryType="nt:unstructured">
<edit jcr:primaryType="nt:unstructured"
defaultPasteMode="plaintext"
features="*"/>
<format
jcr:primaryType="nt:unstructured"
features="*"/>
<justify
jcr:primaryType="nt:unstructured"
features="*"/>
<lists
jcr:primaryType="nt:unstructured"
features="*"/>
<paraformat
jcr:primaryType="nt:unstructured"
features="*"/>
<links
jcr:primaryType="nt:unstructured"
features="*"/>
<image
jcr:primaryType="nt:unstructured"
features="*"/>
<findreplace
jcr:primaryType="nt:unstructured"
features="*"/>
<subsuperscript
jcr:primaryType="nt:unstructured"
features="*"/>
<spellcheck
jcr:primaryType="nt:unstructured"
features="*"/>
<misctools
jcr:primaryType="nt:unstructured"
features="*">
<specialCharsConfig jcr:primaryType="nt:unstructured">
<chars jcr:primaryType="nt:unstructured">
<copyright
jcr:primaryType="nt:unstructured"
entity="&amp;#169;"/>
<trademark
jcr:primaryType="nt:unstructured"
entity="&amp;#8482;"/>
<registered
jcr:primaryType="nt:unstructured"
entity="&amp;#174;"/>
<emDash
jcr:primaryType="nt:unstructured"
entity="&amp;#8212;"/>
<pound
jcr:primaryType="nt:unstructured"
entity="&amp;#163;"/>
<nbsp
jcr:primaryType="nt:unstructured"
entity="&amp;#160;"/>
</chars>
</specialCharsConfig>
</misctools>
<table
jcr:primaryType="nt:unstructured"
features="*"/>
<undo
jcr:primaryType="nt:unstructured"
features="*"/>
</rtePlugins>
<uiSettings jcr:primaryType="nt:unstructured">
<cui jcr:primaryType="nt:unstructured">
<inline
jcr:primaryType="nt:unstructured"
toolbar="[format#bold,format#italic,format#underline,#justify,#lists,subsuperscript#subscript,subsuperscript#superscript,links#modifylink,links#unlink,links#anchor,#image,findreplace#find,findreplace#replace,spellcheck#checktext,misctools#specialchars,misctools#sourceedit,#paraformat,table#table,edit#cut,edit#copy,edit#paste-plaintext,edit#paste-wordhtml,undo#undo,undo#redo]">
<popovers jcr:primaryType="nt:unstructured">
<edit
jcr:primaryType="nt:unstructured"
items="[edit#cut,edit#copy,edit#paste-plaintext,edit#paste-wordhtml,undo#undo,undo#redo]"
ref="edit"/>
<justify
jcr:primaryType="nt:unstructured"
items="[justify#justifyleft,justify#justifycenter,justify#justifyright]"
ref="justify"/>
<lists
jcr:primaryType="nt:unstructured"
items="[lists#unordered,lists#ordered,lists#outdent,lists#indent]"
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,#justify,#lists,subsuperscript#subscript,subsuperscript#superscript,links#modifylink,links#unlink,links#anchor,#image,findreplace#find,findreplace#replace,spellcheck#checktext,misctools#specialchars,misctools#sourceedit,#paraformat,table#table,edit#cut,edit#copy,edit#paste-plaintext,edit#paste-wordhtml,undo#undo,undo#redo]">
<popovers jcr:primaryType="nt:unstructured">
<edit
jcr:primaryType="nt:unstructured"
items="[edit#cut,edit#copy,edit#paste-plaintext,edit#paste-wordhtml,undo#undo,undo#redo]"
ref="edit"/>
<justify
jcr:primaryType="nt:unstructured"
items="[justify#justifyleft,justify#justifycenter,justify#justifyright]"
ref="justify"/>
<lists
jcr:primaryType="nt:unstructured"
items="[lists#unordered,lists#ordered,lists#outdent,lists#indent]"
ref="lists"/>
<paraformat
jcr:primaryType="nt:unstructured"
items="paraformat:getFormats:paraformat-pulldown"
ref="paraformat"/>
</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>
</jcr:root>

Avatar

Community Advisor

Hi @SusmithaReddy 

 

Looks like both rtePlugins and uiSettings node are pointing to "/apps/<Myprojectfolder>/components/utility/rtePluginsTouch/uiSettings" in issue node.

 

It should be like rtePlugins should point to /apps/<Myprojectfolder>/components/utility/rtePluginsTouch/rtePlugins whereas uiSettings should point to uiSettings path.

 

<rtePlugins
jcr:primaryType="nt:unstructured"
sling:resourceSuperType="/apps/<Myprojectfolder>/components/utility/rtePluginsTouch/rtePlugins" />
<uiSettings
jcr:primaryType="nt:unstructured"
sling:resourceSuperType="/apps/<Myprojectfolder>/components/utility/rtePluginsTouch/uiSettings" />

 

Please update it.


Also please include htmlRules node.

 

<htmlRules jcr:primaryType="nt:unstructured">
<links
jcr:primaryType="nt:unstructured">
</links>
</htmlRules>

 

Thanks

Avatar

Level 1

Hi @Asutosh_Jena_

The path of rteplugins is correct in my original dialog. It got corrupted while posting here.

Updated it now.

 

Could you please suggest where should I add htmlRules node

Avatar

Community Advisor

Hi @SusmithaReddy 

htmlRules node should be added parallel to uiSettings node in rtePluginsTouch.xml and the same needs to be referenced in the RTE field in component dialog like you have referred the rtePlugins and uiSettings node.

 

RTE Plugin Structure should be:

asutosh_jena_0-1620043502151.png

 

Component dialog should be like below:

asutosh_jena_0-1620043581383.png