Class: ViewDef

@nginstack/web-framework/lib/classdef/ViewDef~ ViewDef


new ViewDef(key)

Abstração da definição da camada de visão a partir de uma classe. Pode ser entendido como uma interface stateful para um mapeamentos objeto-relacional, na camada MVC.

Parameters:
Name Type Description
key string

Chave da classe

Extends

Members


cache :module:@nginstack/engine/lib/classdef/ClassDefCache~ClassDefCache

Objeto utilizado para guardar informações de cache associadas a uma definição de modelo de dados de uma classe. Quando uma definição é modificada, todas as informações no cache associadas a ela são descartadas. O sistema também poderá realizar descarte das informações a qualquer momento por outros critérios, como limite do tamanho do cache ou redução do consumo de memória da aplicação.
Importante: como o cache a princípio é mantido durante toda a vida do sistema, não utilize-o para guardar dados de informações úteis apenas para um processamento específico que não será reutilizado em outro momento da vida de uma sessão.

Type:
Inherited From:

cacheStrategy :TableCacheStrategy

Define a estratégia de cache da tabela associada a esta classe no cache local dos Engines.

Type:
  • TableCacheStrategy
Inherited From:

cachedData :boolean|CachedDataOptions

Determina a existência de replicação de dados da tabela em disco.

Type:
  • boolean| CachedDataOptions
Inherited From:

cachedFields :Array.<string>

Determina quais campos serão armazenados no cache local. Conceito desligado na versão 4.0 ou superior.

Type:
  • Array.<string>
Inherited From:

cachedVfsContent :boolean

Determina como será armazenado o conteúdo dos arquivos da VFS (coluna iContent) desta classe. Caso seja true, o conteúdo dos arquivos será armazenado diretamente na tabela iVfs, fazendo parte do cache local. Caso seja false, o conteúdo será armazenado na tabela iVfsLob apenas na base de dados, sendo necessária uma consulta ao banco de dados na leitura do conteúdo do arquivo.

Importante: arquivos do tipos "application/x-config", "application/x-model", "application/x-view" e "application/x-class" sempre são armazenados diretamente na tabela iVfs, independentemente do valor desta propriedade.

Type:
  • boolean
Inherited From:

canDuplicate :boolean

Indica se os registros da classe de dados podem ser duplicados pela grade do Web Framework.

Type:
  • boolean
Default Value:
  • true

canNavigate :boolean

Permite que a classe seja navegável para o menu principal do sistema.

Type:
  • boolean

classChangePolicy :number

Indica a forma como se valida a mudança de classe dos registros.

Type:
  • number
Inherited From:

classDefManager :module:@nginstack/engine/lib/classdef/ClassDefManager~ClassDefManager

Gestor de definições de classe.

Type:
Inherited From:

classFieldName :string

Indica qual é o nome do campo na tabela que irá relacionar a classe no registro.

Type:
  • string
Inherited From:

<nullable> classKey :number

Chave da classe de dados a qual esta definição está associada.

Type:
  • number
Inherited From:

confirmCancel :boolean|undefined

Habilita a confirmação de cancelamento na interface de grade do web framework quando conter o valor true.

Type:
  • boolean| undefined

confirmChange :boolean|undefined

Habilita a confirmação de alteração na interface de grade do web framework quando conter o valor true.

Type:
  • boolean| undefined

confirmDelete :boolean|undefined

Habilita a confirmação de remoção na interface de grade do web framework quando conter o valor true.

Type:
  • boolean| undefined

dataDictionary :string

Ajuda sobre o que representa a tabela no nível da classe. Aqui devem ser abordados assuntos técnicos e relacionados a estrutura e relacionamentos entre as tabelas

Type:
  • string
Inherited From:

<non-null> datasourceDefaultFilters :Array.<string>

Indica quais campos serão filtros da consulta de um datasource.

Type:
  • Array.<string>
Inherited From:
Deprecated:
  • Yes

dbIndexSpace :string

Indica em qual tablespace serão criados os índices da tabela definida por esta classe ou uma de suas filhas.

Type:
  • string
Inherited From:

<non-null> dbIndexes :Array.<string>

Índices que devem ser criados no banco de dados. Cada item do array deve ser uma expressão de uma ou mais colunas, separadas por vírgula.

Type:
  • Array.<string>
Inherited From:
Example
this.dbIndexes.push('CLASSE');
 this.dbIndexes.push('UF,CLASSE');

<non-null> dbSums :Array

Utilize a API nova de tabela de soma.

Type:
  • Array
Inherited From:
Deprecated:
  • Yes

dbTableSpace :string

Indica em qual TABLE_SPACE as tabelas serão criadas.

Type:
  • string
Inherited From:

defaultExplorerIndex :Array.<string>|string

Índice utilizado para ordenar o DataSet do processo "Explorador de registros.ip". Esse processo utilizará o método DataSet.setIndex se esta propriedade for um array de strings ou o processo utilizará a propriedade DataSet.indexFieldNames se defaultExplorerIndex for uma string.

Type:
  • Array.<string>| string

defaultGlobalActionName :string

Registra o nome de uma uma ação global para que esta ação seja executada automaticamente quando o usuário clicar sobre um dos registros da "Busca do sistema" no diálogo de busca. Será disparado um erro para o usuário caso a ação global, cujo nome for configurado nesta propriedade, tenha sua visibilidade removida no evento 'show', portanto, deve-se evitar alterar a visibilidade de ações globais configuradas como padrão.

Somente é possível existir uma ação global padrão em uma definição de classe. Informar um novo nome de ação global irá substituir o anteriormente informado.

Type:
  • string

defaultIndex :Array.<string>|string

Esta propriedade faz a mesma coisa que ViewDef.defaultExplorerIndex.

Type:
  • Array.<string>| string
Deprecated:
  • ViewDef.defaultExplorerIndex

defaultOpenInteraction :string

Interação padrão que será executada logo após a abertura do processo, através da API de link.

