Class: DataSourceFilters

@nginstack/datasource/lib/DataSourceFilters~ DataSourceFilters


new DataSourceFilters( [opt_dataSource] [, opt_filtersValues])

Coleção de filtros da Fonte de Dados.

Parameters:
Name Type Argument Description
opt_dataSource DataSource <optional>

O DataSource que contém os filtros.

opt_filtersValues Array <optional>

Um array com os valores dos filtros.

Methods


filter(id [, opt_type] [, opt_classKey])

Obtém ou cria um novo filtro.

Parameters:
Name Type Argument Description
id number | string

Nome ou índice do filtro.

opt_type string <optional>

Tipo de dado do filtro.

opt_classKey number <optional>

Classe do filtro, caso seja lookup.

Returns:

Filtro solicitado ou null, caso não exista.

Type
DataSourceFilter

getDerivedFiltersNames(filterName, selfDerived)

Obtém os nomes dos filtros derivados a partir de um filtro informado. Exemplo:

Ao chamar .getDataSet([{name: "PED_PESSOA.UF", value: 1234}, {name: "PED_PESSOA.CLASSE"}], [...]) , dentro do getDataSet, ao chamar filters.getDerivedFilters("PESSOA"), será retornado ["PED_PESSOA.UF","PED_PESSOA.CLASSE"]

Parameters:
Name Type Description
filterName String

Nome de filtro que deriva os filtros que serão retornados.

selfDerived Boolean

Flag que indica se o filtro deriva ele próprio.

Returns:

Lista de filtros derivados a partir do filtro iniciado por 'filterName'.

Type
Array

getFilters(filtersSelection)

Obtém um lista de filtros selecionados de acordo com o critério de seleção especificado em 'filtersSelection'.

Parameters:
Name Type Description
filtersSelection string

Critério de seleção de filtros. Exemplos: "PED_", "PED_,-PED_PESSOA, -PED_RECURSO".

Returns:

Lista de filtros que atendem o critério de seleção.

Type
DataSourceFilters

getIQueryFilters(filtersSelection, conditionalOperator [, iquery])

Retorna um ou mais filtros compatíveis com o iQuery

Parameters:
Name Type Argument Description
filtersSelection string

Pode ser o nome de um filtro o vários filtros separados por ';'. Também pode ser usados os caracteres coringas '*' (todos os filtros) e '-'(eliminar o filtro).

Exemplo: getIQueryFilters("*;-NOME"): Traz todos os filtros, exceto o filtro NOME.

conditionalOperator String

Operador condicional. Pode ser "and" ou "or". O Valor padrão é "and".

iquery IQuery <optional>

Instância do objeto iQuery usada para fazer JOINS.

Returns:

Array de filtros no formato de filtro do iQuery. Formato iQuery: [ { field: "PESSOA", operator: "=", value: 333333 }, "or", { field: "PESSOA", operator: "=", value: 88888 } ]

Type
Array

getLength()

Retorna a quantidade de filtros da fonte de dados.

Returns:

Quantidade de filtros da fonte de dados.

Type
number

hasFilter(name)

Verifica se um determinada coluna está presente na lista de colunas.

Parameters:
Name Type Description
name string

Nome da coluna a ser pesquisada.

Returns:

true, se a coluna existe, false, caso contrário.

Type
boolean

importFields(classKey, prefix [, opt_options])

Cria filtros nesta coleção a partir dos campos da classe de dados informada.

Parameters:
Name Type Argument Description
classKey number

Classe de dados que terá os campos importados como filtros.

prefix string

Prefixo que será adicionado aos nomes dos campos para gerar os nomes dos filtros importados. Um underscore ("_") é inserido automaticamente no fim do prefixo. Caso não seja informado, será utilizado o nome da tabela associada à classe de dados.

opt_options Object | Record.<*, *> <optional>

Opções que permitem indicar quais campos devem ser importados. As propriedades disponíveis são:

  • onlyVisible: importa apenas os campos visíveis da classe informada.
  • children: indica que também devem ser importados os campos das classes filhas.
  • excludeFieldNames: indica a lista de campos que não devem ser importados.
  • includeFieldNames: indica a lista de campos que devem ser importados.

Importante: a princípio, todos os campos são importados mesmo que não estejam relacionados na lista includeFieldNames. Esta propriedade é útil quando utilizada com a opção onlyVisible, para indicar campos não visíveis que também devem ser importados, ou com a onlyIncludedFieldNames, para indicar a lista dos campos que devem ser importados.

  • onlyIncludedFieldNames: indica que apenas os campos informados na opção includeFieldNames devem ser importados.

importVisibleFields(classKey [, fieldNamesPrefix] [, includeFieldNames] [, excludeFieldNames] [, classDef] [, onlyIncludedFieldNames])

Importa as definições de filtros a partir de campos de uma classe.

Parameters:
Name Type Argument Description
classKey number

Chave da classe que será a fonte dos campos a serem importados como filtros da Fonte de Dados.

fieldNamesPrefix String <optional>

Prefixo dos nomes dos filtros. Os prefixos são necessários para evitar a colisão de nomes de filtros quando for realizada a importação de mais de uma classe com campos de nomes iguais.

includeFieldNames String <optional>

Lista de nomes de campos invisíveis da classe informada em classKey separados por ;(ponto e vírgula) que devem ser importados.

excludeFieldNames String <optional>

Lista de nomes de campos visíveis da classe informada em classKey separados por ;(ponto e vírgula) que NÃO devem ser importados.

classDef ModelDef <optional>

Instance class da classe informada em classKey. Deve ser utilizado quando já houve uma instância da classe e o desenvolvedor deseje reaproveitá-la.

onlyIncludedFieldNames Boolean <optional>

Indicar que apenas os campos informados no parâmetro includeFieldNames devem ser importados.

Deprecated:
  • Utilize #importFields.

map(fn [, opt_scope])

Mapeia uma lista com base nos filtros desta instancia de DataSourceFilters de acordo com a regra determinada pela função de mapeamento parametrizada.

Parameters:
Name Type Argument Description
fn function

Função que contém a regra de mapeamento do array resultante.

opt_scope Object <optional>

Contexto em que a função de mapeamento será executada.

Returns:

Mapa construído a partir da definição determinada pela função de mapeamento.

Type
Array.<*>

parseDynFilterExpr(filterName)

Separa a parte original da parte dinâmica de um filtro de DataSource. Exemplo: Se no datasource foi definido o filtro PEDIDO.PESSOA e se este método for chamado da seguinte forma: parseDynFilterExpr("PEDIDO.PESSOA.UF.NOME") será retornado um objeto com a propriedade derivedFrom ="PEDIDO.PESSOA" e a propriedade dynFilters = ["UF", "NOME"].
Caso não exista um filtro do dataSource que possa derivar dinamicamente o filtro informado, será retornado null.

Parameters:
Name Type Description
filterName string

Nome do filtro

Returns:
Type
Object

toString()

Cria uma representação textual deste conjunto de filtros.