Invocar multiplos arquivos js em um evento de formulario

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:

  1. Clica com o botão direito > New > Script fluig;
    1. Seleciona o tipo evento desejado - processo ou formulário;
    2. 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!