Как отключить опцию флажков в dialog.xml в CQ5 AEM? - PullRequest
0 голосов
/ 02 мая 2019

Я разработал мой диалог CQ5, как показано на следующем рисунке.Я должен отключить свои опции флажков, как выделено на изображении.

enter image description here

И dialog.xml похож на

<stewartOwned jcr:primaryType="cq:Widget"
  defaultValue="false" fieldLabel="Stewart Owned"
  inputValue="false" name="./stewartOwned" type="checkbox"
  xtype="selection" layout="hbox">
    <options jcr:primaryType="cq:WidgetCollection">
        <option1 jcr:primaryType="nt:unstructured" text=""
          value="stewartOwned" />
        <option2 jcr:primaryType="nt:unstructured" text=""
          value="ShowInAdvanced" />
    </options>
    <optionsConfig jcr:primaryType="nt:unstructured"
      width="150" />
</stewartOwned>
<independent jcr:primaryType="cq:Widget"
  defaultValue="false" fieldLabel="Independent" inputValue="false"
  name="./independent" type="checkbox" xtype="selection"
  layout="hbox">
    <options jcr:primaryType="cq:WidgetCollection">
        <option1 jcr:primaryType="nt:unstructured" text=""
          value="I" />
        <option2 jcr:primaryType="nt:unstructured" text=""
          value="ShowInAdvanced" />
    </options>
    <optionsConfig jcr:primaryType="nt:unstructured"
      width="150" />
</independent>

Я пробовал следующее решение, чтобы отключить через идентификатор, но оно не жизнеспособнопоскольку id - это автоматическая генерация, и вы никогда не знаете, какой идентификатор будет сгенерирован в следующем сеансе.

listeners jcr:primaryType="nt:unstructured"
    loadcontent="function(dialog) { 
             CQ.Ext.getDom('ext-comp-1568').disabled = 'disabled';
             CQ.Ext.getDom('ext-comp-1573').disabled = 'disabled';
    }" />

Может кто-нибудь предложить, как отключить выделенные флажки в dialog.xml?

1 Ответ

0 голосов
/ 03 мая 2019

После долгих исследований и прочтения документации по CQ5 мне удалось найти следующее решение.

var nameField = 
dialog.getField('./name').getEl().child('input[value*=ShowInAdvanced]').id;
CQ.Ext.getDom(nameField).disabled = 'disabled';
...