我需要在标签中使用一个标识符,以便作者可以指定在页面加载时打开哪个标签下面是我的dialog.xml。
<items jcr:primaryType="cq:WidgetCollection">
<typeconfigs
jcr:primaryType="cq:Widget"
fieldLabel="Accordion"
name="./options"
xtype="customconfigmultifield">
<fieldConfigs jcr:primaryType="cq:WidgetCollection">
<option
jcr:primaryType="cq:Widget"
hidden="{Boolean}true"
name="option_name"
xtype="textfield"/>
<optionval
jcr:primaryType="cq:Widget"
allowBlank="{Boolean}false"
fieldLabel="Title"
maxLength="{Long}60"
name="optionval"
xtype="textfield"/>
<openaccordion
jcr:primaryType="cq:Widget"
name="selectaccordion"
type="radio"
xtype="selection">
<options jcr:primaryType="cq:WidgetCollection">
<one
jcr:primaryType="nt:unstructured"
text="Open at Page Load"
value="in"/>
</options>
</openaccordion>
</fieldConfigs>
<limit
jcr:primaryType="nt:unstructured"
maxVal="{Long}15"/>
</typeconfigs>
</items>
但是现在我没有得到单选按钮的行为,这意味着我可以勾选我通过对话框添加的每个标签内的所有单选按钮。任何想法如何使切换成为可能。谢谢
答案 0 :(得分:0)
当前结构中定义的单选按钮需要两个选项,并且字段的值将在两个选项之间切换。如果您只想显示一个选项,我建议使用{{1} }。
我已经尝试回答您的问题,假设您决定继续使用复选框(有两个状态checkbox
和true
)。如果您决定添加第二个单选按钮,则可以将true和false的值更改为您定义的值; (其中一个是false
)
您正在寻找的是一组自定义侦听器
i)遍历每个多字段项,检查当前点击的多字段项的in
值。
ii)将当前多字段项目设置为<openAccordion>
iii)为所有其他多字段项设置true
到<openAccordion>
的值。
您需要的事件是false
。
验证属性设置正确后,您需要的是另一个在selectionchanged
事件上触发的侦听器,它会查找值为loadcontent
的多字段项{{1并显示该选项卡,隐藏其余部分。
顺便说一下,在我看来,你可能想要重构你的对话,这与@Mathew在评论中发布的内容类似。
答案 1 :(得分:0)
<items jcr:primaryType="nt:unstructured">
<tabs
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/multifield"
composite="{Boolean}true">
<field
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/container"
name="./options">
<items jcr:primaryType="nt:unstructured">
<wrapper
jcr:primaryType="nt:unstructured"
jcr:title="eon-feh-service-po.components.siteadmin.question.v1.dialog.tab.general.answeroptions.multifieldexpand"
sling:resourceType="granite/ui/components/foundation/container">
<layout
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/layouts/collapsible"/>
<items jcr:primaryType="nt:unstructured">
<isDropoutOpt
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/radiogroup"
name="./isDropoutOpt"
renderReadOnly="{Boolean}true"
text="Option selection leads to dropdown?">
<items jcr:primaryType="nt:unstructured">
<radioYes
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/radio"
text="YES"
value="yes"/>
<radioNo
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/coral/foundation/form/radio"
text="NO"
value="no"/>
</items>
</isDropoutOpt>