Type:
  • string

<non-null> defaultOpenInteractionParameters :Array.<string>

Parâmetros que serão passados para interação quando um processo abrir através da API de link.

Type:
  • Array.<string>

defaultProcess :number

Processo que deve ser executado ao clicar no menu principal em qualquer classe que essa propriedade estiver definida com a chave do processo.

Essa funcionalidade não é mais suportada no menu principal do sistema e os valores atribuídos a ela são ignorados.

Type:
  • number
Deprecated:
  • Yes

deprecatedInterfaceEnabled :boolean

Habilita o uso do iWeb.

Type:
  • boolean

displayName :string

Nome de execução desta classe. Caso não seja informada, será o nome da classe que definiu este modelo.

Type:
  • string
Inherited From:

displayOrder :number

Ordem de exibição da classe, quando exibida em menus ou em conjunto com classes irmãs. Se nenhum valor for fornecido, a ordem considerada é a ordem alfabética.

Type:
  • number
Inherited From:

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:
Inherited From:

fieldClass :function

Determina qual é a classe que é utilizada para construção de campos no Mapeamento objeto-relacional. O método ViewDef#field retornará uma instância da classe apresentada nesta propriedade. Ou seja, se existir um campo criado para o nome de campo fornecido, uma instancia da classe em fieldClass é fornecido se não houver é criada uma e retornada.

Type:
  • function
Overrides:

fields :module:@nginstack/engine/lib/classdef/FieldList~FieldList

Campos definidos na classe de dados e na hierarquia de classes mãe.

Type:
Inherited From:

findOrder :number

Determina a ordem de pesquisa dentro do x-find nas classes. A ordenação é realizada para todas as classes que possuem x-find na hierarquia da mãe para os filhos.

Type:
  • number
Inherited From:

globalActions :module:@nginstack/web-framework/lib/classdef/GlobalActionSet~GlobalActionSet

Ações globais de uma classe. Uma ação global é uma espécie de link para qualquer relatório ou processo do sistema.

Type:

<non-null> gridDefinition :Object

Guarda as definições de grade que são declaradas por defineGrid.

Type:
  • Object
See:
  • ViewDef#defineGrid

groups :module:@nginstack/engine/lib/classdef/FieldGroupSet~FieldGroupSet

Conjunto de grupos de campo.

Type:
Inherited From:

hasOwnJustToGroup :boolean

Propriedade que indica se o justToGroup foi definido explicitamente para a classe corrente.

Type:
  • boolean
Inherited From:

help :string

Ajuda conceitual sobre uma determinada classe. É importante que o help não informe conceitos técnicos ou de interface. Essas informações devem estar descritas na propriedade dataDictionary.

Type:
  • string
Inherited From:

icon :string

Ícone será apresentado no menu de navegação, caso esta classe represente um módulo do sistema. Deve ser um dos ícones disponíveis em Menu > Desenvolvimento > Componentes > Ícones.

Type:
  • string

imageHeight :number|string

Altura padrão em pixels da imagem associada a este registro, caso exista uma.

Type:
  • number| string

imageWidth :number|string

Largura padrão em pixels da imagem associada a este registro, caso exista uma.

Type:
  • number| string

<non-null> indexes :Array.<string>

Índices que devem ser criados no cache local na inicialização do sistema.

Type:
  • Array.<string>
Inherited From:
Deprecated:
  • Propriedade não mais utilizado pelo Engine. Os valores declarados serão ignorados pelo sistema.

integerDatabaseType :string

Tipo de dado que deve ser utilizado na base de dados para os campos do tipo "integer".

O tipo "integer" é um opção legada que existia antes da criação dos tipos "int64" e "int32".

Type:
  • string
Inherited From:

justToGroup :boolean

Determina se a classe utilizada é somente para agrupamento.

Type:
  • boolean
Inherited From:

<nullable> key :number

Chave da classe de dados a qual esta definição está associada.

Type:
  • number
Inherited From:
Deprecated:

keyFieldName :string

Informa qual é o campo chave da tabela.

Type:
  • string
Inherited From:

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 #duplicationHandling.

Type:
  • function
Inherited From:
See:

lookupDisplayFieldName :string

Especifica o campo que será utilizado para exibir o valor padrão dos registros desta classe quando apresentados em campos ou operações lookup.

Este valor é exibido quando campos lookup recebem foco ou em outros contextos onde a identificação visual do registro é necessária.

Esta propriedade complementa o evento lookupDisplay, que pode ser usado para personalizar o valor de exibição quando o campo não está em foco. Recomenda-se que, ao utilizar este evento, o valor calculado mantenha o conteúdo deste campo como base, adicionando informações complementares como sufixo, proporcionando assim uma transição visual mais consistente entre os estados.

O campo configurado nesta propriedade deve ser definido como obrigatório na classe atual e em todas as suas subclasses, e não deve permitir valores vazios nos registros.

Type:
  • string
Inherited From:
See:
  • module:@nginstack/engine/lib/classdef/Field/Field#event:lookupDisplay

lookupTableViewWidth :string|number

Largura do campo lookup quado a grade estiver em visão de tabela. Pode ser definido um valor em quantidade de caracteres ou em pixels.

Type:
  • string| number

lookupWidth :string|number

Define a largura do campo lookup. Pode ser definido um valor em quantidade de caracteres ou em pixels.

Type:
  • string| number

managedDatabaseSchema :boolean

Indica se os processos de atualização devem modificar o esquema da tabela definido por esta classe. Deve ser true para as tabelas gerenciadas pelo sistema e false para as tabelas criadas e mantidas por sistemas de terceiros.

Importante: esta configuração deve ser realizada apenas no arquivo x-model ou x-class que definiu a tabela por meio da propriedade tableName.

Type:
  • boolean
Inherited From:

memoDbType :string

Tipo de dado que representa o campo memo no banco. Esse tipo pode variar para os diversos bancos que o Engine suporta.

Type:
  • string
