Mudanças entre as edições de "Desenvolvedor:APIs/JavaScript/latromi.formManager"

De LATROMI Manuais
Desenvolvedor:APIs/JavaScript/latromi.formManager
Ir para: navegação, pesquisa
m (Escutando eventos do Formulário)
 
(39 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
{{DISPLAYTITLE:latromi.formManager}}
+
{{DISPLAYTITLE:latromi.formManager}}__NOTOC__
Gerenciador de Formulários Dinâmicos. Essa fornece os seguintes objetos no lado do cliente:
+
Gerenciador de Formulários Dinâmicos. Esse objeto não precisa ser estanciado pois é um objeto estático.
  
{|class="wikitable" style="max-width:850px"
+
== Sintaxe ==
!Funções / Propriedades
+
<syntaxhighlight lang="JavaScript">
! Tipo
+
latromi.formInstance = function () {
 +
      return {
 +
        setOnFormCreatedCallback      : function (callback)    { },
 +
        setOnEventFiringCallback      : function (callback)    { },
 +
        setOnFieldValueChangedCallback : function (callback)    { },
 +
        getFormInstance                : function (upgradeCode) { }
 +
      }
 +
}
 +
</syntaxhighlight>
 +
 
 +
== Métodos ==
 +
{|class="wikitable apidoctable2"
 +
!Nome
 
! Descrição
 
! Descrição
 
|----------------------------------
 
|----------------------------------
|[[#getFormInstance|getFormInstance()]]
+
|[[DEV:APIs/JavaScript/latromi.formManager/getFormInstance(string)|getFormInstance(string)]]
|[[Dev:APIs/JavaScript/latromi.formInstance|latromi.formInstance]]
+
|Retorna um objeto do tipo [[Dev:APIs/JavaScript/latromi.formInstance|latromi.formInstance]], referente a um Formulário Dinâmico carregado na tela.
|Retorna um objeto do tipo '''formInstance''', referente a um Formulário Dinâmico carregado na tela.
+
|-
 +
|[[DEV:APIs/JavaScript/latromi.formManager/setOnFormCreatedCallback(function)|setOnFormCreatedCallback(function)]]
 +
|Callback disparado quando o Formulário for criado na página.
 +
|-
 +
|[[DEV:APIs/JavaScript/latromi.formManager/setOnEventFiringCallback(function)|setOnEventFiringCallback(function)]]
 +
|Callback disparado quando um evento for disparado.
 +
|-
 +
|[[DEV:APIs/JavaScript/latromi.formManager/setOnFieldValueChangedCallback(function)|setOnFieldValueChangedCallback(function)]]
 +
|Callback disparado quando o valor de um campo for alterado.
 
|}
 
|}
  
= <span id="getFormInstance"></span>getFormInstance() =
+
== Exemplos ==
Função que retorna uma instância de [[Dev/JavaScript/latromi.formInstance|formInstance]].
+
=== Escutando eventos do Formulário ===
 +
O exemplo a seguir mostra como criar um objeto para escutar os eventos do formulário. O código executa as seguintes ações:
 +
* Cria um objeto chamado '''MyForm'''
 +
* No objeto '''MyForm''' são adicionadas funções públicas e privadas para escutar os eventos do Formulário.
 +
*: ''OBS.: A utilização de funções privadas para escutar os eventos não é obrigatória. O mesmo pode ser feiro diretamente nas funções públicas.''
 +
* Uma variável chamada '''myForm''' é declarada, e recebe uma nova instância do objeto '''MyForm'''.
 +
* Em seguida, é configurada a escuta dos eventos do formulário pelo objeto instanciado na variável '''myForm'''.
 +
<syntaxhighlight lang="JavaScript">
 +
// Cria o objeto MyForm
 +
var MyForm = function () {
 +
 
 +
  function onFormCreatedPrivate(arguments) {
 +
      console.log('Formulário Criado.');
 +
  }
  
{|class="wikitable" style="max-width:850px"
+
  function onEventFiringPrivate(arguments) {
!Parâmetro
+
      console.log('Evento ' + arguments.eventName + ' disparado.');
!Tipo
+
  }
!Descrição
 
|-
 
|upgradeCode *
 
|string
 
|Código de atualização do Formulário Dinâmico. Este parâmetro é '''opcional'''. Se for especificado, o '''formManager''' vai procurar um formulário que contenha esse código. Caso contrário, vai retornar o primeiro Formulário encontrado.
 
|}
 
  
== Exemplo ==
+
  function onFieldValueChangedPrivate(arguments) {
 +
      console.log('O valor do campo ' + arguments.field.name + ' foi alterado.');
 +
  }
  
<syntaxhighlight lang="JavaScript">
+
  return {
function getFormInstance() {
+
      // Delega a escuta do evento para funções privadas
  var form = latromi.formManager.getFormInstance();
+
      // (não pode ser acessadas de fora deste objeto)
  if (form) {
+
      onFormCreated        : onFormCreatedPrivate,
       console.log('Form com UpgradeCode ' + form.upgradeCode + 'encontrado!');
+
      onEventFiring        : onEventFiringPrivate,
 +
       onFieldValueChanged  : onFieldValueChangedPrivate
 
   }
 
   }
}
+
};
 +
 
 +
// Declara uma instância do objeto MyForm
 +
var myForm = new MyForm();
 +
 
 +
// Utiliza funções públicas do objeto MyForm como Callback para os eventos de Formulário.
 +
latromi.formManager.setOnFormCreatedCallback( myForm.onFormCreated );
 +
latromi.formManager.setOnEventFiringCallback( myForm.onEventFiring );
 +
latromi.formManager.setOnFieldValueChangedCallback( myForm.onFieldValueChanged );
 
</syntaxhighlight>
 
</syntaxhighlight>

Edição atual tal como às 21h51min de 9 de julho de 2018

Gerenciador de Formulários Dinâmicos. Esse objeto não precisa ser estanciado pois é um objeto estático.

Sintaxe

latromi.formInstance = function () {
      return {
         setOnFormCreatedCallback       : function (callback)    { },
         setOnEventFiringCallback       : function (callback)    { },
         setOnFieldValueChangedCallback : function (callback)    { },
         getFormInstance                : function (upgradeCode) { }
      }
}

Métodos

Nome Descrição
getFormInstance(string) Retorna um objeto do tipo latromi.formInstance, referente a um Formulário Dinâmico carregado na tela.
setOnFormCreatedCallback(function) Callback disparado quando o Formulário for criado na página.
setOnEventFiringCallback(function) Callback disparado quando um evento for disparado.
setOnFieldValueChangedCallback(function) Callback disparado quando o valor de um campo for alterado.

Exemplos

Escutando eventos do Formulário

O exemplo a seguir mostra como criar um objeto para escutar os eventos do formulário. O código executa as seguintes ações:

  • Cria um objeto chamado MyForm
  • No objeto MyForm são adicionadas funções públicas e privadas para escutar os eventos do Formulário.
    OBS.: A utilização de funções privadas para escutar os eventos não é obrigatória. O mesmo pode ser feiro diretamente nas funções públicas.
  • Uma variável chamada myForm é declarada, e recebe uma nova instância do objeto MyForm.
  • Em seguida, é configurada a escuta dos eventos do formulário pelo objeto instanciado na variável myForm.
// Cria o objeto MyForm
var MyForm = function () {

   function onFormCreatedPrivate(arguments) {
      console.log('Formulário Criado.');
   }

   function onEventFiringPrivate(arguments) {
      console.log('Evento ' + arguments.eventName + ' disparado.');
   }

   function onFieldValueChangedPrivate(arguments) {
      console.log('O valor do campo ' + arguments.field.name + ' foi alterado.');
   }

   return {
      // Delega a escuta do evento para funções privadas 
      // (não pode ser acessadas de fora deste objeto)
      onFormCreated        : onFormCreatedPrivate,
      onEventFiring        : onEventFiringPrivate,
      onFieldValueChanged  : onFieldValueChangedPrivate
   }
};

// Declara uma instância do objeto MyForm
var myForm = new MyForm();

// Utiliza funções públicas do objeto MyForm como Callback para os eventos de Formulário.
latromi.formManager.setOnFormCreatedCallback( myForm.onFormCreated );
latromi.formManager.setOnEventFiringCallback( myForm.onEventFiring );
latromi.formManager.setOnFieldValueChangedCallback( myForm.onFieldValueChanged );