[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
Com essa opção você pode ter acesso ao contexto do form pai que abriu o form atual por exemplo.
Sendo assim você poderia utilizar todas as funções disponíveis no form pai, exemplo:
formContext.parentFrame.formContext.field.getValue("xxx")
isMobile()
Verifica se o dispositivo é móvel.
isPublicPortal()
Verifica se o formulário está sendo exibido em um portal público.
Verifica se o formulário é público (mesma lógica de isPublicPortal
).
Redirecionamento
redirectTo(url)
Redireciona para uma URL especificada.
Abrir Lightbox
openLightBox(link, tamanholightbox, titulo)
Abre uma lightbox com o conteúdo da URL especificada.
Carregamento de Arquivos JavaScript
addJavascriptFile(options)
Adiciona um arquivo JavaScript à página de forma assíncrona e executa um callback após o carregamento.
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:
-
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) {
formContext.msg.success("Executado com sucesso", "Confirmação");
},
onError: function (error) {
formContext.msg.error("Execução não realizada", "Erro");
console.log('error', error)
}
}
)
}
Manipulação de URLs
url.getBaseUrl()
Retorna a URL base do sistema.
url.getStaticFileUrl()
Retorna a URL base para arquivos estáticos.
Idioma Atual
currentLanguage.get()
Retorna o idioma atual do sistema.
currentLanguage.isEnglish()
Verifica se o 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:
-
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.
Exibir Mensagens
show(type, msg, title, options)
Exibe uma mensagem de alerta, erro, sucesso ou aviso.
warning(msg, title, options)
Exibe uma mensagem de aviso.
error(msg, title)
Exibe uma mensagem de erro.
success(msg, title, options)
Exibe uma mensagem de sucesso.
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 (show
, warning
, error
, success
).
hideMsgs()
Oculta todas as mensagens exibidas.
showMsgWarning(msg, title, options)
Exibe uma mensagem de aviso (legado).
showMsgError(msg, title)
Exibe uma mensagem de erro (legado).
showMsgSuccess(msg, title, options)
Exibe uma mensagem de sucesso (legado).
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.
number.convertNumber_toStringFormatted(numberToConvert, qtdCasasDecimais)
Converte um número em uma string formatada de acordo com o idioma.
Manipulação de Datas
isCurrentMonthAndYear(data)
Verifica se a data fornecida pertence ao mês e ano atuais.
compare(date1, compare, date2)
Compara duas datas com base no operador especificado.
compareDatetime(datetime1, compare, datetime2)
Compara duas datas e horários com base no operador especificado.
compareToday(compare, date2)
Compara a data atual com uma data fornecida.
Adição de Tempo
day(data, days)
Adiciona dias a uma data.
month(data, months)
Adiciona meses a uma data.
year(data, years)
Adiciona anos a uma data.
hour(data, hours)
Adiciona horas a uma data e horário.
minute(data, minutes)
Adiciona minutos a uma data e horário.
Obtenção de Datas
getLastDayOfCurrentMonth()
Retorna o último dia do mês atual.
getLastDayOfMonth(data)
Retorna o último dia do mês da data fornecida.
Data e Horário Atuais
getDateNow()
Retorna a data e horário atuais.
Retorna a data e horário atuais formatados.
Retorna a data atual formatada.
Manipulação de Campos
O módulo formContext.field
fornece funções para manipular campos em formulários, como verificar assinaturas, controlar campos obrigatórios, gerenciar selects, ocultar/exibir campos, habilitar/desabilitar campos e definir/obter valores. Abaixo estão as funcionalidades disponíveis.
Campo de Assinatura
signature.isDefined(campokey)
Verifica se uma assinatura foi preenchida em um campo específico.
Campos Obrigatórios
required.ignoreRequired(campokey)
Ignora a validação de campo obrigatório para um campo específico.
required.unsetIgnoreRequired(campokey)
Remove a configuração de ignorar validação de campo obrigatório para um campo específico.
Campos Select Personalizados
customSelect.setDefaultStyle(selector)
Aplica o estilo padrão do sistema a um select personalizado.
Manipulação de Itens em Campos Select Personalizados
select.items.disable(campokey, valuesToDisable)
Desabilita itens específicos em um campo select.
-
Parâmetros:
-
Exemplo:
formContext.field.select.items.disable("meuSelect", "valor1"); // Desabilita o item com valor "valor1".
formContext.field.select.items.disable("meuSelect", ["valor1", "valor2"]); // Desabilita os itens com valores "valor1" e "valor2".
select.items.enable(campokey, valuesToDisable)
Habilita itens específicos em um campo select.
-
Parâmetros:
-
Exemplo:
formContext.field.select.items.enable("meuSelect", "valor1"); // Habilita o item com valor "valor1".
formContext.field.select.items.enable("meuSelect", ["valor1", "valor2"]); // Habilita os itens com valores "valor1" e "valor2".
select.items.disableAll(campokey)
Desabilita todos os itens de um campo select.
select.items.enableAll(campokey)
Habilita todos os itens de um campo select.
Visibilidade de Campos
hide(campokey)
Oculta um campo específico.
show(campokey)
Exibe um campo específico.
hideAll()
Oculta todos os campos do formulário.
showAll()
Exibe todos os campos do formulário.
Habilitação/Desabilitação de Campos
disable(campokey)
Desabilita um campo específico.
enable(campokey)
Habilita um campo específico.
disableAll()
Desabilita todos os campos do formulário.
enableAll()
Habilita todos os campos do formulário.
Definição e Obtenção de Valores de Campos
setValue(campoKey, value, options)
Define o valor de um campo.
getValue(campoKey)
Obtém o valor de um campo.
getText(campoKey)
Obtém o texto exibido de um campo.
getInt(campoKey)
Obtém o valor de um campo como número inteiro.
getDecimal(campoKey)
Obtém o valor de um campo como número decimal.
getFloat(campoKey)
Obtém o valor de um campo como número de ponto flutuante.
getNumber(campoKey)
Obtém o valor de um campo como número (inteiro ou decimal, dependendo da máscara do campo).
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
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();
Obtém o tipo de envio do formulário.
var action = formContext.form.getFormActionOnSubmit();
console.log(action);
Inválida o submit do formulário.
formContext.form.invalidateForm({ message: "Erro ao enviar!" });
Esconde a toolbar.
formContext.form.toolbar.hide();
Exibe a toolbar.
formContext.form.toolbar.show();
Remove a toolbar.
formContext.form.toolbar.remove();
disableNativeSuccessMsg()
Desabilita mensagens nativas de sucesso.
formContext.form.disableNativeSuccessMsg();
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
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");
}
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");
}
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.
show(panelId)
Exibe um painel específico.
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).
collapse.isCollapsed(panelId)
Verifica se um painel está colapsado (fechado).
collapse.close(panelId)
Fecha (colapsa) um painel.
collapse.open(panelId)
Abre (expande) um painel.
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.