[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.parentWindow_init();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 formatoDD/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:
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 formatoDD/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 formatoDD/MM/YYYY
.
-
-
Retorno:
-
true
oufalse
, 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:
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 formatoDD/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 formatoDD/MM/YYYY HH:mm
.
-
-
Retorno:
-
true
oufalse
, 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:
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 formatoDD/MM/YYYY
.
-
-
Retorno:
-
true
oufalse
, dependendo da comparação.
-
-
Exemplo:
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 formatoDD/MM/YYYY
ouDD/MM/YYYY HH:mm
. -
days
(Number): Número de dias a serem adicionados.
-
-
Retorno:
-
Data resultante no mesmo formato da entrada.
-
-
Exemplo:
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 formatoDD/MM/YYYY
ouDD/MM/YYYY HH:mm
. -
months
(Number): Número de meses a serem adicionados.
-
-
Retorno:
-
Data resultante no mesmo formato da entrada.
-
-
Exemplo:
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 formatoDD/MM/YYYY
ouDD/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 formatoDD/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:
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 formatoDD/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:
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:
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 formatoDD/MM/YYYY
.
-
-
Retorno:
-
Data no formato
DD/MM/YYYY
.
-
-
Exemplo:
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:
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:
customPageContext.datetime.getFormattedDateTime(); // Retorna "25/10/2023 14:30".
getFormattedDate()
Retorna a data atual formatada.
-
Retorno:
-
String no formato
DD/MM/YYYY
.
-
-
Exemplo:
customPageContext.datetime.getFormattedDate(); // Retorna "25/10/2023".