Skip to main content

[Form] Quais são as funções nativas do AgilityFlow disponíveis no JavaScript para utilizar em um Formulário? formContext

O módulo formContext fornece uma série de funções utilitárias para manipulação de formulários, campos, datas, mensagens e outras funcionalidades no contexto de um formulário personalizado. Abaixo estão as funcionalidades disponíveis, organizadas por categoria.


Verificações de Contexto

parentFrame

Identifica e armazena a referência do iframe pai.

formContext.parentFrame

isMobile()

Verifica se o dispositivo é móvel.

  • Retorno:

    • true se for um dispositivo móvel.

    • false caso contrário.

  • Exemplo:


    if (formContext.isMobile()) {
        console.log("Dispositivo móvel detectado.");
    }

isPublicPortal()

Verifica se o formulário está sendo exibido em um portal público.

  • Retorno:

    • true se for um portal público.

    • false caso contrário.

  • Exemplo:


    if (formContext.isPublicPortal()) {
        console.log("Formulário em portal público.");
    }

isPublicForm()

Verifica se o formulário é público (mesma lógica de isPublicPortal).

  • Retorno:

    • true se for um formulário público.

    • false caso contrário.

  • Exemplo:


    if (formContext.isPublicForm()) {
        console.log("Formulário público detectado.");
    }

Redirecionamento

redirectTo(url)

Redireciona para uma URL especificada.

  • Parâmetros:

    • url (String): URL para redirecionamento.

  • Exemplo:


    formContext.redirectTo("https://www.exemplo.com");

Abrir Lightbox

openLightBox(link, tamanholightbox, titulo)

Abre uma lightbox com o conteúdo da URL especificada.

  • Parâmetros:

    • link (String): URL a ser carregada na lightbox.

    • tamanholightbox (String): Tamanho da lightbox. Valores possíveis: 'p''m''g''fullscreen''fullscreen-headerless'.

    • titulo (String): Título da lightbox.

  • Exemplo:


    formContext.openLightBox("https://www.exemplo.com", "m", "Título da Lightbox");

Carregamento de Arquivos JavaScript

addJavascriptFile(options)

Adiciona um arquivo JavaScript à página de forma assíncrona e executa um callback após o carregamento.

  • Parâmetros:

    • options (Object): Objeto com as propriedades:

      • file_url (String): URL do arquivo JavaScript.

      • callback_onload (Function): Função a ser executada após o carregamento do arquivo.

  • Exemplo:


    formContext.addJavascriptFile({
        file_url: "https://www.exemplo.com/script.js",
        callback_onload: function() {
            console.log("Script carregado!");
        }
    });

Busca de CEP

buscaCEP.configurar(idCampoCep, idCamposPreenchiveis, callbacks)

Configura a busca de CEP para campos específicos.

  • Parâmetros:

    • idCampoCep (String): ID do campo de CEP.

    • idCamposPreenchiveis (String): ID dos campos a serem preenchidos com os dados do CEP.

    • callbacks (Object): Callbacks para eventos relacionados à busca de CEP.

  • Exemplo:


    formContext.buscaCEP.configurar("cep", "endereco", {
        onSuccess: function(data) {
            console.log("CEP encontrado:", data);
        }
    });

Carregamento de Componentes CSHTML

loadCsHtmlComponent(componentName, options)

Carrega um componente CSHTML via AJAX.

  • Parâmetros:

    • componentName (String): Nome do componente.

    • options (Object): Opções adicionais para o carregamento.

  • Exemplo:


    function loadPartial() {
    
        var cshtmlPartialName = "[coloque aqui o nome do partial cshtml que vc fez as regras de atualizar]";
        formContext.loadCsHtmlComponent(cshtmlPartialName,
            {
                placeholderId: 'result_cshtml', //parametro opcional, se o cshtml retornar algum html e vc quiser, vc pode colocar o retorno dentro de algum placeholder, div, etc..
                extraData: {
                    idRegistro: $('#guidRegistro').val(), 
                    nome: $('#nome').val(), 
                    email: $('#email').val()
                },
                onSuccess: function (result) {
                    customPageContext.msg.success("Executado com sucesso", "Confirmação");
                },
                onError: function (error) {
                    customPageContext.msg.error("Execução não realizada", "Erro");
                    console.log('error', error)                
                }
            
            }
         )
    }

Manipulação de URLs

url.getBaseUrl()

