new ViewDefField(name, type, size)
Campo de uma definição de visão (x-view ou x-class) do Web Framework.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
name |
string | Nome único que identificará o campo. |
|
type |
string | Tipo do campo, observe a propriedade #type para mais detalhes . |
|
size |
number |
<nullable> |
Tamanho do campo, requerido apenas para campos do tipo "string" e "password". |
Extends
- Field
Members
-
<static> VM_LIST :number
-
Indica se campos do tipo "file" deverão exibir uma lista dos nomes dos arquivos armazenados.
Type:
- number
- See:
-
- Field#viewMode
-
<static> VM_THUMBNAIL :number
-
Indica se campos do tipo "file" deverão exibir o conteúdo dos arquivos armazenados quando possível.
Type:
- number
- See:
-
- Field#viewMode
-
aggregate :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
FieldAggregator
que implemente a lógica de agregação dos dados. Podem ser utilizadas uma das classes preexistentes, comoSumFieldAggregator
,AvgFieldAggregator
,MaxFieldAggregator
,MinFieldAggregator
eCountFieldAggregator
, 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:
- FieldAggregator
- 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
-
breakLine :boolean
-
Indica se deverá ser forçada a quebra de linha após o campo quando da escrita da grade.
Type:
- boolean
-
changed :boolean
-
Indica se o campo foi alterado.
Type:
- boolean
-
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.Type:
- number
Examples
Um exemplo de disposição de linhas e colunas: ---------------------------------------------------------- | order=0;column=0 | order=2;column=1 | order=3;column=2 | | order=4;column=0 | order=5;column=1 | order=6;column=2 | | order=7;column=0 | order=8;column=1 | order=9;column=2 | ----------------------------------------------------------
fld = grid.field('e1', 'masterdetail'); fld.label = 'e1'; fld.order = 1; fld.classKey = -123; fld.masterFieldNames = 'iKey'; fld.detailFieldNames = 'iClass'; fld.column = 0; fld = grid.field('e2', 'masterdetail'); fld.label = 'e2'; fld.order = 2; fld.classKey = -123; fld.masterFieldNames = 'iKey'; fld.detailFieldNames = 'iClass'; 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.
- "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. -
cssClass :string
-
Classe CSS utilizada para definir visualmente o campo.
Type:
- string
-
detailDescendingIndexFieldNames :string
-
Indica quais campos da propriedade detailIndexFieldNames devem estar em ordem descendente.
Recurso disponível apenas para campos do tipo "grid".Type:
- string
- See:
-
- Field#detailIndexFieldNames
-
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
- See:
-
- Field#detailFieldNames
- Field#detailDescendingIndexFieldNames
-
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
- 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';
-
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.DONE
se a altura do campo for um eEnterKeyAction.NEWLINE
se for maior que um. Se for definida explicitamente a açãoEnterKeyAction.NEWLINE
em um campo com altura um, 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
- See:
-
- Field#tableViewable
-
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
- See:
-
- Field#links
-
height :number
-
Altura do campo em linhas.
Utilizado apenas no modo formulário da grade.
Este atributo náo é válido para campos do tipo boolean e grid.Type:
- number
- Default Value:
-
- 1
- See:
-
- Field#width
-
isCalculated :boolean
-
Determina se é um campo calculado, ou seja, se possui o evento calculate configurado.
Type:
- boolean
-
labelCssClass :string
-
Estilo (CSS) que será atribuído ao título do campo. O exemplo abaixo aplica o estilo "novoEstilo" ao campo "my_field".
Type:
- string
Example
// Este código deverá ser executado em interações. this.write(' <style type="text/css"> .novoEstilo { letter-spacing: 0px; font-family: MS Sans Serif, Arial, Helvetica, Verdana; text-align: right; font-weight: bold; font-size: 8pt; color: #000000; background-color: #D1E1CA; text-decoration: none; padding: 2px; } </style> '); var gr = this.grid('vars') gr.title = 'Variáveis' gr.onDefineFields.set(function(grid) { var fld = grid.field('my_field', 'int64') fld.labelCssClass = 'novoEstilo' }) gr.write()
-
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
- Default Value:
-
- left
-
link :Link
-
Link associado ao campo. API desaconselhada, utilize a propriedade "links".
Type:
- Link
- Deprecated:
-
- Yes
- See:
-
- Field#links
-
linkParametersValuesFieldNames :Array
-
Nomes dos campos dos quais deverão ser extraídos os parâmetros dos links.
Type:
- Array
- Deprecated:
-
- Yes
- See:
-
- Field#links
-
links :LinkSet
-
Coleção de atalhos que estão associados ao campo.
Para criar um novo atalho, utilize o método LinkSet#add.Type:
- LinkSet
- 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);
-
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
- Deprecated:
-
- Configure a propriedade module:@nginstack/web-framework/lib/grid/DetailGrid~DetailGrid#maxRecordCount no evento "defineGrid" do campo.
-
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
- Default Value:
-
- true
-
onBlur :Event
-
Evento emitido quando o campo perde 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 com o servidor durante a navegação de campos.
Type:
- Event
- Deprecated:
-
- Utilize on('blur', listener).
Example
field.onBlur.set(function (field) { field.parent.process.alert('O campo perdeu o foco.'); });
-
onCalculate :Event
-
Evento que será emitido para obter o valor do campo calculado.
Type:
- Event
- 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 :Event
-
Evento emitido em campos do tipo "masterDetail" ou "grid" com o objetivo de permitir a configuração da grade detalhe.
Type:
- Event
- 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 :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 com o servidor durante a navegação de campos.
Type:
- Event
- 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; });
-
onGetTreeIcon :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:
- Event
- Deprecated:
-
- Utilize on('getTreeIcon', listener).
Example
field.onGetTreeIcon.set(function(field) { if (!field.level) { return '/treeImages/root.png'; } });
-
onLookupMultipleInsert :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 tipo de evento.Type:
- Event
- 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 :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:
- Event
- Deprecated:
-
- Utilize on('openKey', listener);
-
parent :Grid|ViewDef
-
Grade ou definição de classe a qual este campo está associado.
Type:
- Grid | ViewDef
-
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
-
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
- See:
-
- Field#defaultValue
-
showGlobalActions :boolean
-
Define se este campo deve apresentar ações globais.
Type:
- boolean
-
tableViewable :boolean
-
Determina se o campo é visível no modo tabela.
Type:
- boolean
- See:
-
- Field#formViewable
-
tableViewWidth :number
-
Largura do campo definida em quantidade de caracteres que devem ser exibidos na visão da grade em modo tabela. Caso não seja informado, será utilizado o valor da propriedade width.
Com base nesta informação será calculado 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.Type:
- number
- See:
-
- Field#width
-
thumbnail :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:
- CellThumbnail
-
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
- 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
- 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
- See:
-
- Field#treeParentFieldName
- Field#treeChildFieldName
Example
Exemplo na documentação da propriedade treeParentFieldName.
-
viewMode :number
-
Modo de visão dos campos do tipo "file". Valores permitidos: Field.VM_THUMBNAIL ou Field.VM_LIST.
Type:
- number
- 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 :number
-
Largura do campo definida em quantidade de caracteres que devem ser exibidos.
Com base nesta informação será calculado 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".Type:
- number
- See:
-
- Field#height
- Field#tableViewWidth
- Field#size
-
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|null
-
Altura para imagem definida em quantidade de pixels que devem ser exibidos no preview da grade em modo tabela. Caso não seja informado, será utilizado o valor da propriedade height.
Type:
- number | string | null
- See:
-
- Field#height
-
zoomMaxWidth :number|string|null
-
Largura para imagem definida em quantidade de pixels que devem ser exibidos no preview da grade em modo tabela. Caso não seja informado, será utilizado o valor da propriedade height.
Type:
- number | string | null
- See:
-
- Field#height
Methods
-
canHaveGlobalActions()
-
Checa se este campo possui estrutura de ter ações globais.
Returns:
Indica se é possível ter ações globais neste campo.
- Type
- boolean
-
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_key
number <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.
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_key
number <optional>
Força que o resultado seja esta chave.
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 eventName
string Nome do evento
- Deprecated:
-
- Utilize #hasListeners.
Returns:
True se houver pelo menos uma função ou método adicionado ao evento.
- 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.
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 propriedadethumbnail
crie uma instância deCellThumbnail
sem que tenha ocorrido uma definição de fato da propriedade.Returns:
- 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
-
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.
Returns:
True se o campo estabelecer uma relação mestre-detalhe.
- 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
Events
-
blur
-
Evento emitido quando o campo perde 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 com o servidor durante a navegação de campos.
Type: GridFieldEvent
Example
field.on('blur', function (evt) { evt.field.parent.process.alert('O campo perdeu o foco.'); });
-
calculate
-
Evento que será emitido para obter o valor do campo calculado.
Type: FieldCalculateEvent | GridFieldEvent
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: GridFieldEvent
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 com o servidor durante a navegação de campos.
Type: 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; });
-
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: GetTreeIconEvent | GridFieldEvent
Example
field.on('getTreeIcon', function (evt) { if (!evt.node.level) { evt.icon = 'robot'; } });
-
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 tipo de evento.Type: LookupMultipleInsertEvent | GridFieldEvent
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: OpenKeyEvent | GridFieldEvent
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); // Explorer.ip; });