Skip to main content

Botão Customizado

Caso seja necessário uma ação no formulário que não exista no agilityflow, é possível criar um botão. Esse botão, executa um código javascript personalizado, que deve ser criado pelo usuário. Para a configuração desse campo, é necessário conhecimento de javascript, já que qualquer ação com esse botão é 100% customizada. 

Grupo de informações

Dentro das configurações, é possível alterar o grupo de informação ao qual o campo foi atribuído no momento da criação.

Nome de Apresentação

Mostra o nome de apresentação informado no momento da criação. Esse é o nome que será mostrado na tela para o usuário.

Regras de Visibilidade e desativação

Usando essas opções, é possível tornar um campo visível, invisível, ativo ou inativo, e definir quando uma dessas ações deve ocorrer. É possível adicionar várias regras para cada campo.

Descrição

É um texto que ajuda a identificar a regra que se está criando. Muito útil quando existem múltiplas regras.

Ação

Ativar

Deixa o campo disponível para inserção de dados. É o estado padrão do campo.

Inativar

Deixa o campo indisponível para inserção de dados.

Visível

O campo é mostrado na tela, caso esteja inserido para tal, nas configurações de tela.

Invisível

O campo é não é mostrado na tela, mesmo que esteja inserido para tal, nas configurações de tela.

A partir da etapa / Até a etapa

Em formulários com etapas, é possível estabelecer que uma regra será aplicada em alguma(s) etapa(s). Para isso, basta selecionar as etapas nos campos "a partir da etapa" e "até a etapa", para definir em que momento do fluxo essa regra vai ser aplicada.

Quando

Define em que momento a ação deve acontecer.

Sempre

É o padrão do formulário.

Condicional
  • Tipo de condição
    Para fazer um validação condicional, estão disponíveis as seguintes condições:
    • Se o campo: compara um campo com um valor, ou com outro campo.
      Abaixo, uma tabela com os operadores disponíveis para as comparações:

      Comparação por valor Comparação por outro campo
      For igual a É igual ao campo
      For maior ou igual a É diferente do campo
      For menor ou igual a   
      For maior que  
      For menor que  
      For diferente de  
      Conter  
      Não conter  

      É possível adicionar mais de um condição na mesma regra.

    • Se é um novo formulário: regra será aplicada quando uma nova entrada no formulário estiver sendo criada.
    • Se é edição de formulário: regra será aplicada quando uma entrada no formulário estiver sendo alterada.

Customização Javascript

A parte mais importante do botão customizado é a programação em javascript. É com ela que o botão será capaz de executar alguma ação no formulário.

Com a customização em Javascript, as possibilidade são inúmeras. Qualquer que seja o código javascript, ele pode ser usado aqui.

Exemplo de código

Posso abrir o WhatsApp pelo agilityflow?

No exemplo abaixo, o botão customizado,customizado está configurado para abrir o WhatsappWhatsApp Web,Web e iniciar uma conversa com o número cadastrado no formulário com um texto padrão preenchido em outro campo.rio.

var nome = $("#nome").val();
var fone = $("#telefone").val();
var texto = $('[campo-id="05710ddf-9af9-7a0d-8c85-5382c2eb8eb2"]').text();

if (nome === null)
    nome = "";

if (fone !== null)
    fone = fone.replaceAll(/\(/,"").replaceAll(/\)/,"").replaceAll(/-/,"").replaceAll(/ /,"");

if (texto === null)
    texto = "";
else
{
    texto = texto.replace("{{nome}}",nome);
    
    var nomes = nome.split(' ');
    var primeironome = nomes[0];
    texto = texto.replace("{{primeironome}}",primeironome);
    
    var hoje = new Date();
    var hora = hoje.getHours();
    var s = "";
    
    if (hora < 12) 
      s = 'bom dia';
    else if (hora < 18) 
      s = 'boa tarde';
     else 
      s = 'boa noite';
    
    
    texto = texto.replace("{{saudacao}}",s);
    
}

window.open("https://web.whatsapp.com/send?phone=55"+fone+"&text="+texto)fone);

Explicando o código:

digo
var nome = $("#nome").val();
var fone = $("#telefone").val();

Obtém-se oso valoresvalor dosdo camposcampo nometelefone, e telefone.o armazena na variável chamada fone. Note que essesesse nomes,nome sãoé exatamente oso nomesnome definidos na configuração Coluna Banco de dados (SQL).

if (fone !== null)
    fone = fone.replaceAll(/\(/,"").replaceAll(/\)/,"").replaceAll(/-/,"").replaceAll(/ /,"");

Nesse ponto, checa se o valor é nulo. Caso não seja, limpa o número, removendo parêntesis e hifens.

window.open("https://web.whatsapp.com/send?phone="+fone);
Abre-se uma nova janela, passando o valor da variável fone na URL.