Retorna a URL base do sistema.

  • Retorno:

    • String com a URL base.

  • Exemplo:


    console.log("URL base:", formContext.url.getBaseUrl());

url.getStaticFileUrl()

Retorna a URL base para arquivos estáticos.

  • Retorno:

    • String com a URL de arquivos estáticos.

  • Exemplo:


    console.log("URL de arquivos estáticos:", formContext.url.getStaticFileUrl());

Idioma Atual

currentLanguage.get()

Retorna o idioma atual do sistema.

  • Retorno:

    • String com o código do idioma (ex: 'pt-BR''en-US').

  • Exemplo:


    console.log("Idioma atual:", formContext.currentLanguage.get());

currentLanguage.isEnglish()

Verifica se o idioma atual é inglês.

  • Retorno:

    • true se for inglês.

    • false caso contrário.

  • Exemplo:


    if (formContext.currentLanguage.isEnglish()) {
        console.log("Idioma atual é inglês.");
    }

currentLanguage.getIIF_TextFromCurrentLanguage(text_ptBR, text_ENG, text_ESP)

Retorna o texto correspondente ao idioma atual.

  • Parâmetros:

    • text_ptBR (String): Texto em português.

    • text_ENG (String): Texto em inglês.

    • text_ESP (String): Texto em espanhol.

  • Retorno:

    • String com o texto no idioma atual.

  • Exemplo:


    const texto = formContext.currentLanguage.getIIF_TextFromCurrentLanguage("Olá", "Hello", "Hola");
    console.log(texto); // Retorna "Olá" se o idioma for português.

Mensagens

O módulo formContext.msg fornece funções para exibir e ocultar mensagens de alerta, erro, sucesso e aviso no sistema. Abaixo estão as funcionalidades disponíveis.


Ocultar Mensagens

hide(forcarFechar)

Oculta todas as mensagens exibidas.

  • Parâmetros:

    • forcarFechar (Boolean): Força o fechamento das mensagens.

  • Exemplo:


    formContext.msg.hide(true); // Oculta todas as mensagens, forçando o fechamento.

Exibir Mensagens

show(type, msg, title, options)

Exibe uma mensagem de alerta, erro, sucesso ou aviso.

  • Parâmetros:

    • type (String): Tipo da mensagem. Valores possíveis:

      • 'warning': Mensagem de aviso.

      • 'error': Mensagem de erro.

      • 'success': Mensagem de sucesso.

    • msg (String): Texto da mensagem.

    • title (String): Título da mensagem.

    • options (Object): Opções adicionais para personalização da mensagem.

  • Exemplo:


    formContext.msg.show("success", "Operação realizada com sucesso!", "Sucesso", { timeout: 5000 });

warning(msg, title, options)

Exibe uma mensagem de aviso.

  • Parâmetros:

    • msg (String): Texto da mensagem.

    • title (String): Título da mensagem.

    • options (Object): Opções adicionais.

  • Exemplo:


    formContext.msg.warning("Atenção: Este campo é obrigatório.", "Aviso");

error(msg, title)

Exibe uma mensagem de erro.

  • Parâmetros:

    • msg (String): Texto da mensagem.

    • title (String): Título da mensagem.

  • Exemplo:


    formContext.msg.error("Ocorreu um erro ao salvar o formulário.", "Erro");

success(msg, title, options)

Exibe uma mensagem de sucesso.

  • Parâmetros:

    • msg (String): Texto da mensagem.

    • title (String): Título da mensagem.

    • options (Object): Opções adicionais.

  • Exemplo:


    formContext.msg.success("Formulário salvo com sucesso!", "Sucesso", { timeout: 3000 });

Funções Legadas de Mensagens

As funções abaixo são mantidas para compatibilidade com versões anteriores, mas é recomendado utilizar as funções acima (showwarningerrorsuccess).

hideMsgs()

Oculta todas as mensagens exibidas.

  • Exemplo:


    formContext.msg.hideMsgs();

showMsgWarning(msg, title, options)

Exibe uma mensagem de aviso (legado).

  • Parâmetros:

    • msg (String): Texto da mensagem.

    • title (String): Título da mensagem.

    • options (Object): Opções adicionais.

  • Exemplo:


    formContext.msg.showMsgWarning("Atenção: Este campo é obrigatório.", "Aviso");

showMsgError(msg, title)

