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)
 
(28 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
__NOTOC__
+
{{DISPLAYTITLE:latromi.formManager}}__NOTOC__
{{DISPLAYTITLE:latromi.formManager}}
+
Gerenciador de Formulários Dinâmicos. Esse objeto não precisa ser estanciado pois é um objeto estático.
Gerenciador de Formulários Dinâmicos. Essa fornece os seguintes objetos no lado do cliente:
 
  
{|class="wikitable apidoctable"
+
== Sintaxe ==
!Funções / Propriedades
+
<syntaxhighlight lang="JavaScript">
! Retorno
+
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.
 
 
|-
 
|-
|setOnFormCreatedCallback()
+
|[[DEV:APIs/JavaScript/latromi.formManager/setOnFormCreatedCallback(function)|setOnFormCreatedCallback(function)]]
|
 
 
|Callback disparado quando o Formulário for criado na página.
 
|Callback disparado quando o Formulário for criado na página.
 
|-
 
|-
|setOnEventFiringCallback()
+
|[[DEV:APIs/JavaScript/latromi.formManager/setOnEventFiringCallback(function)|setOnEventFiringCallback(function)]]
|
 
 
|Callback disparado quando um evento for disparado.
 
|Callback disparado quando um evento for disparado.
 
|-
 
|-
|setOnFieldValueChangedCallback()
+
|[[DEV:APIs/JavaScript/latromi.formManager/setOnFieldValueChangedCallback(function)|setOnFieldValueChangedCallback(function)]]
|
 
 
|Callback disparado quando o valor de um campo for alterado.
 
|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:APIs/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 () {
  
{|class="wikitable apidoctable"
+
  function onFormCreatedPrivate(arguments) {
!Parâmetro
+
      console.log('Formulário Criado.');
!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 onEventFiringPrivate(arguments) {
 +
      console.log('Evento ' + arguments.eventName + ' disparado.');
 +
  }
  
<syntaxhighlight lang="JavaScript">
+
  function onFieldValueChangedPrivate(arguments) {
function getFormInstance() {
+
       console.log('O valor do campo ' + arguments.field.name + ' foi alterado.');
  // Obtém a instância do formulário
 
  var form = latromi.formManager.getFormInstance();
 
  if (form) {
 
       console.log('Form com UpgradeCode ' + form.upgradeCode + ' encontrado!');
 
 
   }
 
   }
}
 
</syntaxhighlight>
 
  
== <span id="setOnFormCreatedCallback"></span>setOnFormCreatedCallback() ==
+
  return {
 
+
      // Delega a escuta do evento para funções privadas
{|class="wikitable apidoctable"
+
      // (não pode ser acessadas de fora deste objeto)
!Parâmetro
+
      onFormCreated        : onFormCreatedPrivate,
!Tipo
+
      onEventFiring        : onEventFiringPrivate,
!Descrição
+
      onFieldValueChanged  : onFieldValueChangedPrivate
|-
+
  }
|callback
+
};
|function (arguments)
 
|Função de callback, esperando um parâmetro do tipo ''Object''.
 
|}
 
  
== <span id="setOnEventFiringCallback"></span>setOnEventFiringCallback() ==
+
// Declara uma instância do objeto MyForm
 +
var myForm = new MyForm();
  
{|class="wikitable apidoctable"
+
// Utiliza funções públicas do objeto MyForm como Callback para os eventos de Formulário.
!Parâmetro
+
latromi.formManager.setOnFormCreatedCallback( myForm.onFormCreated );
!Tipo
+
latromi.formManager.setOnEventFiringCallback( myForm.onEventFiring );
!Descrição
+
latromi.formManager.setOnFieldValueChangedCallback( myForm.onFieldValueChanged );
|-
+
</syntaxhighlight>
|callback
 
|function (arguments)
 
|Função de callback, esperando um parâmetro do tipo ''Object''.
 
|}
 
 
 
== <span id="setOnFieldValueChangedCallback"></span>setOnFieldValueChangedCallback() ==
 
 
 
{|class="wikitable apidoctable"
 
!Parâmetro
 
!Tipo
 
!Descrição
 
|-
 
|callback
 
|function (arguments)
 
|Função de callback, esperando um parâmetro do tipo ''Object''.
 
|}
 

Edição atual tal como às 20h51min 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 );