Class: DataSourceFieldDef

@nginstack/datasource/lib/DataSourceFieldDef~ DataSourceFieldDef


new DataSourceFieldDef()

Representação abstrata de um dado que pode ser filtrado ou consultado em uma fonte de dados. Essa classe não deve ser utilizada diretamente. Em vez, utilize as especializações DataSourceFilterDef e DataSourceColumnDef.

Members


<nullable> classKey :number

Quando a definição da coluna ou filtro possui a propriedade name informada, indica que a coluna ou filtro é um lookup para classKey. Quando name não é informado, indica que deve ser importadas colunas ou filtros a partir da classe informada. Para melhor controle dessa importação podem ser utilizadas as propriedades options, para determinar quais os campos que devem ser importados, e prefix, para adicionar um prefixo nos nomes das colunas ou filtros criados na importação.

Type:
  • number
See:
  • DataSourceFieldDef#options
  • DataSourceFieldDef#prefix

displayFormat :DateFormat|LatitudeFormat|LongitudeFormat|AngleFormat|string|number|null

Atenção: Essa propriedade possui apenas o controle da visão em interfaces do sistema, não acontecerá a formatação durante a fase de consumo do DataSource. Template a ser utilizado para a formatação da coluna. São aceitos vários tipos de template: para textos, números, datas e formatos de geolocalização. Para dados textuais, o template utiliza a sintaxe da função sprintf, comum a diversas linguagens. Para dados numéricos, o template é um padrão semelhante ao utilizado em aplicações de planilhas, como o Excel. A sintaxe é a mesma do GWT (http://google-web-toolkit.googlecode.com/svn/ javadoc/2.1/com/google/gwt/i18n/client/NumberFormat.html). Também é possível passar um valor da enumeração NumberFormat.Format para se utilizar valores padrão. Os valores suportados atualmente são NumberFormat.Format.DECIMAL, NumberFormat.Format.PERCENT e NumberFormat.Format.CURRENCY.

Caso seja utilizada esta propriedade, a propriedade decimalPrecision será ignorada. Abaixo também são detalhados os formato de exibição para os tipos "date", "longitude", "latitude", "angle". Valores possíveis:

  • DateForma.DDMMYYYY: dia/mês/ano(4 dígitos)
  • DateForma.DDMMYY: dia/mês/ano(2 dígitos)
  • DateForma.MMYYYY: mês/ano(4 dígitos)
  • DateForma.WWYYYY: semana/ano(4 dígitos)
  • LatitudeFormat.DDD_DDDDD: graus decimais°
  • LatitudeFormat.DDD_MM_MMM_DIR: graus° minutos' {N|S}
  • LatitudeFormat.DDD_MM_SS_S_DIR: graus° minutos' segundos" {N|S}
  • LongitudeFormat.DDD_DDDDD: graus°
  • LongitudeFormat.DDD_MM_MMM_DIR: graus° minutos' {E|W}
  • LongitudeFormat.DDD_MM_SS_S_DIR: graus° minutos' segundos" {E|W}
  • AngleFormat.DDD: graus°
  • AngleFormat.DDD_DD: graus decimais°
  • NumberFormat.Format.DECIMAL: decimal
  • NumberFormat.Format.CURRENCY: moeda
  • '##0.##': número decimal sem separador de milhar
  • 'Sr(a). %-20s' texto com padding a direitas
Type:
  • DateFormat | LatitudeFormat | LongitudeFormat | AngleFormat | string | number | null
See:

lookupType :number

Determina o tipo de relacionamento lookup desta coluna ou filtro. Quando é informada uma classe na propriedade #classKey, o relacionamento pode ser com os registros dessa classe, com as classes filhas dessa classe ou com os arquivos do Sistema de Arquivos Virtual contidos nessa classe. Os valores possíveis são: LookupType.NONE, LookupType.RECORD, LookupType.CLASS e LookupType.FILE.

Type:
  • number
See:

name :string

O nome da coluna ou filtro.

Type:
  • string

options :Object

Opções da importação de filtros ou colunas. Um filtro ou uma coluna declarada sem nome e com classKey é tratado como uma operação de importação, onde será criado um filtro ou coluna para cada campo da classe informada. Esta propriedade permite indicar quais campos devem ser importados e as opções 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.

Type:
  • Object
See:
  • DataSourceFieldDef#classKey
  • DataSourceFieldDef#prefix

type :string

Tipo de dados do filtro ou coluna. Os valores possíveis são declarados no enumerado module:@nginstack/datasource/lib/DataSourceDataType.

Type:
  • string
See: