/**
* Title: Árvore de temas
*
* Monta a árvore com os temas disponíveis para ser adicionados ao
* mapa
*
* Namespace:
*
* i3GEO.arvoreDeTemas
*
*
*/
if (typeof (i3GEO) === 'undefined') {
var i3GEO = {};
}
i3GEO.arvoreDeTemas = {
/**
* Propriedade: IDSMENUS
*
* Array com a lista de ids de menus cadastrados que serão
* considerados na montagem da árvore. Por default é vazio, o
* que significa que todos os menus serao considerados.
*
* Tipo:
*
* {Array}
*
* Default:
* []
*/
IDSMENUS : [],
/**
* Function: buscaTema2
*
* Procura temas na arvore de temas (a busca e feita no servidor e nao na
* arvore atual).
*
* Parametro:
*
* {String}
*/
buscaTema2 : function(palavra) {
if (palavra === "") {
return;
}
if (typeof (console) !== 'undefined')
console.info("i3GEO.arvoreDeTemas.buscaTema()");
var busca, root, nodePalavra = "";
resultadoProcurar = function(retorno) {
var ig, montaTexto = function(ngSgrupo) {
var tempn, ngTema, tempng, mostra, d, lk = "", st, sg;
tempn = ngSgrupo.length;
for (sg = 0; sg < tempn; sg += 1) {
ngTema = ngSgrupo[sg].temas;
tempng = ngTema.length;
for (st = 0; st < tempng; st += 1) {
mostra = true;
try {
if (i3GEO.arvoreDeTemas.FILTRADOWNLOAD
&& ngTema[st].download === "nao") {
mostra = false;
}
if (i3GEO.arvoreDeTemas.FILTRAOGC
&& ngTema[st].ogc === "nao") {
mostra = false;
}
} catch (e) {
if (typeof (console) !== 'undefined')
console.error(e.message)
}
if (mostra) {
d = i3GEO.arvoreDeTemas.montaTextoTema("gray",
ngTema[st]);
if (ngTema[st].link !== " ") {
lk = " fonte";
}
if (ngSgrupo[sg].subgrupo) {
d += "
("
+ (ngSgrupo[sg].subgrupo) + ") " + lk
+ "
";
} else {
d += "
("
+ (ngSgrupo[sg].grupo) + ")" + lk
+ "
";
}
//aqui vai a saida. antes era arvore
}
conta += 1;
}
}
};
};
//
// funcao que sera executada para buscar os temas
//
busca = function() {
i3GEO.php.procurartemas2(resultadoProcurar, i3GEO.util
.removeAcentos(palavra));
};
},
/**
* Function: comboMenus
*
* Busca a lista de menus existentes no i3geo e monta um combo com o
* resultado.
*
* Ao escolher uma opcao do combo, a funcao de retorno recebera como
* parametro o id do menu.
*
* Parametros:
*
* {String} - endereco do i3geo
*
* {String} - nome da funcao que sera executada quando o usuario escolhe um
* grupo
*
* {String} - id do elemento HTML que recebera o combo
*
* {String} - id do combo que sera criado
*
* {inteiro} - largura em pixels do combo
*
* {inteiro} - altura do combo em linhas
*/
comboMenus : function(locaplic, funcaoOnchange, idDestino, idCombo,
largura, altura) {
if (typeof (console) !== 'undefined')
console.info("i3GEO.arvoreDeTemas.comboMenus()");
i3GEO.configura.locaplic = locaplic;
var combo = function(retorno) {
var ob, ins, ig;
ob = retorno.data;
ins = "";
return retorno.data;
};
i3GEO.php.pegalistademenus(combo);
},
/**
* Function: comboGruposMenu
*
* Busca a lista de grupos existentes no menu de temas do i3geo e monta um
* combo com o resultado.
*
* Ao escolher uma opcao do combo, a funcao de retorno recebera como
* parametro o id do grupo.
*
* Parametros:
*
* {String} - endereco do i3geo
*
* {String} - nome da funcao que sera executada quando o usuario escolhe um
* grupo
*
* {String} - id do elemento HTML que recebera o combo
*
* {String} - id do combo que sera criado
*
* {inteiro} - largura em pixels do combo
*
* {inteiro} - altura do combo em linhas
*
* {inteiro} - id do menu que sera utilizado para obter os dados
*/
comboGruposMenu : function(locaplic, funcaoOnchange, idDestino, idCombo,
largura, altura, id_menu) {
if (typeof (console) !== 'undefined')
console.info("i3GEO.arvoreDeTemas.comboGruposMenu()");
i3GEO.configura.locaplic = locaplic;
i3GEO.arvoreDeTemas.temasRaizGrupos = [];
var combo = function(retorno) {
var ins, ig, obGrupos = retorno.data;
ins = "";
};
i3GEO.php.pegalistadegrupos(combo, id_menu, "nao");
},
/**
* Function: comboSubGruposMenu
*
* Monta um combo com a lista de subgrupos de um grupo do menu de temas do
* i3geo.
*
* Ao escolher um subgrupo, a funcao de retorno recebera o id do grupo e o
* id do subgrupo.
*
* Parametros:
*
* {String} - endereco do i3geo
*
* {String} - nome da funcao que sera executada quando o usuario escolhe um
* grupo
*
* {String} - id do elemento HTML que recebera o combo
*
* {String} - id do combo que sera criado
*
* {String} - identificador do grupo que sera pesquisado
*
* {inteiro} - largura em pixels do combo
*
* {inteiro} - altura do combo em linhas
*/
comboSubGruposMenu : function(locaplic, funcaoOnchange, idDestino, idCombo,
idGrupo, largura, altura) {
if (typeof (console) !== 'undefined')
console.info("i3GEO.arvoreDeTemas.comboSubGruposMenu()");
if (idGrupo !== "") {
var combo = function(retorno) {
var ins, sg, ig;
ins = "";
};
i3GEO.php.pegalistadeSubgrupos(combo, "", idGrupo);
}
},
/**
* Function: comboTemasMenu
*
* Monta um combo com a lista de temas do i3geo.
*
* Parametros:
*
* {string} - endereco do i3geo
*
* {string} - nome da funcao que sera executada quando o usuario escolhe um
* grupo
*
* {string} - id do elemento HTML que recebera o combo
*
* {string} - id do combo que sera criado
*
* {string} - identificador do grupo que sera pesquisado
*
* {string} - id do subgrupo
*
* {inteiro} - largura em pixels do combo
*
* {inteiro} - altura do combo em linhas
*
* {string} - id do menu escolhido
*
* {objeto} - (opcional) objeto contendo a lista de temas
*/
comboTemasMenu : function(locaplic, funcaoOnchange, idDestino, idCombo,
idGrupo, idSubGrupo, largura, altura, id_menu, temas) {
if (typeof (console) !== 'undefined')
console.info("i3GEO.arvoreDeTemas.comboTemasMenu()");
var combo = function(retorno) {
var ins, sg, ig;
if (idSubGrupo != "") {
ins = "