Class: DataSourceColumns

@nginstack/engine/lib/datasource/DataSourceColumns~ DataSourceColumns


new DataSourceColumns( [opt_dataSource] [, opt_colsDefs])

Coleção de colunas de uma fonte de dados.

Parameters:
Name Type Argument Description
opt_dataSource DataSource <optional>

Data source que contém as colunas.

opt_colsDefs Array.<DataSourceColumnDef> <optional>

Lista de nomes das colunas e suas propriedades.

Methods


column(indexOrName [, opt_type])

Obtém ou cria uma nova coluna.

Parameters:
Name Type Argument Description
indexOrName number | string

Nome, alias ou índice da coluna.

opt_type string <optional>

Tipo de dado da coluna.

Returns:

Coluna localizada ou uma nova caso não encontre uma com o nome informado.

Type
DataSourceColumn

findByAlias(alias)

Obtém a coluna com o alias informado.

Parameters:
Name Type Description
alias string

Apelido da coluna.

Returns:

Coluna localizada ou null caso não encontre.

Type
DataSourceColumn

findByName(name)

Obtém a coluna com o nome informado.

Parameters:
Name Type Description
name string

Nome da coluna.

Returns:

Coluna localizada ou null caso não encontre.

Type
DataSourceColumn

getColumns(columnsSelection)

Obtém um subconjunto de colunas da coleção de colunas. O itens do subconjunto são selecionados pelo parâmetro columnsSelection que pode possuir caracteres coringas como o "*"

Parameters:
Name Type Description
columnsSelection string

String que define as colunas selecionadas para compor o subconjunto de colunas. Use "" para selecionar todas as colunas, user PREFIXO para trazer todas as colunas cujo o prefixo é PREFIXO. É possível selecionar colunas de forma dispersa usando o ";" (ponto-e-vírgula) para separar os nomes das colunas. Use o sinal -(menos) para retirar uma coluna da composição do subconjunto de colunas.

Returns:

Subconjunto de colunas.

Type
DataSourceColumns

getIQueryColumns(columnsSelection [, iquery])

Retorna uma ou mais coluna(s) compatível(eis) com o iQuery

Parameters:
Name Type Argument Description
columnsSelection string

Pode ser o nome de uma coluna ou várias colunas separadas por ';'. também pode ser usados os caracteres coringas '*' (todos as colunas) e '-'(eliminar a coluna).

iquery IQuery <optional>

Informe o IQuery para criação das colunas

Returns:

Array de colunas no formato de coluna do iQuery. Formato iQuery: [{field: "PESSOA", alias: "NOME_PESSOA" }, "or", {field: "PESSOA", alias: "NOME_PESSOA"}];

Type
Array
Example
getIQueryColumns("*;-NOME"):  Traz todos as colunas, exceto a coluna NOME.

getLength()

Retorna a quantidade de colunas da fonte de dados.

Returns:

Quantidade de colunas da fonte de dados.

Type
number

getPostProcessingInfo()

Obtém informações a cerca das colunas necessárias para realizar o pós-processamento das dimensões e agregações. De uso interno da API de fontes de dados.

Returns:
Type
Object

hasColumn(name)

Verifica se há uma coluna com o nome informado.

Parameters:
Name Type Description
name string

Nome da coluna a ser pesquisada.

Returns:

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

Type
boolean

importFields(classKey, prefix [, opt_options])

Importa os campos de uma classe do sistema como colunas do DataSource.

Parameters:
Name Type Argument Description
classKey number

Chave da classe.

prefix string

Prefixo que os nomes das colunas receberam após a importação dos campos da Classes informada.

opt_options Object | Object <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])

Importa as definições de colunas 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 colunas da Fonte de Dados.

fieldNamesPrefix string <optional>

Prefixo dos nomes das colunas. Os prefixos são necessários para evitar a colisão de nomes das colunas 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.


indexOf(aliasOrName)

Procura por uma colunas a partir do Alias, Name ou CanonicalName da coluna

Parameters:
Name Type Description
aliasOrName string

Alias, Name ou CanonicalName da coluna.Action

Returns:

-1 se não encontrou ou o índice da coluna, caso tenha encontrado.

Type
Number

parseDynColumnExpr()

Separa a parte original da parte dinâmica de uma coluna de DataSource. Exemplo: Se no datasource foi definido o filtro PEDIDO.PESSOA e se este método for chamado da seguinte forma: splitDerivedColumns("PEDIDO.PESSOA.UF.NOME") será retornado um objeto com a propriedade derivedFrom="PEDIDO.PESSOA" e a propriedade dynColumns = ["UF", "NOME"].
Caso não seja encontrado colunas no dataSource que derivem a coluna informada será retornado null.


toString()