Commit fd96777ce677df307b23d177b8feb52609e680e0
1 parent
48c1aee0
Exists in
master
and in
7 other branches
Inclusão de mecanismo para agrupamento de temas na árvore de camadas #208
Showing
4 changed files
with
91 additions
and
8 deletions
Show diff stats
aplicmap/geral.htm
| ... | ... | @@ -331,6 +331,13 @@ i3geoLog.show(); |
| 331 | 331 | //i3GEO.guias.ATUAL = "legenda" |
| 332 | 332 | //i3GEO.idioma.alteraDicionario("t18a","teste"); |
| 333 | 333 | |
| 334 | +/* | |
| 335 | +i3GEO.configura.grupoLayers = [ | |
| 336 | + {nome:"Grupo 1",layers:["zee","estadosl"]}, | |
| 337 | + {nome:"Grupo 2",layers:["mundo"]} | |
| 338 | +] | |
| 339 | +*/ | |
| 340 | + | |
| 334 | 341 | i3GEO.barraDeBotoes.AUTOALTURA = true |
| 335 | 342 | i3GEO.barraDeBotoes.ATIVAMENUCONTEXTO = true |
| 336 | 343 | i3GEO.barraDeBotoes.PERMITEFECHAR = false |
| ... | ... | @@ -339,6 +346,7 @@ i3GEO.barraDeBotoes.COMPORTAMENTO = "laranja" |
| 339 | 346 | |
| 340 | 347 | i3GEO.idioma.IDSELETOR = "seletorIdiomas" |
| 341 | 348 | i3GEO.interface.ATIVAMENUCONTEXTO = true; |
| 349 | + | |
| 342 | 350 | i3GEO.inicia(); |
| 343 | 351 | /* |
| 344 | 352 | var temp = function(){alert("oi");i3GEO.atualiza();} | ... | ... |
classesjs/classe_arvoredecamadas.js
| ... | ... | @@ -278,7 +278,7 @@ i3GEO.arvoreDeCamadas = { |
| 278 | 278 | */ |
| 279 | 279 | atualiza: function(temas){ |
| 280 | 280 | if(this.comparaTemas(temas,this.CAMADAS)){return;} |
| 281 | - var currentIconMode,newVal,root,tempNode,titulo,d,c,ltema,temaNode,i,j; | |
| 281 | + var currentIconMode,newVal,root,tempNode,titulo,d,c,ltema,temaNode,i,j,n,nk,k,incluidos=[]; | |
| 282 | 282 | if(!document.getElementById(i3GEO.arvoreDeCamadas.IDHTML)){return;} |
| 283 | 283 | document.getElementById(i3GEO.arvoreDeCamadas.IDHTML).innerHTML = ""; |
| 284 | 284 | this.CAMADAS = temas; |
| ... | ... | @@ -306,21 +306,76 @@ i3GEO.arvoreDeCamadas = { |
| 306 | 306 | d = {html:titulo}; |
| 307 | 307 | tempNode = new YAHOO.widget.HTMLNode(d, root, true,true); |
| 308 | 308 | tempNode.enableHighlight = false; |
| 309 | - c = temas.length; | |
| 310 | - for (i=0, j=c; i<j; i++){ | |
| 311 | - ltema = temas[i]; | |
| 312 | - d = {html:i3GEO.arvoreDeCamadas.montaTextoTema(ltema),id:temas[i].name,tipo:"tema"}; | |
| 313 | - temaNode = new YAHOO.widget.HTMLNode(d, tempNode, i3GEO.arvoreDeCamadas.EXPANDIDA,true); | |
| 314 | - temaNode.setDynamicLoad(i3GEO.arvoreDeCamadas.montaOpcoes, currentIconMode); | |
| 309 | + // | |
| 310 | + //monta a árvore. | |
| 311 | + //se i3GEO.configura.grupoLayers estiver definido | |
| 312 | + //o processo é diferenciado | |
| 313 | + // | |
| 314 | + if (i3GEO.configura.grupoLayers === ""){ | |
| 315 | + c = temas.length; | |
| 316 | + for (i=0, j=c; i<j; i++){ | |
| 317 | + ltema = temas[i]; | |
| 318 | + d = {html:i3GEO.arvoreDeCamadas.montaTextoTema(ltema),id:ltema.name,tipo:"tema"}; | |
| 319 | + temaNode = new YAHOO.widget.HTMLNode(d, tempNode, i3GEO.arvoreDeCamadas.EXPANDIDA,true); | |
| 320 | + temaNode.setDynamicLoad(i3GEO.arvoreDeCamadas.montaOpcoes, currentIconMode); | |
| 321 | + temaNode.expanded = false; | |
| 322 | + temaNode.enableHighlight = false; | |
| 323 | + } | |
| 324 | + } | |
| 325 | + else{ | |
| 326 | + nk = temas.length; | |
| 327 | + c = i3GEO.configura.grupoLayers.length; | |
| 328 | + //grupos | |
| 329 | + for(i=0;i<c; i++){ | |
| 330 | + d = {html:"<b>"+i3GEO.configura.grupoLayers[i].nome+"</b>"}; | |
| 331 | + temaNode = new YAHOO.widget.HTMLNode(d, tempNode, false,true); | |
| 332 | + temaNode.expanded = false; | |
| 333 | + temaNode.enableHighlight = false; | |
| 334 | + n = i3GEO.configura.grupoLayers[i].layers.length; | |
| 335 | + //layers de um grupo | |
| 336 | + for(j=0;j<n; j++){ | |
| 337 | + //busca na lista de temas | |
| 338 | + for(k=0;k<nk; k++){ | |
| 339 | + ltema = temas[k]; | |
| 340 | + if(ltema.name === i3GEO.configura.grupoLayers[i].layers[j]){ | |
| 341 | + d = {html:i3GEO.arvoreDeCamadas.montaTextoTema(ltema),id:ltema.name,tipo:"tema"}; | |
| 342 | + temaNode = new YAHOO.widget.HTMLNode(d, tempNode, i3GEO.arvoreDeCamadas.EXPANDIDA,true); | |
| 343 | + temaNode.setDynamicLoad(i3GEO.arvoreDeCamadas.montaOpcoes, currentIconMode); | |
| 344 | + temaNode.expanded = false; | |
| 345 | + temaNode.enableHighlight = false; | |
| 346 | + incluidos.push(ltema.name); | |
| 347 | + } | |
| 348 | + } | |
| 349 | + } | |
| 350 | + } | |
| 351 | + //inclui os temas não agrupados | |
| 352 | + d = {html:"<b>Outros</b>"}; | |
| 353 | + temaNode = new YAHOO.widget.HTMLNode(d, tempNode, false,true); | |
| 315 | 354 | temaNode.expanded = false; |
| 316 | 355 | temaNode.enableHighlight = false; |
| 356 | + c = incluidos.length; | |
| 357 | + for(k=0;k<nk; k++){ | |
| 358 | + ltema = temas[k]; | |
| 359 | + n = false; | |
| 360 | + for(j=0;j<c; j++){ | |
| 361 | + if(incluidos[j] === ltema.name) | |
| 362 | + {n = true;} | |
| 363 | + } | |
| 364 | + if (n === false){ | |
| 365 | + d = {html:i3GEO.arvoreDeCamadas.montaTextoTema(ltema),id:ltema.name,tipo:"tema"}; | |
| 366 | + temaNode = new YAHOO.widget.HTMLNode(d, tempNode, i3GEO.arvoreDeCamadas.EXPANDIDA,true); | |
| 367 | + temaNode.setDynamicLoad(i3GEO.arvoreDeCamadas.montaOpcoes, currentIconMode); | |
| 368 | + temaNode.expanded = false; | |
| 369 | + temaNode.enableHighlight = false; | |
| 370 | + } | |
| 371 | + } | |
| 317 | 372 | } |
| 318 | 373 | document.getElementById(i3GEO.arvoreDeCamadas.IDHTML).style.textAlign="left"; |
| 319 | 374 | i3GEO.arvoreDeCamadas.ARVORE.draw(); |
| 320 | 375 | if(i3GEO.arvoreDeCamadas.ARRASTARORDEM === true || i3GEO.arvoreDeCamadas.ARRASTARLIXEIRA === true) |
| 321 | 376 | {this.ativaDragDrop();} |
| 322 | 377 | // |
| 323 | - //verifica se a janela a ferramenta identifica está ativa para atualizar a lista de temas | |
| 378 | + //verifica se a ferramenta identifica está ativa para atualizar a lista de temas | |
| 324 | 379 | // |
| 325 | 380 | try{ |
| 326 | 381 | if($i("i3GEOidentificalistaTemas")){ | ... | ... |
classesjs/classe_configura.js
| ... | ... | @@ -52,6 +52,26 @@ alert(i3GEO.configura.locaplic) |
| 52 | 52 | */ |
| 53 | 53 | i3GEO.configura = { |
| 54 | 54 | /* |
| 55 | + Propriedade: grupoLayers | |
| 56 | + | |
| 57 | + Lista de grupos e seus respectivos layers, para montagem da árvore de camadas. | |
| 58 | + | |
| 59 | + Se essa propriedade estiver definida, as camadas serão agrupadas na árvore de camadas conforme os grupos definidos. | |
| 60 | + | |
| 61 | + Por exemplo | |
| 62 | + i3GEO.configura.grupoLayers = [ | |
| 63 | + {nome:"Grupo 1",layers:["zee","estadosl"]}, | |
| 64 | + {nome:"Grupo 2",layers:["mundo"]} | |
| 65 | + ] | |
| 66 | + | |
| 67 | + Type: | |
| 68 | + {JASON} | |
| 69 | + | |
| 70 | + Default: | |
| 71 | + "" | |
| 72 | + */ | |
| 73 | + grupoLayers: "", | |
| 74 | + /* | |
| 55 | 75 | Propriedade: oMenuData |
| 56 | 76 | |
| 57 | 77 | Itens incluídos no menu suspenso. Define os parâmetros para o gadget menu suspenso | ... | ... |
menutemas/admin.db
No preview for this file type