Funzioni personalizzate

In AEM Forms 6.5 è stata introdotta la possibilità di definire funzioni di JavaScript che possono essere utilizzate per definire regole di business complesse utilizzando l’editor di regole.
AEM Forms fornisce una serie di funzioni personalizzate pronte all’uso, ma sarà necessario definire funzioni personalizzate e utilizzarle in più moduli.

Per definire la prima funzione personalizzata, procedere come segue:

  • Accedi a crx
  • Crea una nuova cartella in app denominata Experience-league (il nome della cartella può essere scelto dall’utente).
  • Salva le modifiche.
  • Nella cartella experience-league crea un nuovo nodo di tipo cq:ClientLibraryFolder denominato clientlibs.
  • Seleziona la cartella clientlibs appena creata e aggiungi le proprietà allowProxy e Categories come mostrato nella schermata e salva le modifiche.

libreria client

  • Crea una cartella denominata js nella cartella clientlibs
  • Crea un file denominato functions.js nella cartella js
  • Crea un file denominato js.txt nella cartella clientlibs. Salva le modifiche.
  • La struttura delle cartelle deve essere simile alla schermata seguente.

Editor regole

  • Fai doppio clic su functions.js per aprire l’editor.
    Copia il seguente codice in functions.js e salva le modifiche.
/**
* Get List of County names
* @name getCountyNamesList Get list of county names
* @return {OPTIONS} drop down options
 */
function getCountyNamesList()
{
    var countyNames= [];
    countyNames[0] = "Santa Clara";
    countyNames[1] = "Alameda";
    countyNames[2] = "Buxor";
    countyNames[3] = "Contra Costa";
    countyNames[4] = "Merced";

    return countyNames;

}
/**
* Covert UTC to Local Time
* @name convertUTC Convert UTC Time to Local Time
* @param {string} strUTCString in Stringformat
* @return {string}
*/
function convertUTC(strUTCString)
{
    var dt = new Date(strUTCString);
    console.log(dt.toLocaleString());
    return dt.toLocaleString();
}

Per ulteriori dettagli sull'annotazione delle funzioni JavaScript, fare riferimento a jsdoc.
Il codice di cui sopra ha due funzioni:
getCountyNamesList - restituisce una matrice di stringa
convertUTC - Converte il timestamp UTC in fuso orario locale

Apri il file js.txt e incolla il seguente codice, quindi salva le modifiche.

#base=js
functions.js

La riga #base=js specifica in quale directory si trovano i file JavaScript.
Le righe seguenti indicano la posizione del file JavaScript rispetto alla posizione di base.

Se non riesci a creare le funzioni personalizzate, puoi scaricare e installare questo pacchetto nella tua istanza AEM.

Utilizzo delle funzioni personalizzate

Il video seguente illustra i passaggi necessari per utilizzare la funzione personalizzata nell’editor di regole di un modulo adattivo

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e