Estendendo o Explorer

Este artigo visa mostrar como estender o Explorer.ip para uso em outros processos. O Explorer é um processo utilizado para criação, exclusão e alteração dos registros de quaisquer tabelas de cadastro (filhas da classe Cadastrais) do Sistema UNUM e também pode ser estendido e customizado.

Os atributos e eventos que podem ser customizados são:

    • viewMode: Define o modo de vizualização da grade na primeira escrita. (Grid.FORMVIEW ou Grid.TABLEVIEW)

    • baseKey: Chave do registro em que a grade deve estar posicionada. (Number)

    • help: ajuda do processo. (String)

    • onDefineExplorerGrid: evento que possibilita a customização da grade de dados.

Um exemplo de um processo simples usando o Explorer:

this.baseClass = -1898187808; /* Tipos de Arquivos */

include -1898145512 /* /products/INTEQengine/Admin/Data Explorer.ip */

Podemos também usar propriedades para alterar a grade, no exemplo abaixo estamos mudando o modo de exibição:

this.baseClass = -1898187808; /* Tipos de Arquivos */

this.viewMode = Grid.FORMVIEW;

include -1898145512 /* /products/INTEQengine/Admin/Data Explorer.ip */

Pode-se fazer customizações mais específicas utilizando o evento "onDefineExplorerGrid". No exemplo abaixo iremos criar um novo filtro (extensions) para a grande principal:

this.pegaFiltroDaClasse = function() {

var filter = this.filter;

var extension = filter.field("extension").value;

if (extension) {

return "javascript:ds.ifileextensions == \"" + extension + "\"";

} else {

return "javascript:true";

}

}

this.baseClass = -1898187808; /* Tipos de Arquivos */

include -1898145512 /* /products/INTEQengine/Admin/Data Explorer.ip */

this.onDefineExplorerGrid.set(function(grid) {

var filter = grid.process.grid("filter");

filter.onDefineFields.set(function(grid) {

inherited(grid);

var fld = grid.field("extension", "string", 4);

fld.defaultValue = null;

fld.saveInputAsDefault = false;

fld.help = "Extensão do arquivo.";

fld.onAfterChange.set(function(field) {

field.parent.process.atualizaFiltroDataSet();

})

var fld = grid.field("CLASS");

});

grid.process.atualizaFiltroDataSet();

})

this.atualizaFiltroDataSet = function() {

this.dataSet.filter = this.pegaFiltroDaClasse();

}

Setar classe base

Incluir Explorer.ip

Mudar definição do Explorer.

Criando field para servir como parâmetro para o filtro

Ao mudar aplica-se o filtro ao dataset.

Atualiza o filtro depois de criar o field.

Método para mudar filtro.

Aqui cria-se o filtro para a extension usando o valor passado.

O resultado seria: