Class: FieldList

@nginstack/engine/lib/classdef/FieldList~ FieldList


new FieldList()

Classe que provê mecanismos para trabalhar com fields em uma estrutura de lista.

Members


count

Retorna a quantidade de campos desta lista.

Methods


add(field)

Adiciona um campo na lista. Os campos adicionados também serão criados como propriedades da lista.

Parameters:
Name Type Description
field Field

Campo a ser adicionado na lista.


assign(fieldList)

Adiciona na lista todos os fields da lista informada.

Parameters:
Name Type Description
fieldList FieldList

clear()

Remove todos os campos contidos na lista.


clone()

Retorna uma nova lista com uma cópia de cada campo contida nela.


field(nameOrIndex)

Retorna o field a partir de seu nome ou índice na lista.

Parameters:
Name Type Description
nameOrIndex string | number
Returns:
Type
Field

getFieldNames( [opt_fieldsNames])

Retorna um array com os nomes dos fields da lista.

Parameters:
Name Type Argument Description
opt_fieldsNames Array <optional>

Array onde serão adicionados os nomes dos campos. Caso não seja informado, os nomes serão adicionados em um array vazio que será retornado por esta função.

Returns:

Array com os nomes dos campos.

Type
Array.<string>

getFieldsByProperty(propertyName)

Retorna uma lista de campos cuja propriedades tenham os valores informados.

Parameters:
Name Type Argument Description
propertyName * <repeatable>

Há múltiplas formas de definição dos parâmetros, veja o exemplo abaixo.

Returns:

Lista de campos.

Type
FieldList
Example
//Propriedade e valor:
 //Nessa forma serão obtidos os campos que possuem as propriedades fornecidos
 //com os respectivos valores.
 getFieldsByProperty('prop', valor, 'prop2', valor2);

 //Array de propriedades e de valores:
 //Nessa forma serão fornecidos dois arrays, o primeiro array é o de propriedades
 //que se relaciona com o segundo array, que é o de valores, pelo índice.
 getFieldsByProperty(['prop', 'prop2'], [valor, valor2]);

 //Através de um callback
 //Nesta forma são obtidos os campos de acordo com a regra definida no callback.
 getFieldsByProperty(function (field) {
   return field.required === true;
 });

indexOf(nameOrField)

Retorna a posição do field na lista. Caso o field não esteja na lista é retornado o valor -1.

Parameters:
Name Type Description
nameOrField string
Returns:

Integer


map(func, args)

Invoca a função informada para cada campo da lista. O primeiro parâmetro passado para a função é o campo da lista e os demais são os mesmos parâmetros passados para a função map com exceção do primeiro, ou seja, o parâmetro func.

Parameters:
Name Type Argument Description
func function

Função que será executada para cada campo.

args args <repeatable>

Argumentos a serem passados para func.

Returns:

Array com o retorno da função informada para cada campo contido nesta lista.

Type
Array.<*>

remove(nameOrIndexOrField)

Remove da lista o field informado.

Parameters:
Name Type Description
nameOrIndexOrField string | number | Field
Returns:

Retorna o field removido.

Type
Field

setFieldsProperties(fieldNames, propertyNames, propertyValues)

Este método cria ou seta as propriedades informadas com os valores informados em cada campo da definido nos parâmetros. Para utilizar esse método existem diversas formas de o invocar, veja os exemplo abaixo.

Parameters:
Name Type Argument Description
fieldNames string | Array.<Field>

Nomes dos fields separados por vírgula ou ponto-e-vírgula ou array de campos a serem modificados.

propertyNames string | Array.<string> | function

Nomes das propriedades separadas por vírgula ou ponto-e-vírgula ou função que será executada para cada campo.

propertyValues * <repeatable>

Respectivos valores das propriedades informadas.

Example
// Array de campos com callback para setar as propriedades:
 fl.setFieldsProperties([field1, field2], function (field) {
   field.prop = valor;
   field.prop2 = valor2;
 });

 // Array com os nomes dos campos com callback para setar as propriedades:
 fl.setFieldsProperties(['campo1','campos2'], function (field) {
   field.prop = valor; field.prop2 = valor2
 });

 // String com o nomes dos campos separados por virgula ou ponto e virgula como primeiro
 // parâmetro.
 // Array com nomes das propriedades a serem definidas como segundo parâmetro.
 // Array com os valores a serem definidos nas propriedades de mesmo índice como terceiro
 // parâmetro.
 fl.setFieldsProperties('campo1,campos2', ['prop', 'prop2'], [valor, valor2]);

 // Ainda na forma anterior pode ser utilizado o caractere '*' para obter todos os campos.
 fl.setFieldsProperties('*', ['prop', 'prop2'], [valor, valor2]);

 // Lista de strings separados por vírgula ou ponto e virgula com os nomes dos campos a
 // serem alterados como primeiro parâmetro.
 // Os parâmetros seguintes são os nomes das propriedades com os valores que devem ser
 // atribuídos.
 fl.setFieldsProperties('campo1,campos2', 'prop', valor, 'prop2', valor2);