Inherited From:

metaClass :number

Campo classe utilizado na tabela classe.

Type:
  • number
Inherited From:

occurrenceLimit :number

Máxima quantidade de ocorrências a serem pesquisadas durante a pesquisa de um x-finder.

Type:
  • number
Inherited From:

onAfterChange :module:@nginstack/engine/lib/event/LegacyEvent~LegacyEvent

Evento que injeta comportamento no momento depois da alteração de um registro. Esse evento apresenta a característica de disparar os listeners definidos nas classes ancestrais.

Type:
Deprecated:
  • Este evento não é emitido pelo Web Framework. Utilize o evento "afterChange" dos campos da classe.

onBeforeChange :module:@nginstack/engine/lib/event/LegacyEvent~LegacyEvent

Evento que injeta comportamento no momento antes da alteração de um registro. Esse evento apresenta a característica de disparar os listeners definidos nas classes ancestrais.

Type:
Deprecated:
  • Este evento não é emitido pelo Web Framework. Utilize o evento "beforeChange" dos campos da classe.

onCalculate :module:@nginstack/engine/lib/event/LegacyEvent~LegacyEvent

Evite o uso deste evento, ele não faz sentido para definição de classe.

Este evento não é emitido pelo Web Framework. Utilize o evento "calculate" dos campos da classe.

Type:
Deprecated:
  • Yes

<non-null> onLookupAddResult :module:@nginstack/engine/lib/event/Event~Event

Evento que filtra ocorrências válidas. Esse evento apresenta a característica de disparar os listeners definidos nas classes ancestrais.

Type:
Inherited From:
Deprecated:
  • Este evento não é emitido pelo Web Framework. Utilize o evento "lookupAddResult" do campo lookup.

ownFields :Array.<module:@nginstack/engine/lib/classdef/Field~Field>

Array com os campos criados ou potencialmente modificados na definição do modelo da classe de dados indicada por #key. Diferente de #fields, não farão parte desta coleção os campos herdados da classe-mãe que não tenham sido acessados ou modificados nesta definição de classe.

Type:
Inherited From:

parentDef :module:@nginstack/engine/lib/classdef/ClassDef~ClassDef

Definição da qual esta definição é filha.

Type:
Inherited From:

realm :string

Determina o realm a qual esta classe/diretório da Virtual File System está associado. Requisições HTTP que executem scripts contidos neste diretório utilizarão ambientes JavaScripts do realm informado. Veja module:@nginstack/engine/lib/classdef/RealmConfig para mais detalhes sobre a configuração de realms.

Type:
  • string
Inherited From:

session :Object

Sessão do usuário que invocou a criação da definição de modelo.

Type:
  • Object
Inherited From:

sourceType :SourceType

Indica o tipo de fonte que foi utilizado para criar esta definição.

Type:
  • SourceType
Inherited From:

tableName :string

Nome da tabela que o modelo objeto-relacional da classe irá mapear.

Type:
  • string
Inherited From:

<non-null> thumbnail :module:@nginstack/web-framework/lib/classdef/CellThumbnail~CellThumbnail

Controla a disposição da célula de imagem.

Type:

tooltip :string

Conteúdo de ajuda que será exibido ao repousar o cursor sobre a classe em um menu.

Essa funcionalidade não é mais suportada no menu principal do sistema e os valores atribuídos a esta propriedade são ignorados.

Type:
  • string
Deprecated:
  • Yes

upgradeChangesTableStructure :boolean

Indica se os processos de atualização devem modificar o esquema da tabela definido por esta classe.

Type:
  • boolean
Inherited From:
Deprecated:

upgradeMustSyncRecords :boolean

Indica se os processos de atualização devem sincronizar os registros negativos da tabela configurada por esse x-class. Por padrão, apenas as tabelas que participam do cache local têm os seus registros sincronizados. Esse comportamento pode ser modificado por meio de uma configuração explícita desta propriedade.
Importante: Essa configuração deve ser realizada apenas em x-class que definem uma tabela por meio da propriedade tableName.

Type:
  • boolean
Inherited From:
See:

versionFieldName :string

Nome do campo que guardará as versões do registro.

Type:
  • string
Inherited From:

zoomImageHeight :number|string

Indica a altura padrão em pixels da imagem associada a este registro quando está sendo exibida a ampliação dela, normalmente ativa quando ela recebe o foco do mouse.

Type:
  • number| string

zoomImageOnHover :boolean

Indica se haverá ampliação ao passar o cursor do mouse sobre uma imagem associada a este registro.

Type:
  • boolean

zoomImageWidth :number|string

Indica a largura padrão em pixels da imagem associada a este registro quando está sendo exibida a ampliação dela, normalmente ativa quando ela recebe o foco do mouse.

Type:
  • number| string

Methods


addListenersFromEmitter(emitter [, opt_type])

Adiciona neste emitter os listeners do emitter informado.

Parameters:
Name Type Argument Description
emitter module:@nginstack/engine/lib/event/Emitter~Emitter

Emitter que terá os eventos copiados.

opt_type string <optional>

Tipo do evento a ser copiado. Caso não seja informado, serão copiados os listeners de todos os tipos de evento.

Inherited From:

assignListeners(emitter [, opt_type])

Torna este emitter uma cópia do emitter informado. Os tipos de eventos registrados nesta instância serão preservados e complementados com os existentes em emitter.

Parameters:
Name Type Argument Description
emitter module:@nginstack/engine/lib/event/Emitter~Emitter

Emitter que terá os eventos copiados.

opt_type string| Array.<string> <optional>

Tipo do evento a ser copiado. Caso não seja informado, serão copiados os listeners de todos os tipos de evento. Também pode ser informado um array de tipo de eventos a sere copiados.

Inherited From:

canAddAdaptedListeners()

Determina se os eventos declarados utilizando a API antiga antiga de eventos (onNomeEvento) serão ignorados.

