Skip to main content

[Custom Page] Quais são as funções nativas do AgilityFlow disponíveis no JavaScript para utilizar em uma Custom Page? CustomPageContext

Introdução

Este script fornece um conjunto de funções para manipulação de contexto de página, carregamento dinâmico de componentes e arquivos, manipulação de mensagens, conversão de números e datas, e interação com URLs base.


Constantes

emptyGuid

Uma string que representa um GUID vazio:

var emptyGuid = "00000000-0000-0000-0000-000000000000";

Estrutura Principal

customPageContext

Objeto que gerencia funções relacionadas ao contexto da página.

parentFrame

Identifica e armazena a referência do iframe pai.

customPageContext.parentFrame

isMobile()

Retorna true se o dispositivo for móvel.

customPageContext.isMobile();

redirectTo(url)

Redireciona a página para a URL informada.

customPageContext.redirectTo('https://example.com');

openLightBox(link, tamanholightbox, titulo)

Abre um lightbox com a URL especificada.

customPageContext.openLightBox('/pagina.html', 'm', 'Exemplo');

Carregamento de Componentes CSHTML

Funções para carregar componentes de forma dinâmica:

customPageContext.loadCsHtmlComponent(componentName, options);
customPageContext.loadHtmlComponent(componentName, options);
customPageContext.loadPartialView(componentName, options);
customPageContext.loadViewComponent(componentName, options);
customPageContext.loadAjax(componentName, options);
customPageContext.loadAjaxComponent(componentName, options);

Veja um exemplo de uso para Inserir, Atualizar ou deletar um registro em um Formulário, clicando aqui

Exemplo passando parâmetros para o cshtml:

function loadPartialToUpdateRegister() {

    var cshtmlPartialName = "[coloque aqui o nome do partial cshtml que vc fez as regras de atualizar]";
    customPageContext.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)                
            }
        
        }
     )
}


Carregamento de Arquivos JavaScript

addJavascriptFile(options)

Adiciona um arquivo JavaScript de forma assíncrona e executa um callback ao carregar.

customPageContext.addJavascriptFile({
    file_url: "script.js",
    callback_onload: function() {
        console.log("Script carregado");
    }
});

Manipulação de URL

url.getBaseUrl()

Obtém a URL base da aplicação.

var baseUrl = customPageContext.url.getBaseUrl();

url.getStaticFileUrl()

Obtém a URL de arquivos estáticos.

var staticUrl = customPageContext.url.getStaticFileUrl();

Configuração de Idioma

Funções para verificar e manipular o idioma da aplicação.

customPageContext.currentLanguage.get();
customPageContext.currentLanguage.isEnglish();
customPageContext.currentLanguage.isPortuguese();
customPageContext.currentLanguage.isSpanish();

Manipulação de Mensagens

Funções para exibir e ocultar mensagens de alerta, erro e sucesso.

customPageContext.msg.show('warning', 'Mensagem de alerta', 'Atenção');
customPageContext.msg.error('Ocorreu um erro!', 'Erro');
customPageContext.msg.success('Operação realizada com sucesso!', 'Sucesso');

Manipulação de Números

convertString_toNumber(str, qtdCasasDecimais)

Converte uma string numérica para um número.

var numero = customPageContext.number.convertString_toNumber("1.234,56", 2);

convertNumber_toStringFormatted(number, qtdCasasDecimais)

Formata um número para string com separadores de milhar e decimal.

var stringFormatada = customPageContext.number.convertNumber_toStringFormatted(1234.56, 2);

Validação de Datas

isCurrentMonthAndYear(data)

Verifica se a data fornecida pertence ao mês e ano atuais.

  • Parâmetros:

    • data (String): Data no formato DD/MM/YYYY.

  • Retorno:

    • true se a data for do mês e ano atuais.

    • false caso contrário.

  • Exceções:

    • Lança um TypeError se a data estiver em um formato inválido.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.validation.isCurrentMonthAndYear("25/10/2023"); // Retorna true se outubro de 2023 for o mês e ano atuais.

compare(date1, compare, date2)

Compara duas datas com base no operador especificado.

  • Parâmetros:

    • date1 (String): Primeira data no formato DD/MM/YYYY.

    • compare (String): Operador de comparação. Valores possíveis:

      • 'greater' ou '>'

      • 'greater-or-equal' ou '>='

      • 'less' ou '<'

      • 'less-or-equal' ou '<='

      • 'equal' ou '=='

    • date2 (String): Segunda data no formato DD/MM/YYYY.

  • Retorno:

    • true ou false, dependendo da comparação.

  • Exceções:

    • Lança um TypeError se as datas estiverem em formato inválido ou se o operador de comparação não for reconhecido.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.validation.compare("25/10/2023", "greater", "20/10/2023"); // Retorna true.

