Commit 64bf4fedfc7db638d7791f34d8d129780d70bdd4

Authored by Edmar Moretti
1 parent 7b224389

Inclusão de opção para processamento em lote na ferramenta "filtro" da árvore de camadas

admin/admin.db
No preview for this file type
classesjs/classe_arvoredetemas.js
@@ -1654,6 +1654,12 @@ i3GEO.arvoreDeTemas = { @@ -1654,6 +1654,12 @@ i3GEO.arvoreDeTemas = {
1654 // 1654 //
1655 //se forem encontrados temas ativos na árvore de menus, o mapa é redesenhado com a adição de novos temas 1655 //se forem encontrados temas ativos na árvore de menus, o mapa é redesenhado com a adição de novos temas
1656 // 1656 //
  1657 + //verifica se o tema já existe no mapa
  1658 + //
  1659 + if(tsl.length === 1 && i3GEO.arvoreDeCamadas.pegaTema(tsl[0]) !== ""){
  1660 + temp = window.confirm("O tema já existe no mapa. Adiciona novamente?");
  1661 + if(!temp){return;}
  1662 + }
1657 if(tsl.length > 0){ 1663 if(tsl.length > 0){
1658 i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1")); 1664 i3GEO.janela.abreAguarde("i3GEO.atualiza",$trad("o1"));
1659 temp = function(retorno){ 1665 temp = function(retorno){
classesjs/classe_php.js
@@ -140,18 +140,21 @@ i3GEO.php = { @@ -140,18 +140,21 @@ i3GEO.php = {
140 140
141 <EXCLUITEMA> 141 <EXCLUITEMA>
142 */ 142 */
143 - excluitema: function(funcao,tema){  
144 - var layer,retorno,p; 143 + excluitema: function(funcao,temas){
  144 + var layer,retorno,p,n,i;
145 i3GEO.php.verifica(); 145 i3GEO.php.verifica();
146 retorno = function(retorno){ 146 retorno = function(retorno){
147 if(i3GEO.Interface.ATUAL === "openlayers"){ 147 if(i3GEO.Interface.ATUAL === "openlayers"){
148 - layers = i3geoOL.getLayersByName(tema);  
149 - if(layers.length > 0)  
150 - {i3geoOL.removeLayer(layers[0]);} 148 + n = temas.length;
  149 + for(i=0;i<n;i++){
  150 + layer = i3geoOL.getLayersByName(temas[i]);
  151 + if(layer.length > 0)
  152 + {i3geoOL.removeLayer(layer[0]);}
  153 + }
151 } 154 }
152 funcao.call(retorno); 155 funcao.call(retorno);
153 }; 156 };
154 - p = i3GEO.arvoreDeCamadas.LOCAPLIC+"/classesphp/mapa_controle.php?funcao=excluitema&temas="+tema+"&g_sid="+i3GEO.arvoreDeCamadas.SID; 157 + p = i3GEO.arvoreDeCamadas.LOCAPLIC+"/classesphp/mapa_controle.php?funcao=excluitema&temas="+temas+"&g_sid="+i3GEO.arvoreDeCamadas.SID;
155 cpJSON.call(p,"excluitema",retorno); 158 cpJSON.call(p,"excluitema",retorno);
156 }, 159 },
157 /* 160 /*
ferramentas/filtroarvore/index.js.php
@@ -74,15 +74,22 @@ i3GEOF.filtroarvore = { @@ -74,15 +74,22 @@ i3GEOF.filtroarvore = {
74 */ 74 */
75 html:function(){ 75 html:function(){
76 var ins = '<p class=paragrafo >Escolha o tipo de filtro ou "nenhum" para não filtrar<br><br>' + 76 var ins = '<p class=paragrafo >Escolha o tipo de filtro ou "nenhum" para não filtrar<br><br>' +
77 - '<select onchange="i3GEO.arvoreDeCamadas.ARVORE = null;i3GEO.arvoreDeCamadas.FILTRO = this.value;i3GEO.arvoreDeCamadas.atualiza(i3GEO.arvoreDeCamadas.CAMADAS,true)"><option value="">Nenhum</option>' + 77 + '<select onchange="i3GEO.arvoreDeCamadas.ARVORE = null;i3GEO.arvoreDeCamadas.FILTRO = this.value;i3GEO.arvoreDeCamadas.atualiza(i3GEO.arvoreDeCamadas.CAMADAS,true)">' +
  78 + '<option value="">Nenhum</option>' +
78 '<option value="ligados">ligados</option>' + 79 '<option value="ligados">ligados</option>' +
79 '<option value="desligados">desligados</option>' + 80 '<option value="desligados">desligados</option>' +
80 '<option value="selecionados">com seleção</option>' + 81 '<option value="selecionados">com seleção</option>' +
81 '<option value="download">permitem download</option>' + 82 '<option value="download">permitem download</option>' +
82 '<option value="wms">são do tipo WMS</option>' + 83 '<option value="wms">são do tipo WMS</option>' +
83 '<option value="raster">são do tipo raster</option>' + 84 '<option value="raster">são do tipo raster</option>' +
84 - '<option value="toponimia">contem apenas texto</option>';  
85 - return ins+"</select>"; 85 + '<option value="toponimia">contem apenas texto</option>' +
  86 + '</select><br><br>' +
  87 + 'Operação<br><br>' +
  88 + '<select onchange="i3GEOF.filtroarvore.lote(this)" >' +
  89 + '<option value="">---</option>' +
  90 + '<option value="excluir">excluir</option>' +
  91 + '</select>';
  92 + return ins;
86 }, 93 },
87 /* 94 /*
88 Function: criaJanelaFlutuante 95 Function: criaJanelaFlutuante
@@ -99,7 +106,7 @@ i3GEOF.filtroarvore = { @@ -99,7 +106,7 @@ i3GEOF.filtroarvore = {
99 titulo = "Filtro <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=1&idajuda=4' >&nbsp;&nbsp;&nbsp;</a>"; 106 titulo = "Filtro <a class=ajuda_usuario target=_blank href='" + i3GEO.configura.locaplic + "/ajuda_usuario.php?idcategoria=1&idajuda=4' >&nbsp;&nbsp;&nbsp;</a>";
100 janela = i3GEO.janela.cria( 107 janela = i3GEO.janela.cria(
101 "220px", 108 "220px",
102 - "90px", 109 + "140px",
103 "", 110 "",
104 "", 111 "",
105 "", 112 "",
@@ -117,15 +124,21 @@ i3GEOF.filtroarvore = { @@ -117,15 +124,21 @@ i3GEOF.filtroarvore = {
117 i3GEOF.filtroarvore.inicia(divid); 124 i3GEOF.filtroarvore.inicia(divid);
118 }, 125 },
119 /* 126 /*
120 - Function: executa 127 + Function: lote
121 128
122 - Altera o tamanho do mapa 129 + Executa uma operação em lote sobre as camadas mostradas no mapa
123 130
124 - Veja:  
125 -  
126 - <MUDATAMANHO>  
127 */ 131 */
128 - executa: function(){ 132 + lote: function(objeto){
  133 + var operacao = objeto.value,
  134 + lista = i3GEO.arvoreDeCamadas.listaLigadosDesligados(),
  135 + temp;
  136 + if(operacao === "excluir"){
  137 + if(window.confirm("Remove todos do mapa?")){
  138 + i3GEO.php.excluitema(i3GEO.atualiza,lista[2]);
  139 + }
  140 + }
  141 + objeto.value = "";
129 } 142 }
130 }; 143 };
131 <?php error_reporting(0);if(extension_loaded('zlib')){ob_end_flush();}?> 144 <?php error_reporting(0);if(extension_loaded('zlib')){ob_end_flush();}?>
132 \ No newline at end of file 145 \ No newline at end of file