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:

    javascript
    Copy
    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:
javascript
Copy
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:

    javascript
    Copy
    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:

    javascript
    Copy
    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:

    javascript
    Copy
    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:

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

field.hide(campoKey)

Oculta um campo.

  • Parâmetros:

    • campoKey (String): ID do campo.

  • Exemplo:

    javascript
    Copy
    formContext.field.hide("campoOculto");

field.show(campoKey)

Exibe um campo previamente oculto.

  • Parâmetros:

    • campoKey (String): ID do campo.

  • Exemplo:

    javascript
    Copy
    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:

    javascript
    Copy
    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:

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

Manipulação do Formulário Principal

form.save()

Salva o formulário.

  • Exemplo:

    javascript
    Copy
    formContext.form.save();

form.saveDraft()

Salva o formulário como rascunho.

  • Exemplo:

    javascript
    Copy
    formContext.form.saveDraft();

form.undoDraft()

Desfaz o rascunho do formulário.

  • Exemplo:

    javascript
    Copy
    formContext.form.undoDraft();

form.isNew()

Verifica se o formulário é novo.

  • Retorno:

    • true se for novo.

    • false caso contrário.

  • Exemplo:

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

form.isDraft()

Verifica se o formulário está em modo de rascunho.

  • Retorno:

    • true se for um rascunho.

    • false caso contrário.

  • Exemplo:

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

Painéis

panel.hide(panelId)

Oculta um painel.

  • Parâmetros:

    • panelId (String): ID do painel.

  • Exemplo:

    javascript
    Copy
    formContext.panel.hide("painel1");

panel.show(panelId)

Exibe um painel previamente oculto.

  • Parâmetros:

    • panelId (String): ID do painel.

  • Exemplo:

    javascript
    Copy
    formContext.panel.show("painel1");