Por padrão, os listeners adicionados utilizando a API antiga de eventos serão ignorados caso sejam definidos em um arquivo do tipo x-class quando solicitado o modelo (getModelDef) de uma classe que não está configurada em modo estrito.

Inherited From:
Returns:
Type
boolean

clone()

Cria uma cópia desta definição de modelo de dados.

Inherited From:
Returns:
Type
module:@nginstack/engine/lib/classdef/ModelDef~ModelDef
Example
var modelDef = classDefManager.getModelDef(ClassKeys.LICENSES);
 var modelDefWithoutEvents = modelDef.clone();
 modelDefWithoutEvents.offAll();
 modelDefWithoutEvents.fields.map(function (fld) {
   fld.offAll();
 });

declareCloneableObject(propertyName, initialValue)

Declara um objeto que pode sofrer o processo de clonagem.

Parameters:
Name Type Description
propertyName string

Nome da propriedade.

initialValue *

Valor inicial.

Inherited From:

declareEvent(name)

Declara um getter para um evento na definição de classe, respeitando as definições declaradas na hierarquia de classes.

Parameters:
Name Type Description
name string

Nome do evento.

Inherited From:

declareGetterOfObjectProperty(propertyName, objectClassName)

Declara um Getter que manipula uma instância de uma determinada classe Javascript na instância da camada de modelo, respeitando as definições declaradas na hierarquia de classes.

Parameters:
Name Type Description
propertyName string

Nome da propriedade.

objectClassName string

Nome da classe que irá construir uma instância.

Inherited From:

declareObject(name)

Declara um objeto na instância da camada de modelo, respeitando as definições declaradas na hierarquia de classes.

Parameters:
Name Type Description
name string

Nome do objeto.

Inherited From:

defineGrid(gridName, func)

Registra uma função de configuração que será executada para grades cujo nome seja gridName e que utilizem esta classe como a de definição dos dados. A classe de definição dos dados de uma grade é determinada pela propriedade Grid#definitionClass. Caso ela não tenha sido informada, será considerada a propriedade Grid#classKey. O uso desta função é recomendado para realizar configurações específicas de uma grade, que não se aplicam para todas as grades de uma classe de dados.
Caso sejam registradas várias funções de configuração para um mesmo nome de grade, será executada apenas a última registrada. Para executar as definições anteriores, deve ser executada a função global inherited.
Em campos do tipo masterDetail, o nome do campo será utilizado para obter as definições da grade. Ou seja, serão executadas as funções registradas para grades cujo nome seja igual ao nome do campo mestre-detalhe.
A função de definição é executada no momento da preparação da grade, que ocorre na primeira escrita ou quando a classe de dados da grade é alterada. Em campos do tipo mestre-detalhe, ela é executada antes do evento defineGrid do campo detalhe. Dessa forma, definições realizadas em um campo do tipo mestre-detalhe prevalecem sobre as definições realizadas por meio deste método.

Parameters:
Name Type Description
gridName string

Nome da grade.

func function

Função com que irá configurar a grade. No contexto desta função, this é a grade a ser configurada.

Example
this.defineGrid('Explorer', function () {
   inherited()
   this.field('iKey').visible = true;
 });

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
event module:@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

field(name [, type] [, size])

Obtém ou cria um campo na classe de dados. Este método retornará o campo existente com o nome informado ou criará um caso não exista. Nesse último caso, é obrigatório informar o tipo do campo. Além dos tipos suportados na declaração do modelo de dados (x-model), relacionados em ModelDef#field, também são suportados:

"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 DataSet associado. Nesse caso, o evento createDataSet da grade detalhe deve ser configurado e as propriedades masterFieldNames, detailFieldNames e classKey não devem ser informadas.
"tree" - Tipo utilizado para campos que conterão grades do tipo treeGrid (árvore);

Parameters:
Name Type Argument Description
name string

Nome do campo.

type string <optional>

Tipo do campo. Opcional quando for solicitado um campo existente.

size number <optional>

Tamanho do campo em caracteres. Obrigatório apenas para os tipos "string" e "password".

Overrides:
Returns:
Type
module:@nginstack/engine/lib/classdef/Field~Field

fileAttributes(vfsKey)

Informa os atributos de um determinado arquivo na tabela iVfs. Os atributos servem para informar se um arquivo será exibido, informar nome, ordem de exibição, permissão de controle e tooltip. A tabela iVfs representa o sistema de arquivos virtuais, ou seja, são arquivos que estão sendo armazenados diretamente no banco e são replicados para o cache local

Parameters:
Name Type Description
vfsKey number

Chave do arquivo.

Overrides:
Returns:

Atributos do arquivo.

Type
Object

filterListeners(filterFn [, opt_type])

Elimina os listeners que não satisfaçam a função de filtro.

Parameters:
Name Type Argument Description
filterFn function

Função que indicará quais filtros devem ser mantidos neste emitter. Deverá ser retornado true para indicar que o filtro deve ser preservado.

opt_type string <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.

Inherited From:

findField(name)

Pesquisa por um campo definido dentro da classe, caso encontre, retorna o campo encontrado.

Parameters:
Name Type Description
name string

Nome do campo.

Inherited From:
Returns:
Type
module:@nginstack/engine/lib/classdef/Field~Field

getClassDef(classKey)

Prefira usar module:@nginstack/engine/lib/classdef/ClassDefManager.getViewDef.

Parameters:
Name Type Description
classKey
Inherited From:
Deprecated:
  • Yes
Returns:
Type
ViewDef

getClassDefWithEvent(eventName [, skipCurrentClass])

Obtém a primeira definição da camada de visão na hierarquia com base no nome de um evento registrado por declareEvent. A instância resultante é encontrada a partir da instância da camada de visão ou de modelo da classe corrente. Caso não encontre, nenhuma instância é retornada.

Parameters:
Name Type Argument Description
eventName string

Nome do evento.

skipCurrentClass boolean <optional>