Exibe uma mensagem de erro (legado).

  • Parâmetros:

    • msg (String): Texto da mensagem.

    • title (String): Título da mensagem.

  • Exemplo:


    formContext.msg.showMsgError("Ocorreu um erro ao salvar o formulário.", "Erro");

showMsgSuccess(msg, title, options)

Exibe uma mensagem de sucesso (legado).

  • Parâmetros:

    • msg (String): Texto da mensagem.

    • title (String): Título da mensagem.

    • options (Object): Opções adicionais.

  • Exemplo:


    formContext.msg.showMsgSuccess("Formulário salvo com sucesso!", "Sucesso", { timeout: 3000 });

Exemplos de Uso de Mensagem

Exibindo uma mensagem de sucesso:
formContext.msg.success("Dados salvos com sucesso!", "Sucesso", { timeout: 5000 });
Exibindo uma mensagem de erro:
formContext.msg.error("Erro ao processar a solicitação.", "Erro");
Ocultando todas as mensagens:

formContext.msg.hide(true);

Manipulação de Números

number.convertString_toNumber(strValueToConvert, qtdCasasDecimais)

Converte uma string formatada em número.

  • Parâmetros:

    • strValueToConvert (String): Valor em formato de string.

    • qtdCasasDecimais (Number): Quantidade de casas decimais.

  • Retorno:

    • Número convertido.

  • Exemplo:


    const numero = formContext.number.convertString_toNumber("1.000,50", 2);
    console.log(numero); // Retorna 1000.50

number.convertNumber_toStringFormatted(numberToConvert, qtdCasasDecimais)

Converte um número em uma string formatada de acordo com o idioma.

  • Parâmetros:

    • numberToConvert (Number): Número a ser convertido.

    • qtdCasasDecimais (Number): Quantidade de casas decimais.

  • Retorno:

    • String formatada.

  • Exemplo:


    const texto = formContext.number.convertNumber_toStringFormatted(1000.50, 2);
    console.log(texto); // Retorna "1.000,50" em português.

Manipulação de Campos

field.setValue(campoKey, value, options)

Define o valor de um campo.

  • Parâmetros:

    • campoKey (String): ID do campo.

    • value (String): Valor a ser definido.

    • options (Object): Opções adicionais.

  • Exemplo:


    formContext.field.setValue("nome", "João Silva");

field.getValue(campoKey)

Obtém o valor de um campo.

  • Parâmetros:

    • campoKey (String): ID do campo.

  • Retorno:

    • Valor do campo.

  • Exemplo:


    const valor = formContext.field.getValue("nome");
    console.log(valor);

field.hide(campoKey)

Oculta um campo.

  • Parâmetros:

    • campoKey (String): ID do campo.

  • Exemplo:


    formContext.field.hide("campoOculto");

field.show(campoKey)

Exibe um campo previamente oculto.

  • Parâmetros:

    • campoKey (String): ID do campo.

  • Exemplo:


    formContext.field.show("campoOculto");

Manipulação de Formulários Filhos

childForm.datatable.refresh(tableid_relacaoFormularioPaiFilhoId)

Atualiza a tabela de um formulário filho.

  • Parâmetros:

    • tableid_relacaoFormularioPaiFilhoId (String): ID da tabela do formulário filho.

  • Exemplo:


    formContext.childForm.datatable.refresh("tabelaFilho");

childForm.datatable.totalRows(tableid_relacaoFormularioPaiFilhoId)

Retorna o número total de linhas na tabela de um formulário filho.

  • Parâmetros:

    • tableid_relacaoFormularioPaiFilhoId (String): ID da tabela do formulário filho.

  • Retorno:

    • Número de linhas.

  • Exemplo:


    const total = formContext.childForm.datatable.totalRows("tabelaFilho");
    console.log("Total de linhas:", total);

Manipulação do Formulário 

O objeto formContext.form gerencia diversas funcionalidades relacionadas ao formulário, incluindo salvamento, rascunhos, ações e manipulação da toolbar.

Estrutura do Objeto formContext.form

  • formContext.form: Contém funcionalidades relacionadas ao formulário.

    • save(): Salva o formulário.

    • saveDraft(): Salva o formulário como rascunho.

    • undoDraft(): Desfaz um rascunho.

    • getFormActionOnSubmit(): Obtém o tipo de envio do formulário.

    • invalidateForm(options): Inválida o submit do formulário.

    • toolbar: Manipula a toolbar do formulário.

    • disableNativeSuccessMsg(): Desabilita mensagens nativas de sucesso.

    • forceToSetStateFormToChanged(): Força o status do formulário para "alterado".

    • isNew(): Verifica se o formulário é novo.

    • isDraft(): Verifica se o formulário é um rascunho.

    • action: Define os tipos de ações possíveis no formulário.