compareDatetime(datetime1, compare, datetime2)

Compara duas datas e horários com base no operador especificado.

  • Parâmetros:

    • datetime1 (String): Primeira data e horário no formato DD/MM/YYYY HH:mm.

    • compare (String): Operador de comparação. Valores possíveis:

      • 'greater' ou '>'

      • 'greater-or-equal' ou '>='

      • 'less' ou '<'

      • 'less-or-equal' ou '<='

      • 'equal' ou '=='

    • datetime2 (String): Segunda data e horário no formato DD/MM/YYYY HH:mm.

  • Retorno:

    • true ou false, dependendo da comparação.

  • Exceções:

    • Lança um TypeError se os dados estiverem em formato inválido ou se o operador de comparação não for reconhecido.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.validation.compareDatetime("25/10/2023 14:30", "greater", "25/10/2023 12:00"); // Retorna true.

compareToday(compare, date2)

Compara a data atual com uma data fornecida.

  • Parâmetros:

    • compare (String): Operador de comparação. Valores possíveis:

      • 'greater' ou '>'

      • 'greater-or-equal' ou '>='

      • 'less' ou '<'

      • 'less-or-equal' ou '<='

      • 'equal' ou '=='

    • date2 (String): Data no formato DD/MM/YYYY.

  • Retorno:

    • true ou false, dependendo da comparação.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.validation.compareToday("less", "30/10/2023"); // Retorna true se a data atual for menor que 30/10/2023.

Adição de Tempo

day(data, days)

Adiciona dias a uma data.

  • Parâmetros:

    • data (String): Data no formato DD/MM/YYYY ou DD/MM/YYYY HH:mm.

    • days (Number): Número de dias a serem adicionados.

  • Retorno:

    • Data resultante no mesmo formato da entrada.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.add.day("25/10/2023", 5); // Retorna "30/10/2023".

month(data, months)

Adiciona meses a uma data.

  • Parâmetros:

    • data (String): Data no formato DD/MM/YYYY ou DD/MM/YYYY HH:mm.

    • months (Number): Número de meses a serem adicionados.

  • Retorno:

    • Data resultante no mesmo formato da entrada.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.add.month("25/10/2023", 2); // Retorna "25/12/2023".

year(data, years)

Adiciona anos a uma data.

  • Parâmetros:

    • data (String): Data no formato DD/MM/YYYY ou DD/MM/YYYY HH:mm.

    • years (Number): Número de anos a serem adicionados.

  • Retorno:

    • Data resultante no mesmo


hour(data, hours)

Adiciona horas a uma data e horário.

  • Parâmetros:

    • data (String): Data e horário no formato DD/MM/YYYY HH:mm.

    • hours (Number): Número de horas a serem adicionadas.

  • Retorno:

    • Data e horário resultante no formato DD/MM/YYYY HH:mm.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.add.hour("25/10/2023 14:30", 3); // Retorna "25/10/2023 17:30".

minute(data, minutes)

Adiciona minutos a uma data e horário.

  • Parâmetros:

    • data (String): Data e horário no formato DD/MM/YYYY HH:mm.

    • minutes (Number): Número de minutos a serem adicionados.

  • Retorno:

    • Data e horário resultante no formato DD/MM/YYYY HH:mm.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.add.minute("25/10/2023 14:30", 15); // Retorna "25/10/2023 14:45".

Obtenção de Datas

getLastDayOfCurrentMonth()

Retorna o último dia do mês atual.

  • Retorno:

    • Data no formato DD/MM/YYYY.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.getLastDayOfCurrentMonth(); // Retorna "31/10/2023" se outubro for o mês atual.

getLastDayOfMonth(data)

Retorna o último dia do mês da data fornecida.

  • Parâmetros:

    • data (String): Data no formato DD/MM/YYYY.

  • Retorno:

    • Data no formato DD/MM/YYYY.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.getLastDayOfMonth("25/10/2023"); // Retorna "31/10/2023".

Data e Horário Atuais

getDateNow()

Retorna a data e horário atuais.

  • Retorno:

    • Objeto Date representando a data e horário atuais.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.getDateNow(); // Retorna a data e horário atuais.

getFormattedDateTime()

Retorna a data e horário atuais formatados.

  • Retorno:

    • String no formato DD/MM/YYYY HH:mm.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.getFormattedDateTime(); // Retorna "25/10/2023 14:30".

getFormattedDate()

Retorna a data atual formatada.

  • Retorno:

    • String no formato DD/MM/YYYY.

  • Exemplo:

    javascript
    Copy
    customPageContext.datetime.getFormattedDate(); // Retorna "25/10/2023".