Escapar a classe corrente, se essa opção for true a busca pela instância irá iniciar a partir da classe pai. Em caso de não haver classe pai, a busca será iniciada pela classe Raiz.

Inherited From:
Deprecated:
  • Este método suporta apenas os eventos customizados declarados pelo método #declareEvent, não podendo ser utilizado para os eventos padrão do sistema. Seu uso não é mais recomendado, devendo o seu uso ser substituído por uma lógica customizada equivalente. Ele será eliminado no futuro.
Returns:
  • Definição da camada de visão obtida a partir de uma propriedade.

    Type
    ViewDef
  • Type
    *

getClassDefWithObjectProperty(propertyName [, skipCurrentClass])

Obtém a primeira definição da camada de visão na hierarquia com base no nome de uma propriedade da API de definição. A instância resultante é encontrada a partir da instância da camada de visão ou de modelo da classe corrente. Caso não encontre, nenhuma instância é retornada.

Parameters:
Name Type Argument Description
propertyName string

Nome da propriedade

skipCurrentClass boolean <optional>

Escapar a classe corrente, se essa opção for true a busca pela instância irá iniciar a partir da classe pai. Em caso de não haver classe pai, a busca será iniciada pela classe Raiz.

Inherited From:
Returns:

Definição da camada de visão obtida a partir de uma propriedade.

Type
ViewDef

getExtraFilterExpression()

Obtém uma expressão com os filtros extras para esta classe de dados. Os filtros extras são configurados por meio da propriedade Field#permissionFilterFieldName dos campos e possibilitam que o administrador configure permissões dos usuários levando em consideração outros campos além da classe do registro. Esse recurso é útil quando a classe do registro não é suficiente para segmentar corretamente as permissões dos usuários e outros campos, como o Estabelecimento associado ao registro, podem ser utilizados para determinar as permissões.

Inherited From:
See:
Returns:

Caso a classe tenha filtros extras configurados, será retornada uma expressão de filtro que consiste dos campos de permissões concatenados por ";". Caso o nome do campo seja diferente do campo de permissão, será utilizada a expressão "[field.name] in [field.permissionFilterFieldName]". A expressão retornada deve ser utilizada nas APIs de DataSet que filtram as permissões do usuário, como Classes#getCachedDataSet e DataSet#setView. Caso não haja filtros extras configurados, será retornada uma string vazia.

Type
string
Example
var modelDef = classDefManager.getModelDef(ClassKeys.LICENSES);
 var filteredDataSet = classes.getCachedDataSet(ClassKeys.LICENSES, session.userKey,
   modelDef.getExtraFilterExpression());

getExtraFilterFields()

Obtém os campos desta classe que foram configurados como filtro extra de permissão por meio da propriedade Field#permissionFilterFieldName.

Inherited From:
See:
Returns:

Array com os campos que possuem a propriedade Field#permissionFilterFieldName informada.

Type
Array.<module:@nginstack/engine/lib/classdef/Field~Field>
Example
var modelDef = classDefManager.getModelDef(ClassKeys.LICENSES);
 var extraFilterFields = modelDef.getExtraFilterFields().
 if (extraFilterFields.length === 0) {
   this.alert('Classe de licenças não possui campos de filtro de permissão extra.');
 }

getFieldsAsStringList()

Pega todos os campos definidos na classe e hierarquia de classes mãe. Irá obter um StringList a partir do fieldList da classe.

Inherited From:
Deprecated:
  • Mantido apenas por compatibilidade para quem ainda precisa utilizar um StringList como repositório de fields
Returns:

Objeto StringList com todos os campos definidos para a classe e com os definidos nas classes mãe

Type
module:@nginstack/engine/lib/string/StringList~StringList

getFieldsByProperty(propertyName)

Retorna uma lista de campos cuja propriedades tenham os valores informados.

Parameters:
Name Type Argument Description
propertyName * <repeatable>

Há múltiplas formas de definição dos parâmetros, veja o exemplo abaixo.

Inherited From:
Returns:

Lista de campos.

Type
Array.<module:@nginstack/engine/lib/classdef/Field~Field>
Example
//Propriedade e valor:
 //Nessa forma serão obtidos os campos que possuem as propriedades fornecidos
 //com os respectivos valores.
 getFieldsByProperty('prop', valor, 'prop2', valor2);

 //Array de propriedades e de valores:
 //Nessa forma serão fornecidos dois arrays, o primeiro array é o de propriedades
 //que se relaciona com o segundo array, que é o de valores, pelo índice.
 getFieldsByProperty(['prop', 'prop2'], [valor, valor2]);

 //Através de um callback
 //Nesta forma são obtidos os campos de acordo com a regra definida no callback.
 getFieldsByProperty(function (field) {
   return field.required === true;
 });

getKeySchema()

Estrutura de dados de uma chave do banco DBKey. Essa estrutura será utilizada nos casos em que houver a necessidade de validar dados ou tratar dados na camada de apresentação.

Inherited From:
Returns:

JSON que representa a estrutura de dados de uma DBKey, ou seja, é a representação de uma relação entre registros do banco de dados.

Type
string

getLookupDisplay(sender, value [, event])

Obtém o valor de exibição a partir de um evento onLookupDisplay anexado a um objeto disparador.

Parameters:
Name Type Argument Description
sender Object

Objeto disparador.

value *

Valor que deve ser exposto para o evento.

event module:@nginstack/engine/lib/event/Event~Event <optional>

Evento opcional que deve ser informado em substituição ao padrão onLookupDisplay.

Inherited From:
Returns:

Valor de exibição.

Type
string

getNormalizedDef(classKey)

Obtém uma instância da definição da classe de acordo com a herança que foi projetada para a hierarquia. Ou seja se o protótipo da definição da primeira classe for de modelo todas as outras instâncias de classe que forem montadas a partir da execução serão instâncias de modelo também. Caso o protótipo na hierarquia seja construído a partir da definição de visão (uwi.classdef.ViewDef) sempre será obtida uma instância de visão durante o uso deste método.

