new FormDialogField()
Campo de um FormDialog.
Importante: Apenas as seguintes propriedades de ViewDefField são suportadas pelo FormDialog: name, label, width, height, rows, type, wrap, readOnly, required, decimalPrecision, minDecimalPrecision, maxDecimalPrecision, enterKeyAction, displayFormat, validationType, rangeLimit, defaultValue, showPasswordStrength e options
Extends
Members
-
aggregate :module:@nginstack/web-framework/lib/field-aggregator/FieldAggregator~FieldAggregator
-
Totalização que deve ser realizada nos valores do campo e que será exibida na última linha da grade.
Deve ser informada uma instância de uma classe filha de
FieldAggregatorque implemente a lógica de agregação dos dados. Podem ser utilizadas uma das classes preexistentes, comoSumFieldAggregator,AvgFieldAggregator,MaxFieldAggregator,MinFieldAggregatoreCountFieldAggregator, ou pode ser criada uma classe customizada que implemente uma lógica de agregação não convencional.A totalização de campos calculados somente será permitida se a classe de agregação suportar essa funcionalidade. Esse capacidade é indicada pela propriedade
supportsCalculatedFields.Type:
- Inherited From:
- See:
-
- module:@nginstack/web-framework/lib/field-aggregator/FieldAggregator~FieldAggregator
- module:@nginstack/web-framework/lib/field-aggregator/SumFieldAggregator~SumFieldAggregator
- module:@nginstack/web-framework/lib/field-aggregator/AvgFieldAggregator~AvgFieldAggregator
- module:@nginstack/web-framework/lib/field-aggregator/MaxFieldAggregator~MaxFieldAggregator
- module:@nginstack/web-framework/lib/field-aggregator/MinFieldAggregator~MinFieldAggregator
- module:@nginstack/web-framework/lib/field-aggregator/CountFieldAggregator~CountFieldAggregator
- module:@nginstack/web-framework/lib/field-aggregator/FieldAggregator~FieldAggregator#supportsCalculatedFields
Example
fld.aggregate = new SumFieldAggregator(); -
alignment :string
-
Determina qual será o alinhamento do campo na grade.
Observe na tabela abaixo os valores possíveis e o modo de alinhamento:
- "left": alinhamento à esquerda (Valor padrão);
- "right": alinhamento à direita;
- "center": alinhamento centralizado;
Type:
- string
-
allowMultipleInsert :boolean
-
Indica que a partir da grade de lookup, será possível fazer múltiplas inserções na grade corrente. Os novos registros serão inseridos com base no registro corrente.
Importante: campos somente para leitura no momento da inserção do novo registro não terão o seu conteúdo sugerido com base no registro corrente.Type:
- boolean
-
allowSavedValues :boolean
-
Indica se o valor do campo pode ser gravado nos conjuntos de valores salvos pelo usuário em grades de variáveis. Campos que não permitem a gravação são sinalizados no modo de edição dos valores salvos e não têm o valor gravado ou restaurado. Campos de senha nunca têm o valor gravado, independentemente desta propriedade.
Type:
- boolean
- Inherited From:
- See:
-
- Grid#showSavedValuesBar
-
autoSanitize :boolean
-
Determina se os valores informados no campo, no rótulo e no nome do grupo devem ser tratados para remover tags que possam ser utilizadas com o objetivo de injetar scripts maliciosos em ataques do tipo Cross Site Scripting (XSS).
Ao desativar esta propriedade, é de crítica importância que algum tipo de validação ou sanitização seja realizada com o valor do campo, preferencialmente no evento
beforeChange. A validação do rótulo do campo e do grupo também são desativadas, portanto deve-se ter atenção ao seus valores caso eles não sejam textos fixos.Por padrão, esta propriedade está ativa para todos os campos exceto os do tipo "password".
Importante: a sanitização realizada por esta classe tem o objetivo de prevenir ataques do tipo XSS, mas os valores recebidos devem ainda ser validados para outros tipos de ataque, como o de injeção de SQL. Jamais utilize os valores oriundos dos campos ou de outras fontes, como propriedades de processos, registros da base de dados, arquivos ou dados de uma requisição, sem realizar algum tipo de sanitização desses valores, principalmente na construção de expressões SQL. Para a construção de expressões SQL, é recomendado o uso das funções
toSqlStringetoSqlIdentifier.Type:
- boolean
- Inherited From:
-
autoTrim :boolean
-
Determina se o campo excluirá automaticamente os espaços encontrados no início e no fim do valor atribuído a ele.
Type:
- boolean
- Inherited From:
-
breakLine :boolean
-
Indica se deverá ser forçada a quebra de linha após o campo quando da escrita da grade.
Type:
- boolean
-
caseType :string
-
Em campos do tipo "string" ou "memo", determina como será tratado o texto informado com relação à caixa das letras (maiúsculas/minúsculas).
Valores suportados:
- upper: todo o texto será convertido para caixa alta.
- lower: todo o texto será convertido para caixa baixa.
- name ou mixed: cada palavra será iniciada com uma letra maiúscula exceto as preposições mais comuns utilizadas em nomes próprios. Atualmente não são capitalizadas as preposições "of", "da", "do", "de", "dos" e "das".
- title: cada palavra com mais de uma letra será iniciada com maiúscula, exceto as preposições mais comuns em títulos.
- statement: cada palavra que inicie um parágrafo será iniciada com letra maiúscula.
Type:
- string
-
changed :boolean
-
Indica se o campo foi alterado.
Type:
- boolean
-
charLength :number|null
-
Para campos que possuem #databaseType igual a
varcharouchar, indica a quantidade de caracteres que serão armazenados na coluna.A diferença desta propriedade para #size é que tipos que representam máscaras de valores são normalizados para o tipo real utilizado para guardar o dado. Exemplo: um campo com tipo 'hour' possui o
charLengthigual a 8.Campos do tipo combo, terão o seu tamanho calculado a partir dos valores do combo. Tipos que não tem representação de tamanho, como number, integer, masterdetail, têm o
charLengthigual anull.Type:
- number| null
- Inherited From:
-
classKey :number
-
Define que o campo será um lookup para a classe informada.
- Se o campo for do tipo "int64", "int32" ou "integer" será um lookup simples, permitindo selecionar apenas um registro da classe informada. O valor deste campo será a chave do registro selecionado.
- Se o campo for do tipo "memo", "string" ou "file" será um lookup múltiplo, permitindo selecionar vários registros da classe informada. O valor deste campo será uma lista separada por "," dos registros selecionados.
A tabela utilizada para realizar o lookup dependerá da propriedade lookupType. Valores possíveis:
- LookupType.RECORD: será utilizada a tabela configurada na propriedade tableName do x-class da classe informada.
- LookupType.CLASS: será utilizada a tabela CLASSE. Serão exibidas apenas as classes filhas da classe informada.
- LookupType.FILE: será utilizada a tabela iVfs. Serão exibidos apenas os arquivos filhos da classe informada ou uma de suas filhas.
Type:
- number
- Inherited From:
- See:
-
column :number
-
Índice da coluna em que o campo deve ser exibido em modo formulário.
O uso desta propriedade permite dispor campos lado a lado. Quando utilizado em colunas do tipo grade, todas as demais colunas na mesma linha devem ser do tipo grade.
Por motivos de compatibilidade, o valor desta propriedade é baseado em zero, ou seja, a primeira coluna é a coluna 0, a segunda coluna é a coluna 1 e assim por diante.
Type:
- number
Example
fld = grid.field('iCode', 'string', 50); fld.label = 'Code'; fld.order = 1; fld.column = 0; fld = grid.field('iName', 'string', 250); fld.label = 'Name'; fld.order = 2; fld.classKey = -123; fld.column = 1; -
controlType
-
Determina qual controle será utilizado no cliente para renderizar e editar o conteúdo do campo.
Os valores permitidos são:
- "input": O campo será editado através de um input HTML. O valor do campo deve ser textual, sem tags HTML. (valor padrão)
- "image": O campo exibirá imagens em seu conteúdo. Campos deste tipo de controle utilizarão o valor do campo como URI da imagem a ser exibida.
- "color": O campo exibirá uma cor em seu conteúdo. Campos deste tipo utilizarão um seletor de cores para que o usuário selecione a cor desejada.
- "icon": O campo exibirá um ícone em seu conteúdo. Campos deste tipo utilizarão o valor do campo como o nome do ícone a ser exibido.
- "none": Não será utilizado um controle e o conteúdo do campo será considerado um HTML que deve ser inserido diretamente na célula da grade, sem nenhum tipo de validação ou restrição. Por não existir um controle, o conteúdo exibido não poderá ser editado pelo usuário.
O controlType "none" permite uma grande flexibilidade na exibição de dados, no entanto é recomendado que seja utilizado com moderação. O seu uso delega ao desenvolvedor a responsabilidade de:
- definir o estilo CSS do campo, em especial em sobrescrever estilos não desejados herdados do tema. Upgrades futuros do WebFramework ou alterações nos temas podem exigir que o CSS do campo seja revisto.
- garantir que não sejam inseridas tags que possam quebrar o leiaute da grade.
Por padrão, a propriedade
autoSanitizeé desativada ao utilizar o controlType "none". Portanto, conteúdos informados pelo cliente devem ser sanitizados para não permitir a injeção de códigos maliciosos por usuários mal-intencionados. -
cssStyle :Record.<string, string>
-
Estilos CSS em linha que serão aplicados no campo. Esse estilo será aplicado para todas as células no modo tabela e para o campo no modo formulário.
Type:
- Record.<string, string>
Example
let field = this.field('campo', 'int32'); field.cssStyle['font-weight'] = 'bold'; -
dataDictionary :Object
-
Ajuda para o dicionário de dados, quando se aplicar.
Este tipo de ajuda serve de base para o conhecimento técnico sobre a modelagem das tabelas no banco de dados. Deve indicar, entre outras coisas, o relacionamento entre o campo na tabela em que se está documentando e o campo de referência na outra tabela.
Type:
- Object
- Inherited From:
- See:
-
dataSetType :DataSetDataType
-
Tipo de dados utilizado para armazenar este campo em um DataSet. A diferença desta propriedade para #type é que tipos que representam máscaras de valores são normalizados para o tipo real utilizado para guardar o dado. Exemplo: um campo com tipo 'hour' possui o
dataSetTypecom o tipo'string'.Campos do tipo combo, terão o seu tipo de dado calculado a partir dos valores do combo. Tipos que não tem representação direta na tabela, como
'masterdetail', têm odataSetTypeigual anull.Type:
- DataSetDataType
-
databaseType :DatabaseDataType
-
Tipo de dados utilizado para armazenar este campo no banco de dados. A diferença desta propriedade para #type é que tipos que representam máscaras de valores são normalizados para o tipo real utilizado para guardar o dado. Exemplo: um campo com tipo 'hour' possui o
databaseTypecom o tipo'varchar'.Campos do tipo combo, terão o seu tipo de dado calculado a partir dos valores do combo. Tipos que não tem representação direta na tabela, como masterdetail, têm o
databaseTypeigual anull.Type:
- DatabaseDataType
-
dateFormat :DateFormat
-
Formato de exibição de campos do tipo "date". Valores possíveis:
Type:
- DateFormat
- Inherited From:
- Deprecated:
-
- Utilize a propriedade displayFormat.
Example
DateFormat.DDMMYYYY: dia/mês/ano(4 dígitos) DateFormat.DDMMYY: dia/mês/ano(2 dígitos) DateFormat.MMYYYY: mês/ano(4 dígitos) DateFormat.WWYYYY: semana/ano(4 dígitos) -
decimalPrecision :number
-
Determina a quantidade de casas decimais que devem ser exibidas quando o campo for do tipo "number".
Type:
- number
- Inherited From:
- Default Value:
-
2
-
defaultValue :Object
-
Sugestão de preenchimento do campo.
Será ignorada caso a propriedade saveInputAsDefault seja true e o usuário já tenha informado um valor para este campo.
Recurso disponível apenas em grades de variáveis.
Type:
- Object
- Inherited From:
- See:
-
- Field#saveInputAsDefault
-
detailDescendingIndexFieldNames :string
-
Indica quais campos da propriedade detailIndexFieldNames devem estar em ordem descendente.
Recurso disponível apenas para campos do tipo "grid".Type:
- string
- Inherited From:
- See:
-
- Field#detailIndexFieldNames
-
detailFieldNames :string
-
Lista de campos da grade detalhes que devem ser pesquisados com os valores dos campos da mãe definidos em masterFieldNames com o objetivo de criar um relacionamento masterDetail. Recurso disponível apenas para campos do tipo "grid".
Type:
- string
-
detailFilter :string
-
Filtro que será aplicado ao DataSet da grade detalhe.
Recurso disponível apenas para campos do tipo "grid" e "masterdetail".
Type:
- string
- Inherited From:
-
detailIndexFieldNames :string
-
Indica a ordem desejada dos campos na grade detalhe. Os índices do DataSet serão os campos definidos na propriedade detailFieldNames e os campos informados nesta propriedade.
Recurso disponível apenas para campos do tipo "grid".Type:
- string
- Inherited From:
- See:
-
- Field#detailFieldNames
- Field#detailDescendingIndexFieldNames
-
displayFormat :DateFormat|LatitudeFormat|LongitudeFormat|AngleFormat|NumberFormat
-
Formato de exibição dos campos com tipo "date", "longitude", "latitude", "angle", "int32", "int64", "number" e "integer".
Valores possíveis:
- DateFormat.DDMMYYYY: dia/mês/ano(4 dígitos)
- DateFormat.DDMMYY: dia/mês/ano(2 dígitos)
- DateFormat.MMYYYY: mês/ano(4 dígitos)
- DateFormat.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.DECIMAL: número com separador de milhar e decimal
- NumberFormat.INTEGER: número inteiro com separador de milhar
- NumberFormat.DBKEY: número inteiro sem separador de milhar
- NumberFormat.FILE_SIZE: tamanho em bytes em potências de 1024, como 1,5K, 20M ou 2G. Utiliza sempre no máximo 2 casas decimais, ignorando a precisão decimal configurada
Type:
- DateFormat| LatitudeFormat| LongitudeFormat| AngleFormat| NumberFormat
- Inherited From:
Example
// Altera a formatação da chave para exibir o número sem separador de milhar const NumberFormat = require('@nginstack/engine/lib/number/NumberFormat.js'); const fld = this.field('UNIFICADOR', 'int64'); fld.displayFormat = NumberFormat.DBKEY; -
duplicateMode :string
-
Informa o comportamento do campo ao ser duplicado. Por padrão, todos os campos visíveis são duplicados, exceto grades detalhes, que explicitamente devem ser configurados para serem duplicados.
Type:
- string
- Inherited From:
- See:
-
- DuplicateMode
Example
var fld = this.field('campo1', 'string', 50); //Indica que não ocorre nada durante a duplicação, o valor será vazio no //para o registro duplicado fld.duplicateMode = 'none'; var fld = this.field('campo2', 'string', 50); //Indica que o valor será copiado para o registro duplicado fld.duplicateMode = 'copy'; var fld = this.field('campo3', 'string', 50); //Indica que o valor será a copia com um caractere '+' adicionado fld.duplicateMode = 'copyAddingSuffix'; -
duplicationHandling :module:@nginstack/engine/lib/event/DuplicationHandling
-
Indica como deve ser tratada a tentativa de registrar uma função de listener duplicada neste Emitter. Valores possíveis: DuplicationHandling.IGNORE (padrão), DuplicationHandling.ACCEPT e DuplicationHandling.REMOVE.
Type:
-
editable :boolean
-
Determina se o campo pode ser editado, não leva em consideração a propriedade readOnly.
Apenas campos calculados que não tenham o evento onAfterChange definido serão considerados campos não-editáveis.Type:
- boolean
-
emptyResultMessage :string
-
Mensagem personalizada que será exibida ao usuário quando o lookup não encontrar resultados.
Type:
- string
-
enterKeyAction :EnterKeyAction|string
-
Determina como o campo deve tratar a tecla ENTER durante a edição. O valor padrão será
EnterKeyAction.DONEse quantidade de linhas do campo for 1 eEnterKeyAction.NEWLINEse for maior que 1. Se for definida explicitamente a açãoEnterKeyAction.NEWLINEem um campo com quantidade de linhas 1, o comportamento será igual aoEnterKeyAction.IGNORE.Valores possíveis:
- EnterKeyAction.IGNORE ou ignore: a tecla ENTER é ignorada no conteúdo do campo.
- EnterKeyAction.NEWLINE ou newline: insere uma quebra de linha no conteúdo do campo.
- EnterKeyAction.DONE ou done: a tecla ENTER encerra o preenchimento do campo atual.
Type:
- EnterKeyAction| string
-
formViewable :boolean
-
Determina se o campo é visível no modo formulário.
Type:
- boolean
- Inherited From:
- See:
-
- Field#tableViewable
-
group :module:@nginstack/engine/lib/classdef/FieldGroup~FieldGroup
-
Nome ou instância da classe FieldGroup, que será utilizado para agrupar visualmente os campos na grade. É importante que os campos a serem agrupados sejam vizinhos na ordem de exibição (configuração realizada através da propriedade order).
Type:
- Inherited From:
- See:
-
- Field#order
-
hasInformedControl :boolean
-
Indica se o campo deve sinalizar em negrito que o valor foi alterado pelo usuário. Os campos alterados pelo usuário serão gravados no campo especial "iInformedFields".
Type:
- boolean
-
hasLinks :boolean
-
Indica se o campo possui links associados a ele.
Se não explicitamente configurada, ela será true sempre que houver links configurados ou quando a classe lookup do campo tiver ações globais.
Ela pode ser manualmente configurada para false quando não for desejado exibir as ações globais de um determinado campo. Na prática, esta propriedade indica se o botão de exibir os links estará disponível na interface.
Type:
- boolean
- Inherited From:
- See:
-
- Field#links
-
height :string|number
-
Altura visual do campo em pixels, considerada apenas no modo formulário da grade. Por motivos de compatibilidade, caso seja informado um valor numérico, este será atribuído a propriedade
rows, que define a quantidade de linhas dos campos de texto em área.Observação: para fins de compatibilidade, valores textuais numéricos sem a unidade 'px' (ex:
'50') são tratados como números e definem o número de linhas exibidas.Type:
- string| number
- Inherited From:
- See:
-
help :String
-
Ajuda para o campo a ser utilizada pelas interfaces. Recomenda-se que a ajuda seja a mais intuitiva possível.
Pode-se utilizar alguns caracteres para melhorar a apresentação da ajuda como, por exemplo, "n" para quebrar a linha.
Type:
- String
- Inherited From:
- See:
Example
var fld = grid.field("ajuda", number) fld.help = "isto é uma ajuda e tanto" -
integrityCheck :boolean
-
Determina se a exclusão de um registro na tabela associada à propriedade classKey deve checar neste campo se existe referência à chave excluída.
Propriedade válida apenas para campos que possuam a propriedade classKey preenchida.
ATENÇÃO: Definir esta propriedade como false poderá permitir que este campo tenha referência a chaves que foram excluídas, o que consiste em uma falha de integridade. Deve haver uma validação manual que garanta a integridade do modelo de dados.
Type:
- boolean
- Inherited From:
-
isCalculated :boolean
-
Determina se é um campo calculado, ou seja, se possui o evento calculate configurado.
Type:
- boolean
-
isClassLookup :boolean
-
API desaconselhada, equivalente a definir LookupType.CLASS na propriedade lookupType.
Type:
- boolean
- Inherited From:
- Deprecated:
-
- Yes
- See:
-
isDataBaseField :boolean
-
Informa se este campo possui uma representação no banco de dados.
Type:
- boolean
- Inherited From:
- Deprecated:
-
- Utilize #isDatabaseField.
-
isDatabaseField :boolean
-
Informa se este campo possui uma representação no banco de dados. Caso não possua, o valor do campo em uma grade de DataSet não persistirá após o post do registro, precisando ser calculado por eventos ou processos.
Type:
- boolean
-
label :String
-
Título atribuído ao campo. Por padrão a propriedade "name" do campo é atribuída automaticamente ao título do campo.
Em uma grade de variáveis, os nomes serão atribuídos obedecendo ao critério da primeira letra em caixa baixa e, quando mudar a palavra, a primeira letra da palavra deve ser digitada em caixa alta (mesmo padrão utilizado na nomenclatura das variáveis).
Type:
- String
- Inherited From:
- See:
Example
Se a propriedade "name" estiver preenchido com "dataInicial", a propriedade "label" receberá automaticamente: "Data Inicial". -
labelPosition :string
-
Determina a posição do rótulo do campo no modo de visualização formulário. Possíveis valores: "left" e "top".
Type:
- string
-
link :module:@nginstack/web-framework/lib/anchor/Link~Link
-
Link associado ao campo. API desaconselhada, utilize a propriedade "links".
Type:
- Inherited From:
- Deprecated:
-
- Yes
- See:
-
- Field#links
-
linkParametersValuesFieldNames :Array
-
Nomes dos campos dos quais deverão ser extraídos os parâmetros dos links.
Type:
- Array
- Inherited From:
- Deprecated:
-
- Yes
- See:
-
- Field#links
-
links :module:@nginstack/web-framework/lib/anchor/LinkSet~LinkSet
-
Coleção de atalhos que estão associados ao campo.
Para criar um novo atalho, utilize o método LinkSet#add.Type:
- Inherited From:
- See:
Example
// Cria(m)-se o(s) objeto(s) link antes de adicioná-los ao field const lnk1 = process.link('Explorador', 'main', -1898145512, false); const lnk2 = process.link('Alerta', function (link){ process.alert('Alerta do meu segundo atalho!'); }); fld.links.add(lnk1); fld.links.add(lnk2); -
listenerCompareFunction :function
-
Indica como devem ser comparados dois listeners para determinar se eles são iguais. Valores possíveis: ListenerCompareFunctions.STRICT e ListenerCompareFunctions.SOURCE. O tratamento do registro de um listener duplicado é determinada pela propriedade Emitter#DuplicationHandling.
Type:
- function
- Inherited From:
- See:
-
- ListenerCompareFunctions
- #DuplicationHandling
-
lookupDisplayWidth :number|string
-
Largura do campo da grade lookup que apresenta os valores de exibição dos registros pesquisados.
Esta propriedade pode ser definida em quantidade de caracteres que devem ser exibidos ou pixels. Caso seja informado um valor numérico, será calculada a quantidade de pixels necessários para exibir a quantidade de caracteres informada. No entanto, a largura das letras variam e este cálculo é aproximado, podendo haver variações na quantidade real de caracteres exibidos.
Caso não seja informado um valor para esta propriedade, o sistema calculará um automaticamente com base na largura deste campo.
Type:
- number| string
- Inherited From:
Example
fld.lookupDisplayWidth = 60; -
lookupType :number
-
Define o tipo de "lookup" do campo. O tipo será interpretado somente se a propriedade "classKey" estiver preenchida.
O "lookup" é um tipo especial de "combo", que aponta para uma tabela de dados.
Observe na tabela abaixo os valores possíveis e a sua aplicação:
Type:
- number
- Inherited From:
- See:
Example
TIPO - APLICAÇÃO LookupType.NONE - Sem "lookup". Este é o valor padrão, se a propriedade "classKey" não estiver preenchida. LookupType.RECORD - "Lookup" para "Registros de Tabelas". Este é o valor padrão, quando a propriedade "classKey" é preenchida. LookupType.CLASS - "Lookup" para "Classe de Tabelas", de acordo com a propriedade "classKey". LookupType.FILE - "Lookup" para arquivos do Sistema Virtual de Arquivos (VFS) a partir da classe definida na propriedade "classKey". -
lowerName :string
-
Nome do campo em caixa baixa.
Type:
- string
- Inherited From:
-
masterDeleteAction :MasterDeleteAction
-
Para campos do tipo "masterDetail", indica como os registros detalhes devem ser tratados quando ocorrer a exclusão do registro mestre.
Valores possíveis: MasterDeleteAction.ERROR, MasterDeleteAction.DELETE e MasterDeleteAction.UNLINK.
Type:
- MasterDeleteAction
-
masterDetailMaxRecordCount :number
-
Quantidade máxima de registros que serão exibidos na grade detalhe.
Recurso disponível apenas para campos do tipo "grid".Type:
- number
- Inherited From:
- Deprecated:
-
- Configure a propriedade module:@nginstack/web-framework/lib/grid/DetailGrid~DetailGrid#maxRecordCount no evento "defineGrid" do campo.
-
masterFieldNames :string
-
Lista de campos da grade mãe que devem ser utilizados para pesquisar nos campos detailFieldNames da grade detalhe, criando um relacionamento masterDetail.
Recurso disponível apenas para campos do tipo "grid".
Type:
- string
-
max :number|Date
-
Valor máximo permitido de digitação no campo. Válido para todos os caracteres (letras, número e caracteres especiais).
Type:
- number| Date
- Inherited From:
- See:
-
- Field#min
Example
var gr = this.grid('vars'); gr.title = 'Variáveis'; gr.onDefineFields.set(function(grid) { var fld = grid.field('fator', 'integer'); fld.max = 10; }) // Neste exemplo, caso o usuário digite um valor superior a 10, será apresentada a mensagem: // 'O valor digitado deve ser menor ou igual a 10.' -
maxDecimalPrecision :number
-
Determina a quantidade máxima de casas decimais que devem ser exibidas quando o campo for do tipo "number".
Type:
- number
-
min :number|Date
-
Valor mínimo permitido de digitação no campo. Válido para todos os caracteres (letras, número e caracteres especiais).
Type:
- number| Date
- Inherited From:
- See:
-
- Field#max
Example
var gr = this.grid('vars'); gr.title = 'Variáveis'; gr.onDefineFields.set(function(grid) { var fld = grid.field('fator', 'int32'); fld.min = 10; }) // Neste Exemplo, caso o usuário digite um valor inferior a 10, será apresentada a mensagem: // 'O valor digitado deve ser maior ou igual a 10.' -
minDecimalPrecision :number
-
Determina a quantidade mínima de casas decimais que devem ser exibidas quando o campo for do tipo "number". Caso a quantidade mínima não seja atingida então o restante dos valores será preenchido com zero.
Type:
- number
- Inherited From:
- Default Value:
-
2
-
multiple :boolean
-
Determina, para campos de texto ("string" e "memo") com lookup ou combo, se o campo aceita valores múltiplos.
Esta propriedade somente pode ser setada se o campo possuir uma classKey ou for combo.
Caso esta propriedade não seja setada explicitamente, será utilizado o comportamento padrão, que é a aceitação de valores múltiplos para lookup e um único valor para combo.
Type:
- boolean
- Inherited From:
-
name :string
-
Nome único que identifica o campo na base de dados.
Type:
- string
- Inherited From:
-
negativeInRed :boolean
-
Determina se os valores negativos de campos do tipo "number", "int64", "int32" ou "integer" devem ser destacados com a cor vermelha.
Type:
- boolean
-
onAfterChange :module:@nginstack/engine/lib/event/Event~Event
-
Corresponde ao evento que será executado após ser alterado o valor do campo.
O exemplo abaixo escreve no log a mudança de valores que ocorreu no campo:
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('afterChange', listener).
Example
field.onAfterChange.set(function (field, beforeValue) { log.write('Valor alterado de ' + beforeValue + ' para ' + field.value); }) -
onAfterLookupAddResult :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido após o filtro dos resultados de uma pesquisa de um campo lookup. Esse evento será emitido uma vez, independente da quantidade de registros filtrados pelo evento lookupAddResult. Seu uso é recomendado quando há necessidade de limpar eventuais recursos que foram alocados em listeners do evento beforeLookupAddResult.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('afterLookupAddResult', listener).
Example
field.onAfterLookupAddResult.set(function (field) { var process = field.parent.process; // Por exemplo, saldo é um DataSet que foi utilizado dentro do // onLookupAddResult process.saldo.empty() }); -
onBeforeChange :module:@nginstack/engine/lib/event/Event~Event
-
Evento que será emitido antes de um campo ser alterado. O exemplo abaixo verifica o valor que se quer atribuir ao campo e caso ele seja maior que 10, então é disparado um erro.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('beforeChange', listener).
Example
field.onBeforeChange.set(function (field, value) { if (value > 10) throw new Error('Valor não pode ser maior que 10'); }); -
onBeforeLookupAddResult :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido antes do filtro dos resultados de uma pesquisa de um campo lookup. Esse evento será emitido uma vez, independente da quantidade de registros filtrados pelo evento lookupAddResult. É recomendado o seu uso para alocar recursos que serão utilizados pelos listeners do evento lookupAddResult, evitando alocar esses recursos a cada avaliação do filtro.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('beforeLookupAddResult', listener).
Example
field.onBeforeLookupAddResult.set(function (field) { var process = field.parent.process; // Por exemplo, saldo é um DataSet utilizado dentro do onLookupAddResult process.saldo = objetoSaldo.consulta(); process.saldo.indexFieldNames = 'LOTE'; }); -
onCalculate :module:@nginstack/engine/lib/event/Event~Event
-
Evento que será emitido para obter o valor do campo calculado.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('calculate', function (listener).
Example
// O exemplo abaixo retorna o registro do DataSet em que o cursor está // posicionado e atribui esse valor ao campo. field.onCalculate.set(function (field) { return field.parent.ds.recNo; }); -
onDefineGrid :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido em campos do tipo "masterDetail" ou "grid" com o objetivo de permitir a configuração da grade detalhe.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('defineGrid', listener).
Example
// O exemplo abaixo cria uma grade detalhe e seta o título como "Grade personalizada". grid.field('campo', 'grid').onDefineGrid.set(function (field) { var grid = field.grid; grid.title = 'Grade detalhe'; }); -
onFocus :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido quando o campo recebe o foco. O uso deste evento não é recomendado, pois ele prejudica a usabilidade da grade ao torná-la mais lenta. Com o uso deste evento passa a ser necessária uma interação a mais com o servidor durante a navegação de campos.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('focus', listener).
Example
// O exemplo abaixo exibe o help do campo no label "helpMessages" existente no // processo. field.onFocus.set(function (field) { var label = field.parent.process.helpMessages; label.text = field.help; }); -
onGetOptions :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido para obter as opções de valores aceitos no preenchimento deste campo.
Ao configurar o evento
onGetOptionsde um campo, ele passa a ser comportar como um campo do tipo "combo", independentemente do tipo de dado informado na construção do campo.Este evento deve ser configurado apenas se as opções não forem informadas diretamente por meio da propriedade #options do campo.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('getOptions', listener).
-
onGetTreeIcon :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido na apresentação de uma grade em árvore para obter o ícone de um nó.
Emitido apenas quando o field é do tipo "tree". O sender do evento é o nó corrente da árvore. Deve retornar a chave ou URL de uma imagem da virtual file system (VFS).Type:
- Inherited From:
- Deprecated:
-
- Utilize on('getTreeIcon', listener).
Example
field.onGetTreeIcon.set(function(field) { if (!field.level) { return '/treeImages/root.png'; } }); -
onLookupAddResult :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido durante a pesquisa de um campo lookup, permitindo que o desenvolvedor filtre as opções possíveis de serem informadas neste campo.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('lookupAddResult', listener).
Example
field.onLookupAddResult.set(function(field, findResult) { return !field.parent.ds.uf || findResult.key.uf == field.parent.ds.uf; }) -
onLookupDisplay :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido quando o sistema precisa obter o valor de exibição de uma chave desta classe de dados.
No exemplo abaixo quando o campo perder o foco será exibido o valor do nome e do codigo da UF:
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('lookupDisplay').
Example
field.onLookupDisplay.set(function (field, value) { if (value) { const key = DBKey.from(value); return key.str('NOME') + ' - ' + key.str('UF.CODIGO'); } else { return ''; } }) -
onLookupMultipleInsert :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido quando ocorrer uma inserção múltipla de registros a partir da grade Lookup.
A inserção múltipla de registros fica habilitada na grade Lookup por meio do botão 'Inserir como Novos' quando a propriedade 'allowMultipleInsert' do campo é definida como true.
O comportamento padrão é inserir automaticamente múltiplos registros de acordo com a seleção que ocorreu na grade Lookup, no entanto esse comportamento pode ser alterado por este evento.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('lookupMultipleInsert', listener).
Example
// O exemplo abaixo, mostra a possibilidade de estender esse comportamento // herdando ou não o procedimento padrão. var field = grid.field('CAMPO', 'int64'); field.classKey = -1898187808; // Tipos de Arquivo field.allowMultipleInsert = true; field.onLookupMultipleInsert.set(function (sender, grdLookup) { inherited(sender, grdLookup); // herda o comportamento padrão (opcional) var grid = sender.parent; for (var i = 0; i < grdLookup.selectedRecords.length; ++i) { grdLookup.ds.bookmark = grdLookup.selectedRecords[i]; grid.ds.append(); grid.ds.campo = grdLookup.ds.ikey; grid.ds.obs = 'Registro inserido manualmente'; grid.ds.post(); } }); -
onOpenKey :module:@nginstack/engine/lib/event/Event~Event
-
Evento emitido quando o usuário deseja abrir detalhes sobre um registro de um campo lookup ou deseja uma interface mais rica para auxiliar o seu preenchimento.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('openKey', listener);
-
onValidate :module:@nginstack/engine/lib/event/Event~Event
-
Corresponde ao evento que será executado para validar o conteúdo informado para o campo. Neste evento não deve existir nenhuma dependência com o process, pois poderá ser disparado de dentro de qualquer ambiente.
O exemplo abaixo verifica se o campo do dataset é null se for, seta valor 0 para o campo da grade.
Type:
- Inherited From:
- Deprecated:
-
- Utilize on('validate', listener).
Example
var f = grid.field('valor', 'int32') f.onValidate.set(function (field, ds) { if (ds.valor === null) { field.setValue(0); } }); -
options :Array.<Array>
-
Lista das opções de valores aceitos no preenchimento deste campo.
Ao configurar a propriedade
optionsde um campo, ele passa a ser comportar como um campo do tipo "combo", independentemente do tipo de dado informado na construção do campo. Alternativamente, pode ser utilizado o evento getOptions para configurar as opções de preenchimento do campo.Deve ser informado um array de arrays de 2 itens:
- nome da opção
- valor atribuído à opção
Type:
- Array.<Array>
- Inherited From:
Example
var fld = this.field('weekDay', 'combo') fld.label = 'Dia da Semana' fld.options = [ ['Domingo', 0], ['Segunda-feira', 1], ['Terça-feira', 2], ['Quarta-feira', 3], ['Quinta-feira', 4], ['Sexta-feira', 5], ['Sábado', 6], ['Domingo', 7] ]; fld.help = 'Informe um dia da semana.'; -
order :number
-
Ordem na qual o campo deverá ser exibido.
Type:
- number
- Inherited From:
-
parent :module:@nginstack/web-framework/lib/grid/Grid~Grid|module:@nginstack/web-framework/lib/classdef/ViewDef~ViewDef
-
Grade ou definição de classe a qual este campo está associado.
Type:
-
permissionFilterFieldName :string
-
Determina se este campo deve ser utilizado como filtro extra para validar o poder de inserção, alteração e exclusão de um registro.
O nome do campo informado será o do campo da iPermission, que deve ser filtrado com o valor deste campo.
O uso deste recurso em uma inserção gera uma expressão equivalente a:
Type:
- string
- Inherited From:
- See:
-
- module:@nginstack/engine/lib/classdef/ModelDef#getExtraFilterFields
- module:@nginstack/engine/lib/classdef/ModelDef#getExtraFilterExpression
Example
connection.getPermission( Grid.classKey, 'iInsert', Grid.userKeyToValidatePermissions, 'withoutInheritance', [ Field.permissionFilterFieldName, Field.value ] ) -
rangeLimit :Limit
-
Indica se o campo representa início ou fim de um intervalo, atualmente rangeLimit só é suportado para campos do tipo data.
Type:
- Limit
- Inherited From:
-
readOnly :ReadOnlyMode|boolean
-
Determina quando o campo deve ser somente para leitura. Valores possíveis:
- ReadOnlyMode.NEVER ou false: o campo pode ser alterado;
- ReadOnlyMode.ALWAYS ou true: o campo é somente leitura;
- ReadOnlyMode.AFTER_INSERT: o campo pode ser modificado apenas durante a inserção. Após a inserção, o campo não poderá ser mais modificado.
- ReadOnlyMode.FILLED: campo é somente leitura apenas se estiver preenchido, impedindo a modificação do primeiro valor informado.
Type:
- ReadOnlyMode| boolean
- Inherited From:
-
required :boolean
-
Indica se o campo é de preenchimento obrigatório.
Type:
- boolean
- Inherited From:
-
requiredDataSetFields :string
-
Lista dos campos que devem existir no dataset da grade para que este campo possa ser exibido.
Por padrão: É necessário no mínimo existir um campo no dataset com o mesmo nome que este campo.Type:
- string
-
resyncPending :boolean
-
Indica se o campo deve ter seu valor sincronizado entre o cliente e o servidor. Esta propriedade é de uso interno.
Type:
- boolean
-
rows :number
-
Quantidade de linhas visíveis para campos de área de texto dos tipos "string" e "memo" no modo formulário da grade.
Type:
- number
- Inherited From:
- See:
-
saveInputAsDefault :boolean
-
Indica se o valor informado pelo usuário deve ser armazenado e sugerido como valor padrão nos próximo usos.
Recurso disponível apenas em grades de variáveis.Type:
- boolean
- Inherited From:
- See:
-
- Field#defaultValue
-
showGlobalActions :boolean
-
Define se este campo deve apresentar ações globais.
Type:
- boolean
-
showLookupClass :boolean
-
Determina se o campo "Classe" deve ser exibido na grade lookup.
Caso não seja informado um valor para esta propriedade, o sistema exibirá a classe dos registros lookup sempre que
classKeyreferenciar uma classe que possua filhas, ou seja, classes que não sejam folhas na árvore de classes.Type:
- boolean
- Inherited From:
Example
fld.showLookupClass = false; -
showPasswordStrength :boolean
-
Indica se campos do tipo "password" devem exibir a força da senha digitada. Seu uso é apenas informativo e não impede a escrita de senhas fracas.
Type:
- boolean
- Inherited From:
Example
const fld = grid.field('newPassword', 'password', 256); fld.showPasswordStrength = true; -
size :number
-
Tamanho do campo em caracteres. Utilizado apenas para campos do tipo "string" ou do tipo "password".
Type:
- number
- Inherited From:
-
stringIfTrue :String
-
Texto que representará o campo do tipo "boolean" quando o mesmo estiver marcado ("true").
Type:
- String
- Inherited From:
- Default Value:
-
"T"
-
tableViewLabel :string
-
Versão reduzida do rótulo do campo. Esta propriedade é utilizada em casos em que é necessário exibir o rótulo de um campo e economizar espaço, como quando é utilizada como cabeçalho de uma coluna em uma grade. Caso esta propriedade esteja nula ou indefinida será considerado o valor normal do rótulo.
Type:
- string
- Inherited From:
- See:
-
- Field#label
-
tableViewWidth :string|number
-
Largura visual do campo que deve ser aplicada apenas no modo tabela da grade. Esta propriedade se sobrepõe a propriedade #width quando o campo é exibido em modo tabela.
Pode ser definida em quantidade de caracteres que devem ser exibidos ou pixels. Caso seja informado um valor numérico será calculada a quantidade de pixels necessários para exibir a quantidade de caracteres informada. No entanto, a largura das letras variam e este cálculo é aproximado, podendo haver variações na quantidade real de caracteres exibidos.
Observação: para fins de compatibilidade, valores textuais numéricos sem a unidade 'px' (ex:
'50') são tratados como números e definem a quantidade de caracteres exibidos.Type:
- string| number
-
tableViewable :boolean
-
Determina se o campo é visível no modo tabela.
Type:
- boolean
- Inherited From:
- See:
-
- Field#formViewable
-
thumbnail :module:@nginstack/web-framework/lib/classdef/CellThumbnail~CellThumbnail
-
Configuração do thumbnail das imagens do cadastro indicado por este campo. O thumbnail das imagens do cadastro é exibido apenas em campos com classKey informado.
Type:
-
treeChildFieldName :string
-
Nome do campo que deve ser utilizado para pesquisar os nós filhos a partir do valor do campo treeParentFieldName do nó mãe.
Utilizado apenas em campos do tipo "tree".Type:
- string
- Inherited From:
- See:
-
- Field#treeParentFieldName
- Field#treeRootValues
Example
Exemplo na documentação da propriedade treeParentFieldName. -
treeParentFieldName :string
-
Nome do campo que relaciona os registros em uma estrutura em árvore. O valor deste campo no registros filhos é igual ao campo treeChildFieldName do registro mãe. Utilizado apenas em campos do tipo "tree".
Exemplo:Type:
- string
- Inherited From:
- See:
-
- Field#treeChildFieldName
- Field#treeRootValues
Example
this.interaction('main', function () { var classe = connection.cloneLocalCache('CLASSE'); this.classesTree = this.grid('classesTree', classe); this.classesTree.title = 'Árvore de Classes'; this.classesTree.tableViewFieldNames = 'NOME'; this.classesTree.onDefineFields.set(function (grid) { var fld = grid.field('NOME', 'tree') fld.order = 10; fld.label = 'Nome'; fld.treeParentFieldName = 'MAE'; fld.treeChildFieldName = 'CHAVE'; fld.treeRootValues = [-1898146248]; // data }); this.classesTree.write(); }); -
treeRootValues :Object
-
Valor ou array de valores que devem ser utilizados para encontrar a raiz da uma árvore. Os valores informados serão pesquisados no campo informado na propriedade treeChildFieldName.
Utilizado apenas em campos do tipo "tree".Type:
- Object
- Inherited From:
- See:
-
- Field#treeParentFieldName
- Field#treeChildFieldName
Example
Exemplo na documentação da propriedade treeParentFieldName. -
type :string
-
Tipo do campo. Observe na tabela abaixo os valores permitidos e sua utilização:
-
"string" - Tipo utilizado para campos que conterão texto;
-
"password" - Tipo utilizado para campos que conterão senhas;
-
"masterDetail" - Tipo utilizado para criar uma relação de 1 para N entre duas classes. Para utilizar esse tipo de campo é obrigatório o preenchimento das seguintes propriedades:
- classKey: indica a classe de dados que contém os registros detalhes da relação. A classe de dados que definiu o campo do tipo "masterDetail" é a classe considerada mestre da relação;
- masterFieldNames: indica os campos da classe de dados mestre que devem ser utilizados para filtrar os registros da classe de dados detalhe.
- detailFieldNames: indica os campos da classe de dados detalhe que serão filtrados com os valores dos campos masterFieldNames da classe mestre.
Pseudo-código para obtenção dos registros detalhes:
var tabelaDetalhe = classes.getCachedDataSet(field.classKey); var camposMestre = getFieldValues(field.masterFieldNames); tabelaDetalhe.indexFieldNames = field.detailFieldNames; detail.setRange(camposMestre, camposMestre); -
"grid" - Tipo utilizado para indicar que o campo deve ser visualizado como uma grade detalhe da classe de dados que o definiu. O seu propósito é similar ao tipo "masterdetail", no entanto, ele permite a exibição de dados detalhes cuja relação não pode ser estabelecida apenas pelas propriedades classKey, masterFieldNames e detailFieldNames. Sempre que for possível, é recomendado o uso do tipo "masterdetail". Campos do tipo "grid" não podem ser utilizados em definição de modelo de dados (x-model), sendo o seu uso restrito em definições de visão (x-view) e em processos. Campos do tipo "grid" podem ser definidos em grades de variáveis, sem
DataSetassociado. Nesse caso, o eventocreateDataSetda grade detalhe deve ser configurado e as propriedadesmasterFieldNames,detailFieldNameseclassKeynão devem ser informadas. -
"int64" - Tipo utilizado para campos que conterão números inteiros de 64 bits. Campos que armazenem chaves ou versões do sistema devem utilizar este tipo.
-
"int32" - Tipo utilizado para campos que conterão números inteiros de 32 bits. Deve ser utilizado para valores contidos na faixa de [-Math.pow(2, 31) ~ Math.pow(2, 31) - 1] e que não sejam chaves e versões do sistema. Para esses últimos, deve ser utilizado o tipo "int64".
-
"integer" - Tipo legado que existia antes da criação dos tipos "int64" e "int32". O tipo "integer" será mapeado para um desses dois tipos de acordo com o valor retornado pela função
DataSet.getIntegerDataType(). -
"number"- Tipo utilizado para campos que conterão números decimais. Por padrão terão duas casas decimais.
-
"latitude" - Tipo utilizado para campos que conterão números decimais para representar latitudes. Por padrão terão até cinco casas decimais e a parte inteira conterá até três casas.
-
"longitude" - Tipo utilizado para campos que conterão números decimais para representar longitudes. Por padrão terão até cinco casas decimais e a parte inteira conterá até três casas.
-
"angle" - Tipo utilizado para campos que conterão números decimais para representar ângulos. Por padrão terão duas casas decimais e a parte inteira conterá até três casas.
-
"memo" - Tipo utilizado para campos que conterão textos longos (mais de 4000 caracteres).
-
"date" - Tipo utilizado para campos que conterão datas.
-
"combo" - Tipo utilizado para campos que conterão listas de opções ou combinação de outros tipos. Devido ao tipo do dado e tamanho serem dinamicamente calculados com base nas opções do combo, ele deve ser evitado nas definições das classes de dados (arquivos x-model e x-class). Em seu lugar, deve ser dada preferência aos campos com tipos reais e que tenham a propriedade #options ou o evento getOptions definidos.
-
"time" - Tipo utilizado para campos que conterão horas. Utilizado para trabalhar com tempo.
-
"boolean" - Tipo utilizado para campos que conterão valores lógicos ou booleanos.
-
"file" - Tipo utilizado para campos que conterão arquivos.
-
"tree" - Tipo utilizado para campos que conterão grades do tipo treeGrid (árvore).
Para testar se o campo é de um determinado tipo, utilize as funções de teste de tipo: isString, isNumber, isMasterDetail, isGrid, etc.
Type:
- string
- Inherited From:
-
-
upperName :string
-
Nome do campo em caixa alta.
Type:
- string
- Inherited From:
-
userCanChangeNegativeKey :boolean
-
Indica se o usuário pode ou não alterar o conteúdo do campo, caso o registro seja de chave negativa (licenciado para o produto).
Type:
- boolean
-
validationType :ValidationType
-
Tipo de validação que o campo irá realizar em relação ao seu conteúdo. O tipo de validação é definido automaticamente com base no tipo do campo para os seguintes tipos: 'string', 'int64', 'int32', 'number', 'date', 'latitude', 'longitude', 'angle' ou 'boolean'.
Também pode ser sugerido com base no nome do campo, considerando regras legadas existentes no sistema os seguintes nomes de campo são tratados: 'email', 'cep', 'celular', 'fone', qualquer nome que termine com 'h' ou contenha 'hora' e seja uma string com tamanho 5, 'pis', 'pispasep', 'sacadocgc' e 'cgccpf'.
Caso seja necessário alterar o tipo de validação padrão, esta propriedade pode ser redefinida. Os seguintes valores são aceitos: 'string', 'int64', 'int32', 'number', 'date', 'email', 'cep', 'time', 'phone', 'pis', 'cpf', 'cnpj', 'cpfcnpj', 'latitude', 'longitude', 'boolean' ou 'angle'.
Type:
- ValidationType
- Inherited From:
- See:
-
- module:@nginstack/engine/lib/classdef/ValidationType~ValidationType
-
viewMode :number
-
Modo de visão dos campos do tipo "file". Valores permitidos: Field.VM_THUMBNAIL ou Field.VM_LIST.
Type:
- number
- Inherited From:
- Deprecated:
-
- Campos do tipo file não são mais suportados. Utilize as classes Relações entre cadastros e arquivos.
- See:
-
- Field#VM_THUMBNAIL
- Field#VM_LIST
-
visible :boolean
-
Indica se o campo deverá ser visível no modelo. Para o valor false no modelo implica dizer que o campo nunca será utilizado. Ou seja nenhum Framework será capaz de obter a informação do campo. Contudo caso o campo não seja utilizado no Web Framework, o desenvolvedor deve utilizar o valor false na camada de visão.
Type:
- boolean
-
width :string|number
-
Largura visual do campo.
Pode ser definida em quantidade de caracteres que devem ser exibidos ou pixels. Caso seja informado um valor numérico será calculada a quantidade de pixels necessários para exibir a quantidade de caracteres informada. No entanto, a largura das letras variam e este cálculo é aproximado, podendo haver variações na quantidade real de caracteres exibidos.
Para definir o tamanho de campos do tipo "string", utilize a propriedade "size".
Para campos do tipo "boolean" esta propriedade irá alterar apenas a largura no modo tabela, sendo preferível utilizar a propriedade #tableViewWidth. No modo formulário o campo do tipo "boolean" terá largura fixa, independente do valor desta propriedade.
Observação: para fins de compatibilidade, valores textuais numéricos sem a unidade 'px' (ex:
'50') são tratados como números e definem a quantidade de caracteres exibidos.Type:
- string| number
-
wrap :boolean
-
Indica se o texto contido no field deve quebrar as linhas, não tendo assim uma barra de rolagem horizontal. Só faz sentido usar esta propriedade em campo do tipo "memo".
Type:
- boolean
-
zoomMaxHeight :number|string
-
Altura máxima em pixels que a imagem terá ao ser dado zoom. Aplicado para campos com o
controlTypeigual a "image".Type:
- number| string
-
zoomMaxWidth :number|string
-
Largura máxima em pixels que a imagem terá ao ser dado zoom. Aplicado para campos com o
controlTypeigual a "image".Type:
- number| string
Methods
-
addListenersFromEmitter(emitter [, opt_type])
-
Adiciona neste emitter os listeners do emitter informado.
Parameters:
Name Type Argument Description emittermodule:@nginstack/engine/lib/event/Emitter~Emitter Emitter que terá os eventos copiados.
opt_typestring <optional>
Tipo do evento a ser copiado. Caso não seja informado, serão copiados os listeners de todos os tipos de evento.
-
assign(field)
-
Copia as propriedades de um campo informado.
Parameters:
Name Type Description fieldmodule:@nginstack/engine/lib/classdef/Field~Field Campo de onde as propriedades devem ser copiadas
- Inherited From:
-
assignListeners()
-
Método não suportado em campos de um formulário.
-
assignObjectsTo(field)
-
Copia as propriedades que são objetos para um campo.
Este método é uma versão alternativa do #assignTo utilizado no método #clone quando é criada uma cópia do campo utilizando uma cadeia de protótipos. Nesse caso, as propriedades que contém valores primitivos não são copiadas, pois serão herdadas do protótipo.
Parameters:
Name Type Description fieldCampo para onde as propriedades devem ser copiadas.
-
assignTo(field)
-
Copia as propriedades de um campo para outro.
Parameters:
Name Type Description fieldmodule:@nginstack/engine/lib/classdef/Field~Field Campo para onde as propriedades devem ser copiadas
- Inherited From:
-
canHaveGlobalActions()
-
Checa se este campo possui estrutura de ter ações globais.
- Inherited From:
Returns:
Indica se é possível ter ações globais neste campo.
- Type
- boolean
-
clone(NewClass)
-
Cria uma cópia do campo.
Parameters:
Name Type Description NewClassfunction Classe em que o campo que será criado. Este parâmetro é opcional e deve ser utilizado apenas quando se deseja alterar a classe do campo que será clonado.
- Inherited From:
Returns:
Cópia do campo na classe informada.
-
emit(event)
-
Emite o evento informado, executando todas as funções de listeners previamente registradas para o tipo do evento emitido.
Parameters:
Name Type Description eventmodule:@nginstack/engine/lib/event/Event~Event Evento a ser emitido.
- Inherited From:
Throws:
-
Erro que dispara caso não exista um tipo registrado para manipulação do evento. Eventos aptos a serem manipulados devem ser registrados com o método #registerEventType.
- Type
- EventTypeException
Returns:
Retorna a indicação que o evento foi emitido para todos os listeners e não foi solicitado o cancelamento da ação padrão associada ao evento, por meio da execução do método Event#preventDefault. Caso o evento não possa ser cancelado (@link Event#cancelable}), será retornado sempre true.
- Type
- boolean
-
filterListeners(filterFn [, opt_type])
-
Elimina os listeners que não satisfaçam a função de filtro.
Parameters:
Name Type Argument Description filterFnfunction Função que indicará quais filtros devem ser mantidos neste emitter. Deverá ser retornado true para indicar que o filtro deve ser preservado.
opt_typestring <optional>
Tipo de evento que terá os listeners filtrados. Caso não seja informado, os listeners de todos os tipos de eventos serão filtrados.
-
getGlobalActionClassKey( [opt_key])
-
Pega a chave da classe para ser usada como base de cálculo das ações globais levando em consideração o estado atual deste campo.
Parameters:
Name Type Argument Description opt_keynumber <optional>
Caso esta chave seja passada significa que este campo sabe exatamente aonde está posicionado e quer calcular a classe mais próxima a dada chave.
- Inherited From:
Returns:
Chave da classe calculada para uso nas ações globais.
- Type
- number
-
getGlobalActionRegisterKey( [opt_key])
-
Pega a chave do registro para ser usado como base de cálculo das ações globais levando em consideração o estado atual deste campo.
Parameters:
Name Type Argument Description opt_keynumber <optional>
Força que o resultado seja esta chave.
- Inherited From:
Returns:
Chave do registro posicionado caso seja possível pegá-lo.
- Type
- number
-
hasEvent(eventName)
-
Verifica se foi adicionada uma função ou método ao evento informado.
Parameters:
Name Type Description eventNamestring Nome do evento
- Inherited From:
- Deprecated:
-
- Utilize #hasListeners.
Returns:
True se houver pelo menos uma função ou método adicionado ao evento.
- Type
- boolean
-
hasListeners(type)
-
Verifica se há listeners registrados para o tipo de evento informado.
Parameters:
Name Type Description typestring| Array.<string> Tipo do evento a ser verificado. Também pode ser informado um array de tipos. Neste caso, será retornado true se houver ao menos um listener registrado para um dos tipos informados.
- Inherited From:
Returns:
True se houver listeners registrados para o tipo de evento informado.
- Type
- boolean
-
hasLookupDisplayEvent()
-
Indica se há um evento onLookupDisplay configurado nesse campo ou na definição da classe (x-class) a qual este campo está associado.
- Inherited From:
Returns:
- Type
- boolean
-
hasVisibleThumbnail()
-
Verifica se o thumbnail do campo está visível.
Este método é equivalente a
thumbnail.visible, no entanto ele evita que o getter da propriedadethumbnailcrie uma instância deCellThumbnailsem que tenha ocorrido uma definição de fato da propriedade.- Inherited From:
Returns:
- Type
- boolean
-
isBoolean()
-
Indica se o campo é do tipo boolean.
- Inherited From:
Returns:
True se o campo é do tipo boolean, false caso contrário.
- Type
- boolean
-
isCombo()
-
Indica se o campo é do tipo "combo" ou se as opções de preenchimento foram configuradas pela propriedade #options ou pelo evento getOptions.
- Inherited From:
Returns:
True se o campo é do tipo combo, false caso contrário.
- Type
- boolean
-
isDate()
-
Indica se o campo é do tipo date.
- Inherited From:
Returns:
True se o campo é do tipo date, false caso contrário.
- Type
- boolean
-
isFile()
-
Indica se o conteúdo do campo são arquivos armazenados na VFS.
- Inherited From:
Returns:
True se o campo é do tipo file, false caso contrário.
- Type
- boolean
-
isGrid()
-
Indica se o tipo do campo é grid ou masterdetail.
Returns:
True se o campo for uma grade detalhe, false caso contrário.
- Type
- boolean
-
isInt32()
-
Indica se o campo é do tipo inteiro 32 bits.
- Inherited From:
Returns:
True se o campo é do tipo '
int32', false caso contrário.- Type
- boolean
-
isInt64()
-
Indica se o campo é do tipo inteiro 64 bits.
- Inherited From:
Returns:
True se o campo é do tipo '
int64', false caso contrário.- Type
- boolean
-
isInteger()
-
Indica se o campo é do tipo inteiro, independente da sua precisão (
'int64'ou'int32').O tipo
'integer'sem precisão é mapeado para o tipo retornado pela funçãoDataSet.getIntegerDataType().- Inherited From:
Returns:
True se o campo é do tipo integer, false caso contrário.
- Type
- boolean
-
isKey()
-
Indica se o conteúdo do campo é uma chave.
Returns:
True se o campo armazena chave de uma outra tabela
- Type
- boolean
-
isMasterDetail()
-
Verifica se o campo é do tipo masterdetail ou se é uma grade que estabelece uma relação mestre-detalhe por meio das propriedades #classKey, #masterFieldNames e #detailFieldNames.
- Inherited From:
Returns:
True se o campo estabelecer uma relação mestre-detalhe.
- Type
- boolean
-
isMemo()
-
Indica se o campo é do tipo memo.
- Inherited From:
Returns:
True se o campo é do tipo memo, false caso contrário.
- Type
- boolean
-
isNumber()
-
Indica se o campo é do tipo number.
- Inherited From:
Returns:
True se o campo é do tipo number, false caso contrário.
- Type
- boolean
-
isPassword()
-
Indica se o campo armazena uma senha.
- Inherited From:
Returns:
True se o campo é do tipo password, false caso contrário.
- Type
- boolean
-
isString()
-
Indica se o campo é do tipo string.
- Inherited From:
Returns:
True se o campo é do tipo string, false caso contrário.
- Type
- boolean
-
isTime()
-
Indica se o conteúdo do campo é do tipo 'time'.
Para fins de compatibilidade, campos do tipo 'string' de tamanho 5 ou 8 com as palavras 'Hour' e 'Hora' no seu nome, ou com o sufixo H, são considerados do tipo 'time'. Esse comportamento tem o objetivo de suportar códigos legados de uma época onde não existia o tipo específico 'time'. Essa lógica é falha, pois pode considerar campos do tipo 'string' como do tipo 'time' indevidamente. Novas definições de campo sempre devem definir o tipo 'time' de forma explícita, pois em algum momento esse suporte aos códigos legados poderá ser removido.
- Inherited From:
Returns:
True se o campo é do tipo 'time', false caso contrário.
- Type
- boolean
-
isTree()
-
Indica se o conteúdo do campo deve ser exibido em árvore.
Returns:
True se o campo é do tipo tree, false caso contrário.
- Type
- boolean
-
listenerHandlers(type)
-
Obtém todas as funções de listeners registradas para o tipo de evento informado. O array retornado é uma cópia dos listeners registrados e sua manipulação não alterará a instância desta classe. Para adicionar ou remover uma nova função de listener, utilize os métodos #on ou #off.
Parameters:
Name Type Description typestring Tipo de evento ao qual serão obtidos os EventListeners registrados.
- Inherited From:
- See:
Throws:
-
Será disparado um erro caso o tipo informado não tenha sido registrado previamente pelo método #registerEventType.
- Type
- EventTypeException
Returns:
Todas as funções de listeners registradas neste emitter para o tipo informado.
- Type
- Array.<function(module:@nginstack/engine/lib/event/Event~Event)>
-
listeners( [opt_type])
-
Obtém todos os listeners registrados para o tipo de evento informado. O array retornado é uma cópia dos listeners registrados e sua manipulação não alterará a instância desta classe. Para adicionar ou remover uma nova função de listener, utilize os métodos #on ou #off.
Parameters:
Name Type Argument Description opt_typestring <optional>
Tipo de evento ao qual serão obtidos os EventListeners registrados.
- Inherited From:
- See:
Throws:
-
Será disparado um erro caso o tipo informado não tenha sido registrado previamente pelo método #registerEventType.
- Type
- EventTypeException
Returns:
Todos os listeners registrados neste emitter para o tipo informado. Sempre serão retornadas instâncias de Listener, por mais que tenham sido registradas funções de listeners nos métodos #on ou #replaceListeners. Para obter as funções, acesse a propriedade Listener#handler dos elementos retornados ou utilize o método #listenerHandlers para obter a relação de funções. Caso não seja informado, serão retornados todos os listeners.
- Type
- Array.<module:@nginstack/engine/lib/event/Listener~Listener>
-
off(type, listener)
-
Remove uma função de listener previamente adicionada por meio do método #on.
Se uma função de listener for removida durante a emissão de um evento, ela será executada por mais que tenha sido removida. Ou seja, a remoção valerá para as emissões seguintes.
Parameters:
Name Type Description typestring Tipo do evento que será removido.
listenermodule:@nginstack/engine/lib/event/Listener~Listener| function Indica a função de listener a ser removida.
- Inherited From:
- See:
Returns:
Esta instância de Emitter, permitindo encadeamento de chamadas.
-
offAll( [opt_type])
-
Remove todas as funções de listener associadas ao tipo informado. Caso o tipo não seja informado, serão removidas todas as funções de listeners de todos os tipos de eventos.
Parameters:
Name Type Argument Description opt_typestring <optional>
Tipo de evento que deverá ter os listeners removidos.
- Inherited From:
Returns:
Esta instância de Emitter, permitindo encadeamento de chamadas.
-
on()
-
Método não suportado em campos de um formulário.
-
registerEventType(type)
-
Registra um novo tipo de evento, permitindo que ele possa ser utilizado por esta instância de Emitter. A tentativa de emitir um evento ou listener de um tipo não registrado provocará um erro.
Parameters:
Name Type Description typestring| Array.<string> Tipo do evento a ser registrado. Também pode ser informado um array de tipos.
-
replaceListeners(type, listener)
-
Registra uma função de listener que irá substituir todos os listeners registrados para o tipo de evento indicado por type. A função informada receberá, além do parâmetro event, um segundo parâmetro que será uma função, que ao ser invocada, emitirá o o evento informado para os listeners que foram substituídos.
O comportamento deste emitter ao tentar registrar uma função de listener mais de uma vez é determinado pela propriedade #duplicationHandling.
Importante: o uso deste método não é recomendado. Ignorar os listeners registrados previamente por outros desenvolvedores é uma má prática de desenvolvimento e pode gerar inconsistências de dados. Seu uso deve ser restrito à compatibilização de eventos antigos que dependem deste comportamento, que antes eram declarados pelo método "set" da antiga API de Eventos do Engine (classe global Event).
Parameters:
Name Type Description typestring Tipo de evento que será registrado.
listenermodule:@nginstack/engine/lib/event/Listener~Listener| function Função que será executada quando ocorrer a emissão do evento.
- Inherited From:
- See:
Example
this.replaceListeners('beforePost', function (event, emit) { event.data.codigo = 'Novo cliente'; emit(event); }); -
saveValuesToCache(entry)
-
Salva os valores do campo no cache. Isso para carregar os dados quando o formulário for carregado novamente.
Parameters:
Name Type Description entryEntry Objeto contendo os valores que devem ser gravados no cache.
-
unregisterEventType(type)
-
Remove o registro de um tipo de evento, bloqueando a utilização nesta instância de Emitter. A tentativa de emitir um evento ou listener de um tipo não registrado provocará um erro.
Parameters:
Name Type Description typestring| Array.<string> Tipo do evento a ser bloqueado. Também pode ser informado um array de tipos.
-
validateValue(value)
-
Valida o valor informado para um campo.
No caso dos campos do tipo legado "combo", o valor informado será considerado o índice da opção (1-indexado) e o valor zero indica que o campo deve ser limpo. Caso o valor informado não seja numérico ou seja maior que a quantidade de opções, ele será comparado com os valores das opções do combo. Esse comportamento especial do combo é mantido apenas para preservar os códigos existentes que usam o tipo "combo". Para evitá-lo, defina a propriedade
optionsem campos com tipos reais de dados.Parameters:
Name Type Description valuestring| number| boolean| Date O valor a ser validado.
- Inherited From:
Events
-
afterChange
-
Evento que será emitido após um campo ter sido alterado, permitindo que o desenvolvedor modifique outros campos com base no valor informado.
Type: module:@nginstack/engine/lib/classdef/FieldChangeEvent~FieldChangeEvent
- Inherited From:
- See:
Example
field('uf').on('afterChange', function (evt) { if (evt.newValue) { evt.data.localidade = null; } }); -
afterLookupAddResult
-
Evento emitido após o filtro dos resultados de uma pesquisa de um campo lookup. Esse evento será emitido uma vez, independente da quantidade de registros filtrados pelo evento lookupAddResult. Seu uso é recomendado quando há necessidade de limpar eventuais recursos que foram alocados em listeners do evento beforeLookupAddResult.
Type: module:@nginstack/engine/lib/classdef/FieldEvent~FieldEvent
- Inherited From:
- See:
Example
field.on('afterLookupAddResult', function (evt) { evt.field.saldo_.empty(); }); -
beforeChange
-
Evento que será emitido antes de um campo ser alterado, permitindo que o desenvolvedor impeça a alteração do campo, lançando um erro, ou altere o valor a ser informado no campo, modificando a propriedade FieldChangeEvent#newValue.
Type: module:@nginstack/engine/lib/classdef/FieldChangeEvent~FieldChangeEvent
- Inherited From:
- See:
Example
field.on('beforeChange', function (evt) { if (evt.newValue > 10) throw new Error('Valor não pode ser maior que 10'); }); -
beforeLookupAddResult
-
Evento emitido antes do filtro dos resultados de uma pesquisa de um campo lookup. Esse evento será emitido uma vez, independente da quantidade de registros filtrados pelo evento lookupAddResult. É recomendado o seu uso para alocar recursos que serão utilizados pelos listeners do evento lookupAddResult, evitando alocar esses recursos a cada avaliação do filtro.
Type: module:@nginstack/engine/lib/classdef/FieldEvent~FieldEvent
- Inherited From:
- See:
Example
field.on('beforeLookupAddResult', function (evt) { var process = evt.field.parent.process; // Saldo é um DataSet que será utilizado no evento lookupAddResult evt.field.saldo_ = saldo.consulta(); evt.field.saldo_.indexFieldNames = 'LOTE'; }); -
calculate
-
Evento que será emitido para obter o valor do campo calculado.
Type: module:@nginstack/web-framework/lib/classdef/FieldCalculateEvent~FieldCalculateEvent| module:@nginstack/web-framework/lib/classdef/GridFieldEvent~GridFieldEvent
- Inherited From:
Example
// O exemplo abaixo retorna o registro do DataSet em que o cursor está // posicionado e atribui esse valor ao campo. field.on('calculate', function (evt) { evt.value = evt.data.recNo; }); -
defineGrid
-
Evento emitido em campos do tipo "masterDetail" ou "grid" com o objetivo de permitir a configuração da grade detalhe.
Type: module:@nginstack/web-framework/lib/classdef/GridFieldEvent~GridFieldEvent
- Inherited From:
Example
// O exemplo abaixo cria uma grade detalhe e seta o título como "Grade personalizada". grid.field('campo_detail_grid').on('defineGrid', function (evt) { var grid = evt.field.grid; grid.title = 'Grade detalhe'; }); -
focus
-
Evento emitido quando o campo recebe o foco. O uso deste evento não é recomendado, pois ele prejudica a usabilidade da grade ao torná-la mais lenta. Com o uso deste evento passa a ser necessária uma interação a mais com o servidor durante a navegação de campos.
Type: module:@nginstack/web-framework/lib/classdef/GridFieldEvent~GridFieldEvent
Example
// O exemplo abaixo exibe o help do campo no label "helpMessages" existente no // processo. field.on('focus', function (evt) { var label = evt.field.parent.process.helpMessages; label.text = evt.field.help; }); -
getCellStyle
-
Evento emitido para obter uma estilização específica e condicional para uma célula do campo. Este evento é disparado individualmente para cada célula de um campo (coluna) no modo tabela e no modo formulário.
O seu uso é recomendado quando há necessidade de alterar o estilo visual do campo de acordo com o seu valor, por exemplo, alterar a cor do texto utilizando uma faixa de valores. Para casos em que o estilo é o mesmo para todas as células, utilize a propriedade
cssStyle.Type: module:@nginstack/web-framework/lib/classdef/CellStyleEvent~CellStyleEvent
- Inherited From:
- See:
-
- ViewDefField#cssStyle
Example
fld.on('getCellStyle', function (evt) { const field = evt.field; const value = evt.data.value; if (value > 75) { evt.cssStyle['color'] = 'cyan'; } else if (value > 50) { evt.cssStyle['fontWeight'] = 'bold'; } else if (value > 0) { evt.cssStyle['textAlign'] = 'left'; } else { evt.cssStyle['textDecoration'] = 'dashed'; } }); -
getOptions
-
Evento emitido para obter as opções de valores aceitos no preenchimento deste campo.
Ao configurar o evento
getOptionsde um campo, ele passa a ser comportar como um campo do tipo "combo", independentemente do tipo de dado informado na construção do campo.Este evento deve ser configurado apenas se as opções não forem informadas diretamente por meio da propriedade #options do campo.
Type: module:@nginstack/engine/lib/classdef/FieldOptionsEvent~FieldOptionsEvent
- Inherited From:
- See:
Example
field.on('getOptions', function (evt) { evt.options = [['Opção A', 1], ['Opção B', 2]]; }); -
getTreeIconEvent
-
Evento emitido na apresentação de uma grade em árvore para obter o ícone de um nó.
Emitido apenas quando o field é do tipo "tree". O sender do evento é o nó corrente da árvore. Deve retornar o identificador de um dos ícones da biblioteca de ícones do Web Framework.Type: module:@nginstack/web-framework/lib/classdef/GetTreeIconEvent~GetTreeIconEvent| module:@nginstack/web-framework/lib/classdef/GridFieldEvent~GridFieldEvent
- Inherited From:
Example
field.on('getTreeIcon', function (evt) { if (!evt.node.level) { evt.icon = 'robot'; } }); -
lookupAddResult
-
Evento emitido durante a pesquisa de um campo lookup, permitindo que o desenvolvedor filtre as opções possíveis de serem informadas neste campo. Deve ser retornado um booleano para indicar se o registro indicado por LookupAddResultEvent#key pode ser utilizado como valor deste campo.
Type: module:@nginstack/engine/lib/classdef/FieldEvent~FieldEvent
- Inherited From:
- See:
Example
field.on('lookupAddResult', function (evt) { return !evt.data.uf || evt.key.uf === evt.data.uf; }) -
lookupDisplay
-
Evento emitido quando o sistema precisa obter o valor de exibição de uma chave desta classe de dados. Os listeners registrados deverão preencher a propriedade LookupDisplayEvent#displayValue do evento emitido para informar o valor de exibição da chave indicada por LookupDisplayEvent#key.
Type: module:@nginstack/engine/lib/classdef/LookupDisplayEvent~LookupDisplayEvent
- Inherited From:
- See:
Example
this.on('lookupDisplay', function (evt) { evt.displayValue = DBKey.str(evt.key, 'NOME'); }); -
lookupMultipleInsert
-
Evento emitido quando ocorrer uma inserção múltipla de registros a partir da grade Lookup.
A inserção múltipla de registros fica habilitada na grade Lookup por meio do botão 'Inserir como Novos' quando a propriedade 'allowMultipleInsert' do campo é definida como true.
O comportamento padrão é inserir automaticamente múltiplos registros de acordo com a seleção que ocorreu na grade Lookup, no entanto esse comportamento pode ser alterado por este evento.
Type: module:@nginstack/web-framework/lib/classdef/LookupMultipleInsertEvent~LookupMultipleInsertEvent| module:@nginstack/web-framework/lib/classdef/GridFieldEvent~GridFieldEvent
- Inherited From:
Example
// O exemplo abaixo, mostra a possibilidade de estender esse comportamento // herdando ou não o procedimento padrão. var field = grid.field('CAMPO', 'int64'); field.classKey = -1898187808; // Tipos de Arquivo field.allowMultipleInsert = true; field.replaceListeners('lookupMultipleInsert', function (evt, emitReplaced) { emitReplaced(evt); // herda o comportamento padrão (opcional) var grid = evt.field.parent; for (var i = 0; i < evt.lookupGrid.selectedRecords.length; ++i) { evt.lookupGrid.ds.bookmark = evt.lookupGrid.selectedRecords[i]; grid.ds.append(); grid.ds.campo = evt.lookupGrid.ds.ikey; grid.ds.obs = 'Registro inserido manualmente'; grid.ds.post(); } }); -
openKey
-
Evento emitido quando o usuário deseja abrir detalhes sobre um registro de um campo lookup ou deseja uma interface mais rica para auxiliar o seu preenchimento.
Type: module:@nginstack/web-framework/lib/classdef/OpenKeyEvent~OpenKeyEvent| module:@nginstack/web-framework/lib/classdef/GridFieldEvent~GridFieldEvent
- Inherited From:
Example
field.on('openKey', function (evt) { var parameters = [ 'baseClass', evt.classKey, 'keysToOpen', evt.value, 'fromOpenKey', true, 'lookupType', evt.lookupType ]; if (evt.target instanceof Field) { parameters.push( 'targetProcessId', evt.process.id, 'targetTabId', evt.process.currentTabId, 'targetGridName', evt.target.parent.name, 'targetFieldName', evt.target.name ); } evt.process.setNextInteraction('main', parameters, -1898145512, true); // Explorador de registros.ip }); -
validate
-
Evento emitido antes de efetivar uma modificação com o objetivo de validar o preenchimento do campo.
Diferentemente dos eventos beforeChange e afterChange, esse evento não deve fazer uso de componentes de interface, pois ele tem o objetivo exclusivo de realizar validações de modelo de dados e pode ser chamado em contextos sem interação com o usuário, como APIs HTTP.
Type: module:@nginstack/engine/lib/classdef/FieldEvent~FieldEvent
- Inherited From:
- See:
Example
grid.field('field_name').on('validate', function (evt) { if (evt.data.field_name < 0) { throw new Error('O valor deve ser positivo.'); } });