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,6 +331,13 @@ i3geoLog.show(); | ||
331 | //i3GEO.guias.ATUAL = "legenda" | 331 | //i3GEO.guias.ATUAL = "legenda" |
332 | //i3GEO.idioma.alteraDicionario("t18a","teste"); | 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 | i3GEO.barraDeBotoes.AUTOALTURA = true | 341 | i3GEO.barraDeBotoes.AUTOALTURA = true |
335 | i3GEO.barraDeBotoes.ATIVAMENUCONTEXTO = true | 342 | i3GEO.barraDeBotoes.ATIVAMENUCONTEXTO = true |
336 | i3GEO.barraDeBotoes.PERMITEFECHAR = false | 343 | i3GEO.barraDeBotoes.PERMITEFECHAR = false |
@@ -339,6 +346,7 @@ i3GEO.barraDeBotoes.COMPORTAMENTO = "laranja" | @@ -339,6 +346,7 @@ i3GEO.barraDeBotoes.COMPORTAMENTO = "laranja" | ||
339 | 346 | ||
340 | i3GEO.idioma.IDSELETOR = "seletorIdiomas" | 347 | i3GEO.idioma.IDSELETOR = "seletorIdiomas" |
341 | i3GEO.interface.ATIVAMENUCONTEXTO = true; | 348 | i3GEO.interface.ATIVAMENUCONTEXTO = true; |
349 | + | ||
342 | i3GEO.inicia(); | 350 | i3GEO.inicia(); |
343 | /* | 351 | /* |
344 | var temp = function(){alert("oi");i3GEO.atualiza();} | 352 | var temp = function(){alert("oi");i3GEO.atualiza();} |
classesjs/classe_arvoredecamadas.js
@@ -278,7 +278,7 @@ i3GEO.arvoreDeCamadas = { | @@ -278,7 +278,7 @@ i3GEO.arvoreDeCamadas = { | ||
278 | */ | 278 | */ |
279 | atualiza: function(temas){ | 279 | atualiza: function(temas){ |
280 | if(this.comparaTemas(temas,this.CAMADAS)){return;} | 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 | if(!document.getElementById(i3GEO.arvoreDeCamadas.IDHTML)){return;} | 282 | if(!document.getElementById(i3GEO.arvoreDeCamadas.IDHTML)){return;} |
283 | document.getElementById(i3GEO.arvoreDeCamadas.IDHTML).innerHTML = ""; | 283 | document.getElementById(i3GEO.arvoreDeCamadas.IDHTML).innerHTML = ""; |
284 | this.CAMADAS = temas; | 284 | this.CAMADAS = temas; |
@@ -306,21 +306,76 @@ i3GEO.arvoreDeCamadas = { | @@ -306,21 +306,76 @@ i3GEO.arvoreDeCamadas = { | ||
306 | d = {html:titulo}; | 306 | d = {html:titulo}; |
307 | tempNode = new YAHOO.widget.HTMLNode(d, root, true,true); | 307 | tempNode = new YAHOO.widget.HTMLNode(d, root, true,true); |
308 | tempNode.enableHighlight = false; | 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 | temaNode.expanded = false; | 354 | temaNode.expanded = false; |
316 | temaNode.enableHighlight = false; | 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 | document.getElementById(i3GEO.arvoreDeCamadas.IDHTML).style.textAlign="left"; | 373 | document.getElementById(i3GEO.arvoreDeCamadas.IDHTML).style.textAlign="left"; |
319 | i3GEO.arvoreDeCamadas.ARVORE.draw(); | 374 | i3GEO.arvoreDeCamadas.ARVORE.draw(); |
320 | if(i3GEO.arvoreDeCamadas.ARRASTARORDEM === true || i3GEO.arvoreDeCamadas.ARRASTARLIXEIRA === true) | 375 | if(i3GEO.arvoreDeCamadas.ARRASTARORDEM === true || i3GEO.arvoreDeCamadas.ARRASTARLIXEIRA === true) |
321 | {this.ativaDragDrop();} | 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 | try{ | 380 | try{ |
326 | if($i("i3GEOidentificalistaTemas")){ | 381 | if($i("i3GEOidentificalistaTemas")){ |
classesjs/classe_configura.js
@@ -52,6 +52,26 @@ alert(i3GEO.configura.locaplic) | @@ -52,6 +52,26 @@ alert(i3GEO.configura.locaplic) | ||
52 | */ | 52 | */ |
53 | i3GEO.configura = { | 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 | Propriedade: oMenuData | 75 | Propriedade: oMenuData |
56 | 76 | ||
57 | Itens incluídos no menu suspenso. Define os parâmetros para o gadget menu suspenso | 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