Parameters:
Name Type Description
classKey number

Chave da classe.

Inherited From:
Returns:

Definição obtida.

Type
module:@nginstack/engine/lib/classdef/ModelDef~ModelDef

hasEvent(eventName)

Determina se um evento foi declarado na definição da classe.

Parameters:
Name Type Description
eventName string

Nome do evento.

Inherited From:
Returns:

True se o evento houver sido declarado na definição de classe.

Type
boolean

hasListeners(type)

Verifica se há listeners registrados para o tipo de evento informado.

Parameters:
Name Type Description
type string| 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

hasObjectProperty(propertyName)

Determina se a definição de classe possui uma propriedade.

Parameters:
Name Type Description
propertyName string

Nome da propriedade

Inherited From:
Returns:

True se houver definição da propriedade na classe.

Type
boolean

hasObjectPropertyDeclaredInThisClass(propertyName)

Determina se uma definição de classe declarou uma determinada propriedade.

Parameters:
Name Type Description
propertyName string

Nome da propriedade.

Inherited From:
Returns:

True se a propriedade houver sido declarada na definição da classe.

Type
boolean

hasOwnFields()

Indica se há campos declarados nesta classe. Caso não haja, os campos dessa classe serão os mesmos da classe mãe.

Inherited From:
Returns:
Type
boolean

hasOwnFileAttributes()

Indica se os atributos do arquivo foram informados nesta classe.

Inherited From:
See:
Returns:

True se os atributos foram informados, false caso contrário.

Type
boolean

hideFiles(files)

Oculta os arquivos informados no menu principal.
Importante: Arquivos ocultos com o atributo permissionControlEnabled falso não serão visíveis nos processos de permissão.

Parameters:
Name Type Description
files Array.<number>

Chaves dos arquivos que serão ocultos.

Inherited From:
See:
  • ModelDef#fileAttributes

init( [opt_parentDef])

Método utilizado pelo gerenciador de classes para sinalizar que a definição deve ser inicializada. Ele é executado logo após a criação da definição.

Parameters:
Name Type Argument Description
opt_parentDef module:@nginstack/engine/lib/classdef/ClassDef~ClassDef <optional>

Definição pai da definição que está sendo criada.

Inherited From:

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
type string

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_type string <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
type string

Tipo do evento que será removido.

listener module:@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.

Type
module:@nginstack/engine/lib/event/Emitter~Emitter

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_type string <optional>

Tipo de evento que deverá ter os listeners removidos.

Inherited From:
Returns:

Esta instância de Emitter, permitindo encadeamento de chamadas.

Type
module:@nginstack/engine/lib/event/Emitter~Emitter

on(type, listener)

Registra uma função que deverá ser executada quando o evento indicado por type for emitido. Por padrão, a função será adicionada no final da fila de listeners, sendo executada após a execução dessas funções previamente registradas.

Se o listener for adicionado durante a emissão de um evento, ele será desconsiderado nesta emissão e será executado apenas nas emissões seguintes.

O comportamento deste emitter ao tentar registrar uma função de listener mais de uma vez é determinado pela propriedade #duplicationHandling.

Parameters:
Name Type Description
type string

Tipo de evento que será registrado.

listener function

Função que será executada quando ocorrer a emissão do evento.

Inherited From:
See:
Returns:

Esta instância de Emitter, permitindo encadeamento de chamadas.

