Versione | Collegamento articolo |
---|---|
AEM 6.5 | Fai clic qui |
AEM as a Cloud Service | Questo articolo |
Una sezione ripetibile fa riferimento a una parte di un modulo che può essere duplicata o ripetuta più volte per raccogliere informazioni per più istanze degli stessi dati.
Si consideri, ad esempio, un modulo utilizzato per raccogliere informazioni sull'esperienza lavorativa di una persona. È possibile che sia disponibile una sezione ripetibile per l'acquisizione dei dettagli di ogni processo precedente. In genere, la sezione ripetibile contiene campi quali il nome dell'azienda, la qualifica, le date di assunzione e le responsabilità lavorative. L’utente può aggiungere più istanze della sezione ripetibile per immettere informazioni su ogni processo che ha mantenuto.
Alla fine di questo articolo imparerai a:
È possibile utilizzare Pannello, Accordion, Schede orizzontali, o Procedura guidata componenti per rendere ripetibili le sezioni di un modulo adattivo. È possibile aggiungere componenti figlio al pannello, al pannello a soffietto, alle schede orizzontali o ai componenti della procedura guidata per creare una sezione ripetibile in un modulo.
Gli esempi contenuti in questo documento si basano su Pannello componente. È possibile eseguire gli stessi passaggi per eseguire Accordion, Schede orizzontali, e Procedura guidata componenti ripetibili.
Per ripetere un pannello nel modulo o rimuovere pannelli ripetibili, un autore del modulo utilizza un componente pulsante per aggiungere o rimuovere un’istanza del pannello. Per aggiungere o eliminare sezioni ripetibili (pannelli) in un modulo:
Per rendere ripetibile un pannello, effettuate le seguenti operazioni:
Seleziona un contenitore di pannelli e tocca .
Fai clic su pannello di ripetizione e accendere l'interruttore rendi il pannello ripetibile.
Imposta numero minimo di ripetizioni come richiesto per le sezioni ripetibili minime, puoi impostare numero minimo di ripetizioni a zero per la mancata ripetizione dei pannelli o per rimuovere i pannelli ripetuti. Per impostazione predefinita, il valore minimo di ripetizione è zero.
Imposta numero massimo di ripetizioni per ripetere il numero di volte richieste dal pannello, per impostazione predefinita il valore è infinito.
L’elemento principale del pannello da ripetere deve contenere un pulsante Aggiungi per gestire l’istanza di ripetizione del pannello. Per inserire pulsanti nell'elemento padre e attivare gli script sui pulsanti, effettuare le seguenti operazioni:
Aggiungi un componente pulsante all'elemento padre del pannello. Nell’esempio di video seguente, un componente pulsante con il nome dell’etichetta Aggiungi e nome campo AggiungiPannello, viene utilizzato. Seleziona il componente e tocca . Le regole del componente Pulsante si aprono nell’editor di regole.
Nella finestra Editor regole, fai clic su Crea.
Seleziona Editor visivo nella riga Oggetti e funzioni modulo.
Seleziona Editor di codice nella riga Oggetti e funzioni modulo. Clic Modifica regole e nell'area di codice:
this.panel.instanceManager.addInstance()
Clic Fine.
L’elemento padre del pannello deve contenere un pulsante Elimina per eliminare l’istanza dei pannelli ripetibili. Per inserire pulsanti nell'elemento padre e abilitare gli script sui pulsanti per eliminare i pannelli ripetibili, effettuare le seguenti operazioni:
Aggiungi un componente pulsante all’elemento padre del pannello, Nel video seguente, un componente pulsante con il nome dell’etichetta eliminare e nome campo EliminaPannello viene utilizzato. Seleziona il componente e tocca . Le regole del componente Pulsante si aprono nell’editor di regole.
Nella finestra Editor regole, fai clic su Crea.
Seleziona Editor visivo nella riga Oggetti e funzioni modulo.
Seleziona Editor di codice nella riga Oggetti e funzioni modulo. Clic Modifica regole e nell'area di codice:
this.panel.instanceManager.removeInstance(this.panel.instanceIndex)
Clic Fine.
Se un campo appartiene a un pannello ripetibile, non è possibile accedervi direttamente utilizzando il relativo nome negli script. Per accedere al campo, specifica l’istanza ripetibile a cui appartiene il campo utilizzando instances
API in InstanceManager
. Sintassi da utilizzare per instances
API in InstanceManager
è:
<panelName>.instanceManager.instances[<instanceNumber>].<fieldname>
Ad esempio, puoi creare un modulo adattivo con un pannello ripetibile con una casella di testo. Quando si precompila il modulo con tre caselle di testo ripetibili, è necessario il codice xml seguente:
<panel1><textbox1>AA1</panel1></textbox1>
<panel1><textbox1>AA2</panel1></textbox1>
<panel1><textbox1>AA3</panel1></textbox1>
Per leggere i dati AA1, specifica:
Panel1.instanceManager.instances[0].textbox.value
Per leggere i dati AA2, specifica:
Panel1.instanceManager.instances[1].textbox.value
Quando tutte le istanze di un pannello vengono rimosse da un modulo adattivo, per aggiungere un’istanza del pannello rimosso, utilizza la sintassi _panelName per acquisire la gestione delle istanze del pannello e l’API addInstance di gestione istanze per aggiungere l’istanza eliminata. _panelName.addInstance(). Aggiunge un’istanza del pannello rimosso.
La sottomaschera ripetibile è simile ai pannelli ripetibili in Adaptive Forms. Per creare una sottomaschera ripetuta in AEM Forms Designer, effettuare le seguenti operazioni:
Il file .zip allegato contiene un modulo secondario ripetibile di esempio.
È possibile creare pannelli ripetibili da uno schema XML e dalla proprietà minOccours & maxOccurs di qualsiasi elemento di tipo complesso. Per informazioni dettagliate sullo schema XML, vedere Creare moduli adattivi utilizzando lo schema XML come modello di modulo.
Nel codice seguente, la proprietà SampleType
utilizza la proprietà minOccours & maxOccurs.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="https://adobe.com/sample.xsd"
xmlns="https://adobe.com/sample.xsd"
xmlns:xs="https://www.w3.org/2001/XMLSchema"
>
<xs:element name="sample" type="SampleType"/>
<xs:complexType name="SampleType">
<xs:sequence>
<xs:element name="leaderName" type="xs:string" default="Enter Name"/>
<xs:element name="assignmentStartDate" type="xs:date"/>
<xs:element name="gender" type="GenderEnum"/>
<xs:element name="noOfProjectsAssigned" type="IntType"/>
<xs:element name="assignmentDetails" type="AssignmentDetails"
minOccurs="0" maxOccurs="10"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AssignmentDetails">
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="durationOfAssignment" type="xs:unsignedInt" use="required"/>
<xs:attribute name="numberOfMentees" type="xs:unsignedInt" use="required"/>
<xs:attribute name="descriptionOfAssignment" type="xs:string" use="required"/>
<xs:attribute name="financeRelatedProject" type="xs:boolean"/>
</xs:complexType>
<xs:simpleType name="IntType">
<xs:restriction base="xs:int">
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="GenderEnum">
<xs:restriction base="xs:string">
<xs:enumeration value="Female"/>
<xs:enumeration value="Male"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>