Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.
Level 1
Level 2
Melden Sie sich an, um alle Badges zu sehen
Diese Konversation wurde aufgrund von Inaktivität geschlossen. Bitte erstellen Sie einen neuen Post.
Hi,
I've just found this bug in my AEM 5.6.1 instance: if a dialog tab has only 1 field and this field is a textfield with a regex property then the author will get the error 'this.regex.test is not a function'. Is this a known bug? if so, what is the recommendation to workaround it?
Bellow I'll put some of the investigation I've done, in case it might help:
I think the culprit is this piece of code (inside function FormatData in file /libs/cq/ui/widgets/source/utils/Util.js):
if (i == "items" && array.length == 1) {
// set single items directly as object
data[i] = array[0];
}
else {
data[i] = array;
}
other parts of the system expect data[i] to be an array, even it has only one element. For an example, the function 'CQ.Util.applyDefaults' has this piece of code:
if (value && typeof value == "object" &&
!(value instanceof Array) && !isCqInstance(value)) {
base[name] = CQ.utils.Util.applyDefaults(base[name], value);
}
as can be seen, the conditional will be evaluated to true and CQ.utils.Util.applyDefaults will be wrongly called. This call will in turn change the value of regex from a RegExp instance to an Object instance.
Gelöst! Gehe zu Lösung.
Hi,
I was able to replicate this, can you please raise a day care ticket for the same.
Zugriffe
Antworten
Likes gesamt
I am going to see if i can reproduce these results. I will post back the findings.
Zugriffe
Antworten
Likes gesamt
smacdonald2008 wrote...
I am going to see if i can reproduce these results. I will post back the findings.
thanks! Some more data:
1. if the dialog has more than one tab, the error doesn't happen
2. if the dialog has a sibling cq:editConfig node, the error doesn't happen
here is a definition of a dialog that triggers the error:
<?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"
jcr:primaryType="cq:Dialog" xtype="dialog">
<items jcr:primaryType="cq:Widget" activeTab="{Long}0" xtype="tabpanel">
<items jcr:primaryType="cq:WidgetCollection">
<tab jcr:primaryType="cq:Widget"
xtype="panel"
title="test">
<items jcr:primaryType="cq:WidgetCollection">
<test
jcr:primaryType="cq:Widget"
allowBlank="{Boolean}false"
regex="/[a-zA-Z0-9]+/"
fieldLabel="Test"
name="./test"
xtype="textfield" />
</items>
</tab>
</items>
</items>
</jcr:root>
if you add a new field called 'hack' of type hidden, the error disappears.
Hi,
I was able to replicate this, can you please raise a day care ticket for the same.
Zugriffe
Antworten
Likes gesamt
ok, I'll.
Zugriffe
Antworten
Likes gesamt
Hi,
I'm having the same issue. Is there a hot-fix available?
Zugriffe
Antworten
Likes gesamt
Hi @bru
brunovianarezende wrote...
![]()
smacdonald2008 wrote...
I am going to see if i can reproduce these results. I will post back the findings.
thanks! Some more data:
1. if the dialog has more than one tab, the error doesn't happen
2. if the dialog has a sibling cq:editConfig node, the error doesn't happen
here is a definition of a dialog that triggers the error:
<?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"
jcr:primaryType="cq:Dialog" xtype="dialog">
<items jcr:primaryType="cq:Widget" activeTab="{Long}0" xtype="tabpanel">
<items jcr:primaryType="cq:WidgetCollection">
<tab jcr:primaryType="cq:Widget"
xtype="panel"
title="test">
<items jcr:primaryType="cq:WidgetCollection">
<test
jcr:primaryType="cq:Widget"
allowBlank="{Boolean}false"
regex="/[a-zA-Z0-9]+/"
fieldLabel="Test"
name="./test"
xtype="textfield" />
</items>
</tab>
</items>
</items>
</jcr:root>
if you add a new field called 'hack' of type hidden, the error disappears.
How did you fix this issue? Can you please share the solution?
Zugriffe
Antworten
Likes gesamt
Zugriffe
Likes
Antworten
Zugriffe
Likes
Antworten