Os eventos de formulário são arquivos .js que são acionados durante uma determinada etapa do processo. A principio estes arquivos são únicos, todo o código que você quiser executar durante a determinada etapa deve estar contida neste único arquivo.
Quando o código é simples, com apenas algumas linhas, não existe problema nenhum em estar em um único arquivo. No entanto, quando o processamento da informação é mais robusto e com mais linhas de código, o ideal seria fazer uma organização em múltiplos arquivos.
A pergunta é: existe alguma forma de invocar outros arquivos .js dentro de um evento de formulario? Desta forma eu poderia atribuir responsabilidades à diversos arquivos ao em vez de um único, facilitando a manutenção e diminuindo a chance de erros.
Eu entendo que isto é apenas uma questão de organização e boas práticas, mas ainda sim, é muito complicado trabalhar em único arquivo com centenas de linhas.
Fala, Hiago!
É possível sim, saca só!
No seu projeto, no fluig Studio:
- Clica com o botão direito > New > Script fluig;
- Seleciona o tipo evento desejado - processo ou formulário;
- Informe o nome do seu evento - conforme desejado.
Exemplo: adicionei o evento "setNomeColaborador". No arquivo setNomeColaborador.js:
function setNomeColaborador(form, fieldId, fieldName){
var c1 = DatasetFactory.createConstraint("colleaguePK.colleagueId", getValue("WKUser"), getValue("WKUser"), ConstraintType.MUST);
var constraints = new Array(c1);
var colaborador = DatasetFactory.getDataset("colleague", null, constraints, null);
form.setValue(fieldName, colaborador.getValue(0, "colleagueName"));
form.setValue(fieldId, getValue("WKUser"));
}
Aí vou no evento que desejo utilizá-lo - displayFields, nesse caso - e chamo o evento passando os parâmetros necessários:
function displayFields(form,customHTML){
form.setShowDisabledFields(true);
form.setHidePrintLink(true);
setNomeColaborador(form, "idResponsavelAnaliseChamado", "nmResponsavelAnaliseChamado");
}
Voilà!
Abs,
Marcos
Precisamente o que eu estava procurando, Marcos. Muito obrigado!!
Show! Por nada, Hiago. Abs!