2015-09-17 29 views
6

Sto migrando i classici dialoghi dell'interfaccia utente per sfiorare le finestre di dialogo dell'interfaccia utente, ho migrato la finestra di dialogo del componente principale, ho osservato che AEM mostra anche le schede e le proprietà dei dialoghi padre nel componente figlio. Nei dialoghi di interfaccia utente classici esistenti non eredita le proprietà genitore mentre nel tocco ui lo fa.come prevenire cq: l'ereditarietà delle finestre di dialogo

Come possiamo ottenere lo stesso classico comportamento dell'interfaccia utente anche in touch ui impedendo l'ereditarietà del dialogo.

Si prega di condividere i dettagli se qualcuno ha informazioni su questo problema.

risposta

11

È possibile utilizzare la proprietà sling:hideChildren per nascondere schede e proprietà ereditate. Per esempio, diciamo che si voleva nascondere le ereditati permissions e cloudservices schede, e personalizzare i basic e advanced schede:

... 
<items jcr:primaryType="nt:unstructured"> 
    <tabs 
     ...> 
     <layout 
      .../> 
     <items 
      jcr:primaryType="nt:unstructured" 
      sling:hideChildren="[permissions,cloudservices]"> 
      <basic 
       .../> 
      <advanced 
       .../> 
     </items> 
    </tabs> 
</items> 
... 
+0

Grazie a Bruce, questa configurazione ha risolto il problema dell'ereditarietà nell'applicazione. Ho davvero apprezzato il tuo aiuto per risolvere questo problema. –

+0

Ciao Bruce, dopo aver implementato la configurazione di cui sopra, la fionda: hideChildren nasconde tutti i nodi figli sotto di essa e lo stesso viene replicato nei componenti figlio. Ma facendo questo, nasconde anche tutti i suoi nodi figli. Questo risolve solo un po 'il problema, ma il problema persiste. –

+0

L'ho risolto usando l'imbracatura: hideChildren stesso in ogni singolo componente, quindi è un po 'di lavoro ma questo risolve il problema che stavo affrontando. Mi sto ancora chiedendo se abbiamo qualche impostazione globale per farlo. –

6

Sling Resource La fusione con AEM documenti può essere trovata here. In particolare, consulta i documenti per le proprietà di fusione delle risorse e come puoi manipolare proprietà diverse.

La risorsa di fusione prevede le seguenti proprietà:

fionda: hideProperties (String o String []) specifica la proprietà, o un elenco di proprietà, da nascondere. Il carattere jolly * nasconde tutto.

sling: hideResource (Boolean) Indica se le risorse devono essere completamente nascoste, inclusi i relativi figli.

fionda: hideChildren (stringa o String []) contiene il nodo figlio, o un elenco di nodi figlio, da nascondere. Verranno mantenute le proprietà del nodo. Il carattere jolly * nasconde tutto.

imbracatura: orderBefore (String) Contiene il nome del nodo di pari che il nodo corrente deve essere posizionato di fronte.

Queste proprietà influenzano il modo in cui le risorse/proprietà corrispondenti (da/libs) vengono utilizzate dall'overlay/override (spesso in/app).

+0

Grazie Ben, questa configurazione può essere eseguita, come suggerito da Bruce nel post precedente., Grazie per avermi aiutato a trovare la soluzione. –

1
+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia – slfan

2

Aggiungere la fionda

: hideChildren proprietà

alla finestra di dialogo del componente figlio.

È possibile aggiungere questa proprietà al genitore diretto del particolare fieldset/tab/campo che è necessario nascondere.

sintassi:

Nome Proprietà: fionda: hideChildren

Tipo di proprietà: stringa o String []

Proprietà Valore: nome dei bambini immediati, * li nasconde tutti

Esempio:

per nascondere i tutti i campi sotto scheda Proprietà della finestra di dialogo di seguito:

<content 
    jcr:primaryType="nt:unstructured" 
    sling:resourceType="granite/ui/components/coral/foundation/container"> 
    <items jcr:primaryType="nt:unstructured"> 
     <fixedcolums 
      jcr:primaryType="nt:unstructured" 
      sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns"> 
      <items jcr:primaryType="nt:unstructured"> 
       <properties 
        jcr:primaryType="nt:unstructured" 
        sling:resourceType="granite/ui/components/coral/foundation/container"> 
        <items jcr:primaryType="nt:unstructured"> 
         <startLevel 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/numberfield" 
          ../> 
         <showHidden 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/checkbox" 
          ../> 
        </items> 
       </properties> 
      </items> 
     </fixedcolums> 
    </items> 
</content> 

aggiungere la fionda: proprietà hideChildren al suo nodo padre immediato, vale a dire, gli elementi (vedi sotto)

<content 
    jcr:primaryType="nt:unstructured" 
    sling:resourceType="granite/ui/components/coral/foundation/container"> 
    <items jcr:primaryType="nt:unstructured"> 
     <fixedcolums 
      jcr:primaryType="nt:unstructured" 
      sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns"> 
      <items jcr:primaryType="nt:unstructured" 
       sling:hideChildren="*"> 
       <properties 
        jcr:primaryType="nt:unstructured" 
        sling:resourceType="granite/ui/components/coral/foundation/container"> 
        <items jcr:primaryType="nt:unstructured"> 
         <startLevel 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/numberfield" 
          ../> 
         <showHidden 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/checkbox" 
          ../> 
        </items> 
       </properties> 
      </items> 
     </fixedcolums> 
    </items> 
</content> 

per nascondere solo il campo startLevel, aggiungere la fionda: hideChildren proprietà al suo nodo padre immediato (vedi sotto)

<content 
    jcr:primaryType="nt:unstructured" 
    sling:resourceType="granite/ui/components/coral/foundation/container"> 
    <items jcr:primaryType="nt:unstructured"> 
     <fixedcolums 
      jcr:primaryType="nt:unstructured" 
      sling:resourceType="granite/ui/components/coral/foundation/fixedcolumns"> 
      <items jcr:primaryType="nt:unstructured"> 
       <properties 
        jcr:primaryType="nt:unstructured" 
        sling:resourceType="granite/ui/components/coral/foundation/container"> 
        <items jcr:primaryType="nt:unstructured" 
         sling:hideChildren="startLevel"> 
         <startLevel 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/numberfield" 
          ../> 
         <showHidden 
          jcr:primaryType="nt:unstructured" 
          sling:resourceType="granite/ui/components/coral/foundation/form/checkbox" 
          ../> 
        </items> 
       </properties> 
      </items> 
     </fixedcolums> 
    </items> 
</content>