Funções personalizadas
O AEM Forms 6.5 apresentou a capacidade de definir funções do JavaScript que podem ser usadas na definição de regras de negócios complexas usando o editor de regras.
O AEM Forms fornece várias dessas funções personalizadas prontas para uso, mas você terá a necessidade de definir suas próprias funções personalizadas e usá-las em vários formulários.
Para definir sua primeira função personalizada, siga as seguintes etapas:
- Fazer logon no crx
- Crie uma nova pasta em aplicativos chamada experience-league (esse nome de pasta pode ser o nome de sua escolha)
- Salve as alterações.
- Na pasta experience-league, crie um novo nó do tipo cq:ClientLibraryFolder chamado clientlibs.
- Selecione a pasta recém-criada clientlibs e adicione as propriedades allowProxy e categories como mostrado na captura de tela e salve as alterações.
- Crie uma pasta chamada js na pasta clientlibs
- Crie um arquivo chamado functions.js na pasta js
- Crie um arquivo chamado js.txt na pasta clientlibs. Salve as alterações.
- A estrutura de pastas deve parecer com a captura de tela abaixo.
- Clique duas vezes em functions.js para abrir o editor.
Copie o código a seguir em functions.js e salve as alterações.
/**
* 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();
}
Consulte jsdocpara obter mais detalhes sobre como anotar funções javascript.
O código acima tem duas funções:
getCountyNamesList - retorna uma matriz de cadeia de caracteres
convertUTC - Converte o carimbo de data e hora UTC para a data e a hora locais
Abra o js.txt, cole o código a seguir e salve as alterações.
#base=js
functions.js
A linha #base=js especifica em qual diretório os arquivos JavaScript estão localizados.
As linhas abaixo indicam o local do arquivo JavaScript relativo ao local base.
Se tiver problemas para criar as funções personalizadas, sinta-se à vontade para baixar e instalar este pacote na sua instância do AEM.
Uso das funções personalizadas
O vídeo a seguir mostra as etapas envolvidas no uso da função personalizada no editor de regras de um formulário adaptável