Type
module:@nginstack/engine/lib/event/Emitter~Emitter
Example
modelDef.on('afterInsert', function (event) {
  event.data.setField('codigo', 'Novo cliente');
}).on('beforePost', function (event) {
  if (event.data.str('codigo').trim() == '') {
    throw new Error('O campo código é obrigató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
type string| Array.<string>

Tipo do evento a ser registrado. Também pode ser informado um array de tipos.

Inherited From:

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
type string

Tipo de evento que será registrado.

listener module:@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);
 });

resetJustToGroup()

Define justToGroup e hasOwnJustToGroup como false, implementando assim a definição padrão.

Inherited From:

setFieldsProperties()

Este método cria ou seta as propriedades informadas com os valores informados em cada campo da definido nos parâmetros. Para utilizar esse método existem diversas formas de o invocar, veja os exemplo abaixo.

Inherited From:
Example
// Array de campos com callback para setar as propriedades:
 fl.setFieldsProperties([field1, field2], function (field) {
   field.prop = valor;
   field.prop2 = valor2;
 });

 // Array com os nomes dos campos com callback para setar as propriedades:
 fl.setFieldsProperties(['campo1','campos2'], function (field) {
   field.prop = valor; field.prop2 = valor2
 });

 // String com o nomes dos campos separados por virgula ou ponto e virgula como primeiro
 // parâmetro.
 // Array com nomes das propriedades a serem definidas como segundo parâmetro.
 // Array com os valores a serem definidos nas propriedades de mesmo índice como terceiro
 // parâmetro.
 fl.setFieldsProperties('campo1,campos2', ['prop', 'prop2'], [valor, valor2]);

 // Ainda na forma anterior pode ser utilizado o caractere '*' para obter todos os campos.
 fl.setFieldsProperties('*', ['prop', 'prop2'], [valor, valor2]);

 // Lista de strings separados por vírgula ou ponto e virgula com os nomes dos campos a
 // serem alterados como primeiro parâmetro.
 // Os parâmetros seguintes são os nomes das propriedades com os valores que devem ser
 // atribuídos.
 fl.setFieldsProperties('campo1,campos2', 'prop', valor, 'prop2', valor2);

toJSONSchema()

Cria uma representação JSON desta definição do modelo.

Inherited From:
Returns:
Type
string

toString()

Retorna uma string que informa qual a chave do x-class ao qual a instância foi criada.

Overrides:
Returns:
Type
string

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
type string| Array.<string>

Tipo do evento a ser bloqueado. Também pode ser informado um array de tipos.

Inherited From:

Events


afterCancel

Evento emitido após o cancelamento de uma inserção ou edição de um registro associado a classe de dados. Seu uso é recomendado para registrar que um usuário intencionalmente cancelou uma inserção ou edição. Importante: no momento da emissão deste evento o DataSet já concluiu o cancelamento da edição ou inserção, portanto a propriedade data não terá os dados do registro cancelado.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:

afterDelete

Evento que será emitido após a exclusão de um registro associado a classe de dados. Seu uso é recomendado para realizar o registro de informações não essenciais, como logs de alterações.
Importante: este evento normalmente é emitido após a persistência das alterações no banco de dados. Visto que o sistema pode ser abruptamente interrompido, não há garantias de que ele será executado sempre que a classe de dados for alterada. Por esse motivo, não é recomendado o seu uso em regras de negócios.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:

afterDuplicate

Evento que será emitido após um registro ser duplicado. Seu uso é recomendado para realizar sugestões de valores para o registro novo, recém duplicado.

Type: module:@nginstack/web-framework/lib/classdef/GridEvent~GridEvent
Example
this.on('afterDuplicate', function (evt) {
   evt.grid.process.alert('Registro duplicado.');
 });

afterEdit

Evento emitido depois de uma edição de um registro associado a classe de dados ter sido iniciada. Seu uso é recomendado para atualizar informações que indiquem o momento ou o usuário que está realizando a modificação.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:
Example
// O exemplo abaixo pega o último horário em que o registro entrou em edição e grava
 // este valor em um campo somente leitura para o usuário
 on('afterEdit', function (evt) {
   evt.data.modificado = new Date();
   evt.data.modificador = session.userKey;
 });

afterInsert

Evento emitido após a inserção de um registro associado a classe de dados. Seu uso é recomendado para sugerir os valores dos campos do novo registro, simplificando o preenchimento dos dados para o usuário.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:

afterPersist

Evento emitido após o post e antes do afterPost, ou ainda, no caso de remoção de um registro ele deverá ser executado depois do delete e antes do afterDelete com o objetivo de fornecer a versão de alteração realizada pela persistência dos dados.

Type: AfterPersistEvent
Inherited From:
Example
var logger = Logger.getLogger('package.MyClass');
 this.on('afterPersist', function (evt) {
   logger.info('Registro ' + evt.key + ' da classe ' + evt.classKey +
       ' foi gravado com sucesso. Alteração: ' + evt.action +
       '. Versão: ' + evt.version);
 });

afterPost

Evento emitido depois da execução do método post do DataSet associado a classe de dados. Seu uso é recomendado para realizar o registro de informações não essenciais, como logs de alterações.

Este evento normalmente é emitido após a persistência das alterações no banco de dados. Visto que o sistema pode ser abruptamente interrompido, não há garantias de que ele será executado sempre que a classe de dados for alterada. Por esse motivo, não é recomendado o seu uso em regras de negócios.

Importante: durante a execução do evento "afterPost" o registro corrente do DataSet não será o registro recém confirmado se o DataSet possuir filtros e se os novos valores dos campos do registro não satisfizerem mais esses filtros. É recomendado que as informações do registro sejam coletadas antes da confirmação da edição ou inserção no evento "beforePost", caso elas sejam necessárias no evento "afterPost".

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:
Example
on('afterPost', function (evt) {
   if (evt.data.recordCount > 5) {
     logger.debug('Registrado mais de 5 registros');
   }
 })

afterScroll

Evento emitido após a navegação de um registro para um outro em uma grade associada a um DataSet. Também será emitido assim que a grade for escrita, momento em que ela se posicionar no registro corrente do DataSet.

Type: module:@nginstack/web-framework/lib/classdef/GridEvent~GridEvent

beforeCancel

Evento emitido antes de cancelar a inserção ou edição de um registro associado a classe de dados. Seu uso é recomendado para registrar que um usuário intencionalmente cancelou uma inserção ou edição, ou para realizar algum tipo de confirmação, no caso deste evento estar sendo emitido em um contexto de interface.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:

beforeDelete

Evento emitido antes da exclusão de um registro associado a classe de dados. Seu uso é recomendado para verificar regras de negócio que impeçam a remoção de um registro em uma classe de dados.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:
Example
on('beforeDelete', function (evt) {
   if (session.userKey !== Users.ADMINISTRATOR) {
     throw new Error('Apenas o usuário "administrator" pode excluir este registro.');
   }
 });

beforeDuplicate

Evento que será emitido antes de um registro seja duplicado. Seu uso é recomendado para verificar regras de negócio que indiquem se o registro pode ou não ser duplicado.

Type: module:@nginstack/web-framework/lib/classdef/GridEvent~GridEvent
Example
this.on('beforeDuplicate', function (evt) {
   evt.grid.process.alert('Duplicando registro em ' + evt.grid.name + '.');
 });

beforeEdit

Evento emitido antes da edição de um registro associado a classe de dados. Seu uso é recomendado para verificar regras de negócio que impeçam a edição de um registro da classe de dados.

Importante: no momento da emissão deste evento o DataSet ainda não encontra-se em estado de edição, portanto o registro corrente não deve ser modificado.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:

beforeInsert

Evento emitido antes da inserção de um registro associado a classe de dados. Seu uso é recomendado para verificar regras de negócio que impeçam a inserção de um novo registro em uma classe de dados.
Importante: no momento da emissão deste evento o DataSet ainda não possui dados do registro a ser inserido, portanto o registro corrente não deve ser modificado.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:

beforePersist

Evento emitido após o beforePost e antes do post, ou ainda, durante a remoção de um registro esse evento será executado depois do beforeDelete e antes do delete com intuito de fornecer os valores originais e modificados.
Caso haja uma regra configurada nesse evento o post da grade será responsável por persistir todas as informações que estejam na propriedade "transaction", que é uma instância do tipo Transaction. O intuito é armazenar datasets que devem ser persistidos junto com a alteração do registro.

Type: BeforePersistEvent
Inherited From:
Example
this.on('beforePersist', function (evt) {
  var evento = evt.transaction.getOrSet('erp.beforePersistEvent', function () {
    var evento = new DataSet();
    dbCache.copyStructure('EVENTO', evento);
    evento.create();
    return evento;
  });
  if (evt.action === ApplyUpdatesAction.UPDATE && evt.beforeValues.uf !== evt.afterValues.uf) {
    evento.append();
    // cria um registro na tabela evento com base evt.beforeValues e evt.afterValues
    evento.post();
  }
});

beforePost

Evento emitido antes da execução do método post do DataSet associado a classe de dados. Seu uso é recomendado para realizar validações se os dados do registro não ferem regras de negócio.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:
Example
// O exemplo abaixo verifica se os valores nos campos "password" e "confirmPassword"
 // são iguais, ou seja, se o usuário digitou uma senha e a confirmou corretamente,
 // em caso negativo exibe um erro, impedindo que o registro seja inserido.<br>
 // O evento recebe os seguintes parâmetros:<br>
 on('beforePost', function (evt) {
   if (evt.data.password !== evt.data.confirmPassword) {
     throw new Error('A nova senha e a confirmação são diferentes. Digite novamente a senha.');
   }
 });

beforeScroll

Evento que será emitido antes da navegação de um registro para um outro em uma grade associada a um DataSet. Também será emitido assim que a grade for escrita, momento em que ela se posicionar no registro corrente do DataSet.

Type: module:@nginstack/web-framework/lib/classdef/GridEvent~GridEvent
Example
// No exemplo abaixo é dado um alerta informando o número do registro em que
 // se estava posicionado, caso a grade não esteja vazia.<br>
 this.on('beforeScroll', function (evt) {
   if (evt.data.recNo > 0) {
     evt.process.alert('Você estava no registro: ' + evt.data.recNo);
   });
 })