Funções e Exemplos de Uso do formContext.form

save()

Salva o formulário.

formContext.form.save();

saveDraft()

Salva o formulário como rascunho.

formContext.form.saveDraft();

undoDraft()

Desfaz um rascunho.

formContext.form.undoDraft();

getFormActionOnSubmit()

Obtém o tipo de envio do formulário.

var action = formContext.form.getFormActionOnSubmit();
console.log(action);

invalidateForm(options)

Inválida o submit do formulário.

formContext.form.invalidateForm({ message: "Erro ao enviar!" });

toolbar.hide()

Esconde a toolbar.

formContext.form.toolbar.hide();

toolbar.show()

Exibe a toolbar.

formContext.form.toolbar.show();

toolbar.remove()

Remove a toolbar.

formContext.form.toolbar.remove();

disableNativeSuccessMsg()

Desabilita mensagens nativas de sucesso.

formContext.form.disableNativeSuccessMsg();

forceToSetStateFormToChanged()

Força o status do formulário para "alterado".

formContext.form.forceToSetStateFormToChanged();

isNew()

Verifica se o formulário é novo.

if (formContext.form.isNew()) {
    console.log("Formulário novo");
}

isDraft()

Verifica se o formulário é um rascunho.

if (formContext.form.isDraft()) {
    console.log("Formulário em rascunho");
}

Funções e Exemplos de Uso do formContext.form.action

action.isSave(formAction)

Verifica se a ação é de salvar.

if (formContext.form.action.isSave(1)) {
    console.log("Ação de salvar detectada");
}

action.isSaveDraft(formAction)

Verifica se a ação é de salvar como rascunho.

if (formContext.form.action.isSaveDraft(2)) {
    console.log("Ação de salvar rascunho");
}

action.isDiscardDraft(formAction)

Verifica se a ação é de descartar o rascunho.

if (formContext.form.action.isDiscardDraft(3)) {
    console.log("Ação de descartar rascunho");
}

action.isApproveFromWorkflow(formAction)

Verifica se a ação é de aprovar no workflow.

if (formContext.form.action.isApproveFromWorkflow(4)) {
    console.log("Ação de aprovação no workflow");
}

action.isRejectFromWorkflow(formAction)

Verifica se a ação é de rejeitar no workflow.

if (formContext.form.action.isRejectFromWorkflow(5)) {
    console.log("Ação de rejeição no workflow");
}

action.isReturnFromWorkflow(formAction)

Verifica se a ação é de retorno no workflow.

if (formContext.form.action.isReturnFromWorkflow(6)) {
    console.log("Ação de retorno no workflow");
}

action.isDelete(formAction)

Verifica se a ação é de deleção.

if (formContext.form.action.isDelete(7)) {
    console.log("Ação de deleção detectada");
}

action.isSaveChildForm(formAction)

Verifica se a ação é de salvar um formulário filho.

if (formContext.form.action.isSaveChildForm(8)) {
    console.log("Ação de salvar formulário filho");
}

action.isDeleteChildForm(formAction)

Verifica se a ação é de deletar um formulário filho.

if (formContext.form.action.isDeleteChildForm(9)) {
    console.log("Ação de deletar formulário filho");
}

 

Manipulação do Formulário Filho (Child Form) formContext.childForm

datatable.refresh(tableid_relacaoFormularioPaiFilhoId)

Atualiza a tabela do formulário filho que está no formulário pai.

Exemplo de Uso:

formContext.childForm.datatable.refresh("tabela123");

datatable.totalRows(tableid_relacaoFormularioPaiFilhoId)

Retorna o número total de linhas da tabela do formulário filho.

Exemplo de Uso:

var total = formContext.childForm.datatable.totalRows("tabela123");
console.log("Total de linhas:", total);

datatable.getAllChildIds(tableid_relacaoFormularioPaiFilhoId)

Retorna todos os IDs dos formulários filhos presentes na tabela.

Exemplo de Uso:

var ids = formContext.childForm.datatable.getAllChildIds("tabela123");
console.log("IDs dos formulários filhos:", ids);