changeView

Evento que será emitido quando for alterado o modo de visão da grade.
A grade poderá ter seu modo de visão alterado a partir da propriedade viewMode que irá disparar este evento, ao chamar esse evento a propriedade viewMode estará com seu valor anterior á mudança de visão.
A grade também pode ter seu modo de visão alterado quando for chamado o grid.write() que possui um parâmetro que determina em que modo será escrita a grade.

Type: module:@nginstack/web-framework/lib/classdef/GridEvent~GridEvent
Example
// No exemplo abaixo quando o modo de visão da grade é alterado são alterados
 // também os botões visíveis pois algumas delas não fazem sentido em um ou outro
 // modo de visão. Como a modificação deve ser do modo formulário para tabela e
 // vice-versa, é utilizado uma expressão condicional para analisar o valor do viewMode.<br>
 this.on('changeView', function (evt) {
   if (evt.grid.viewMode === Grid.TABLEVIEW ){
     evt.grid.visibleButtons = ['Redefinir Grade'];
   } else {
     evt.grid.visibleButtons = ['Editar', 'Recarregar grades'];
   }
 });

defineClassesGrid

Evento que permite a customização da grade de classes no processo ClassesExplorer do Admin.

Type: module:@nginstack/web-framework/lib/classdef/GridEvent~GridEvent

definePermissionsGrid

Evento que permite a customização da grade de permissões.

Type: module:@nginstack/web-framework/lib/classdef/GridEvent~GridEvent

locate

Evento que será emitido quando a grade for localizar um conteúdo.
O comportamento padrão de localização da grade poderá ser substituído fazendo uso do método ngin.event.Listener#replaceListeners.

Type: module:@nginstack/web-framework/lib/classdef/GridLocateEvent~GridLocateEvent
Example
// O exemplo abaixo personaliza a busca para permitir que sejam buscados apenas
 // números e executa o evento padrão através do "inherited".<br>
 // O evento deverá retornar um valor booleano, sendo true para indicar que localizou
 // o registro. O dataSet da grid deve ser posicionado no registro localizado.
 this.replaceListeners('locate', function (evt, replacedEmit) {
   if (typeof evt.value !== 'number') {
     replacedEmit(evt)
     if (replacedEmit.locatedField) {
       grid.process.setNextInteraction('interactionName')
     }
   } else {
     throw new Error('Não é possível localizar valores diferentes de números!')
   }
 });

lookupDisplay

Configuração padrão que será aplicada nos campos lookups para esta classe de dados que não tenham definido um tratamento específico para o evento "lookupDisplay".

O evento "lookupDisplay" é 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:
Example
this.on('lookupDisplay', function (evt) {
   evt.displayValue = DBKey.str(evt.key, 'NOME');
 });

openKey

Configuração padrão que será aplicada nos campos lookups para esta classe de dados que não tenham definido um tratamento específico para o evento "openKey".

O evento "openKey" é emitido quando o usuário deseja abrir detalhes sobre um registro de um campo lookup ou deseja uma interface mais rica para auxiliar o preenchimento do campo lookup.

Type: module:@nginstack/web-framework/lib/classdef/OpenKeyEvent~OpenKeyEvent

showLog

A grade possui o botão de "Log" que ao ser acionado exibe o histórico de alterações do registro corrente. Este evento será emitido quando esse botão for acionado.
O processo padrão de histórico de alterações da grade poderá ser substituído fazendo uso do método ngin.event.Listener#replaceListeners.

Type: module:@nginstack/web-framework/lib/classdef/GridEvent~GridEvent
Example
this.replaceListeners('showLog', function (evt) {
   evt.grid.process.setNextInteraction('run', ['chave', evt.data.ikey], -1898143458);
   evt.preventDefault();
 });

validate

Evento emitido antes da execução do método post do DataSet associado a classe de dados. Seu uso é recomendado para realizar validações se os dados do registro não ferem regras de negócio.

Type: module:@nginstack/engine/lib/classdef/DataEvent~DataEvent
Inherited From:
Deprecated:
  • Utilize o evento beforePost.