datatable.getAllChildIdsOrdered(tableid_relacaoFormularioPaiFilhoId)

Retorna todos os IDs dos formulários filhos respeitando a ordenação atual.

Exemplo de Uso:

var orderedIds = formContext.childForm.datatable.getAllChildIdsOrdered("tabela123");
console.log("IDs ordenados:", orderedIds);

datatable.getResultJson(tableid_relacaoFormularioPaiFilhoId)

Retorna um JSON com os resultados apresentados na tabela do formulário filho.

Exemplo de Uso:

var result = formContext.childForm.datatable.getResultJson("tabela123");
console.log("Resultados da tabela:", result);

datatable.setOrder(tableid_relacaoFormularioPaiFilhoId, items_sorted)

Reordena os itens da tabela filha conforme a lista ordenada de IDs.

Exemplo de Uso:

var sortedItems = [
    { formid: "123", draftid: "" },
    { formid: "456", draftid: "" },
    { formid: "789", draftid: "" }
];
formContext.childForm.datatable.setOrder("tabela123", sortedItems);

blockLinkEditOpening()

Bloqueia a abertura do link ao clicar na linha do grid.

Exemplo de Uso:

formContext.childForm.blockLinkEditOpening();

unlockLinkEditOpening()

Desbloqueia a abertura do link ao clicar na linha do grid.

Exemplo de Uso:

formContext.childForm.unlockLinkEditOpening();

 

 

 

Painéis formContext.panel

    O módulo formContext.panel fornece funções para manipular painéis (grupo de informações), como exibir, ocultar e controlar o estado de colapso (aberto/fechado). Abaixo estão as funcionalidades disponíveis.


    Exibir e Ocultar Painéis

    hide(panelId)

    Oculta um painel específico.

    • Parâmetros:

      • panelId (String): ID do painel a ser ocultado.

    • Exemplo:

      formContext.panel.hide("painel1"); // Oculta o painel com ID "painel1".

    show(panelId)

    Exibe um painel específico.

    • Parâmetros:

      • panelId (String): ID do painel a ser exibido.

    • Exemplo:

      formContext.panel.show("painel1"); // Exibe o painel com ID "painel1".

    Expandir e Recolher Painéis

    O módulo collapse permite controlar o estado de colapso (aberto/fechado) de um painel.

    collapse.toggle(panelId)

    Alterna o estado de colapso de um painel (abre se estiver fechado e fecha se estiver aberto).

    • Parâmetros:

      • panelId (String): ID do painel.

    • Exemplo:

      formContext.panel.collapse.toggle("painel1"); // Alterna o estado de colapso do painel com ID "painel1".

    collapse.isCollapsed(panelId)

    Verifica se um painel está colapsado (fechado).

    • Parâmetros:

      • panelId (String): ID do painel.

    • Retorno:

      • true se o painel estiver colapsado.

      • false se o painel estiver expandido.

    • Exemplo:

      const estaColapsado = formContext.panel.collapse.isCollapsed("painel1");
      if (estaColapsado) {
          console.log("O painel está fechado.");
      } else {
          console.log("O painel está aberto.");
      }

    collapse.close(panelId)

    Fecha (colapsa) um painel.

    • Parâmetros:

      • panelId (String): ID do painel.

    • Exemplo:

      formContext.panel.collapse.close("painel1"); // Fecha o painel com ID "painel1".

    collapse.open(panelId)

    Abre (expande) um painel.

    • Parâmetros:

      • panelId (String): ID do painel.

    • Exemplo:

      formContext.panel.collapse.open("painel1"); // Abre o painel com ID "painel1".

    Exemplos de Uso de funções de painéis

    Ocultando e exibindo um painel:

    formContext.panel.hide("painel1"); // Oculta o painel.
    formContext.panel.show("painel1"); // Exibe o painel.

    Alternando o estado de colapso de um painel:

    formContext.panel.collapse.toggle("painel1"); // Alterna entre aberto e fechado.

    Verificando se um painel está colapsado:

    if (formContext.panel.collapse.isCollapsed("painel1")) {
        console.log("O painel está fechado.");
    } else {
        console.log("O painel está aberto.");
    }

    Fechando e abrindo um painel:

    formContext.panel.collapse.close("painel1"); // Fecha o painel.
    formContext.panel.collapse.open("painel1"); // Abre o painel.