Commit 3bace88fc87fbe778b9f079c157fbfbbf497d8e8
1 parent
755a761e
Exists in
master
and in
7 other branches
Inclusão de opção para armazenar as tabelas abertas ao salvar um mapa
Showing
6 changed files
with
74 additions
and
6 deletions
Show diff stats
admin/php/mapas.php
... | ... | @@ -174,7 +174,7 @@ switch (strtoupper($funcao)) |
174 | 174 | break; |
175 | 175 | } |
176 | 176 | function salvaMapfile(){ |
177 | - global $esquemaadmin,$nome_mapa,$arqmapfile,$url,$id_mapa,$preferenciasbase64,$geometriasbase64,$graficosbase64,$ext; | |
177 | + global $esquemaadmin,$nome_mapa,$arqmapfile,$url,$id_mapa,$preferenciasbase64,$geometriasbase64,$graficosbase64,$tabelasbase64,$ext; | |
178 | 178 | //as preferencias sao criadas via javascript e guardadas junto com o mapa |
179 | 179 | try{ |
180 | 180 | // |
... | ... | @@ -186,10 +186,11 @@ function salvaMapfile(){ |
186 | 186 | //o parser para reconstruir os valores e feito em javascript, no cliente |
187 | 187 | // |
188 | 188 | $customizacoesinit = array(); |
189 | - if(isset($preferenciasbase64) || isset($geometriasbase64) || isset($graficosbase64)){ | |
189 | + if(isset($preferenciasbase64) || isset($geometriasbase64) || isset($graficosbase64) || isset($tabelasbase64)){ | |
190 | 190 | $customizacoesinit[] = '"preferenciasbase64":"'.$preferenciasbase64.'"'; |
191 | 191 | $customizacoesinit[] = '"geometriasbase64":"'.$geometriasbase64.'"'; |
192 | 192 | $customizacoesinit[] = '"graficosbase64":"'.$graficosbase64.'"'; |
193 | + $customizacoesinit[] = '"tabelasbase64":"'.$tabelasbase64.'"'; | |
193 | 194 | $m = ms_newMapObj($arqmapfile); |
194 | 195 | $m->setmetadata("CUSTOMIZACOESINIT",'{'.implode(",",$customizacoesinit).'}'); |
195 | 196 | $m->save($arqmapfile); | ... | ... |
classesjs/classe_i3geo.js
... | ... | @@ -512,6 +512,11 @@ var i3GEO = { |
512 | 512 | && preferencias.graficosbase64 != "") { |
513 | 513 | i3GEO.mapa.restauraGraficos(preferencias.graficosbase64); |
514 | 514 | } |
515 | + // recupera as tabelas | |
516 | + if (preferencias.tabelasbase64 | |
517 | + && preferencias.tabelasbase64 != "") { | |
518 | + i3GEO.mapa.restauraTabelas(preferencias.tabelasbase64); | |
519 | + } | |
515 | 520 | } |
516 | 521 | } else { |
517 | 522 | alert("Erro. Impossivel criar o mapa " | ... | ... |
classesjs/classe_mapa.js
... | ... | @@ -432,6 +432,24 @@ i3GEO.mapa = |
432 | 432 | true); |
433 | 433 | } |
434 | 434 | }, |
435 | + /** | |
436 | + * Function: restauraTabelas | |
437 | + * | |
438 | + * Descompacta tabelas salvos no mapa atual | |
439 | + */ | |
440 | + restauraTabelas : function(tabelas) { | |
441 | + // carrega o script do editor vetorial | |
442 | + if (graficos.length > 0) { | |
443 | + var inicia = function() { | |
444 | + i3GEOF.tabela.restauraTabelas(tabelas); | |
445 | + }; | |
446 | + i3GEO.util.scriptTag( | |
447 | + i3GEO.configura.locaplic + "/ferramentas/tabela/dependencias.php", | |
448 | + inicia, | |
449 | + "tabela", | |
450 | + true); | |
451 | + } | |
452 | + }, | |
435 | 453 | // |
436 | 454 | // aplica as preferencias armazenadas localmente ou vindas de um mapa salvo no banco de dados |
437 | 455 | // | ... | ... |
classesjs/classe_php.js
... | ... | @@ -1599,7 +1599,7 @@ i3GEO.php = |
1599 | 1599 | * |
1600 | 1600 | * Salva o mapfile atual no banco de dados de administracao |
1601 | 1601 | */ |
1602 | - salvaMapaBanco : function(funcao, titulo, id_mapa, preferencias, geometrias, graficos) { | |
1602 | + salvaMapaBanco : function(funcao, titulo, id_mapa, preferencias, geometrias, graficos, tabelas) { | |
1603 | 1603 | // pega as preferencias do usuario tambem |
1604 | 1604 | if (preferencias) { |
1605 | 1605 | try { |
... | ... | @@ -1636,7 +1636,19 @@ i3GEO.php = |
1636 | 1636 | } else { |
1637 | 1637 | graficos = ""; |
1638 | 1638 | } |
1639 | - | |
1639 | + // pega as ferramentas do tipo tabela | |
1640 | + if (tabelas && i3GEOF && i3GEOF.tabela) { | |
1641 | + try { | |
1642 | + tabelas = i3GEOF.tabela.compactaConfig(); | |
1643 | + if (!tabelas) { | |
1644 | + tabelas = ""; | |
1645 | + } | |
1646 | + } catch (e) { | |
1647 | + tabelas = ""; | |
1648 | + } | |
1649 | + } else { | |
1650 | + tabelas = ""; | |
1651 | + } | |
1640 | 1652 | var url = (window.location.href.split("?")[0]), p = i3GEO.configura.locaplic + "/admin/php/mapas.php?"; |
1641 | 1653 | par = |
1642 | 1654 | "funcao=salvaMapfile" + "&url=" + url.replace("#", "") + "&arqmapfile=" + i3GEO.parametros.mapfile + "&nome_mapa=" + titulo |
... | ... | @@ -1646,7 +1658,7 @@ i3GEO.php = |
1646 | 1658 | cp.set_transfer_mode('POST'); |
1647 | 1659 | cp.set_response_type("JSON"); |
1648 | 1660 | cp.call(p + par, "foo", funcao, "&preferenciasbase64=" + preferencias + "&geometriasbase64=" + geometrias + "&graficosbase64=" |
1649 | - + graficos); | |
1661 | + + graficos + "&tabelasbase64=" + tabelas); | |
1650 | 1662 | }, |
1651 | 1663 | /** |
1652 | 1664 | * Function: marcadores2shp | ... | ... |
ferramentas/graficointerativo1/index.js
... | ... | @@ -715,6 +715,7 @@ i3GEOF.graficointerativo1 = |
715 | 715 | if (!i3GEO.Interface || !$i(idjanela + "i3GEOgraficointerativo1ComboTemas")) { |
716 | 716 | return; |
717 | 717 | } |
718 | + //TODO permitir listar nao ligados | |
718 | 719 | i3GEO.util.comboTemas(idjanela + "i3GEOgraficointerativo1ComboTemasId", function(retorno) { |
719 | 720 | $i(idjanela + "i3GEOgraficointerativo1ComboTemas").innerHTML = retorno.dados; |
720 | 721 | $i(idjanela + "i3GEOgraficointerativo1ComboTemas").style.display = "block"; | ... | ... |
ferramentas/tabela/index.js
... | ... | @@ -317,6 +317,7 @@ i3GEOF.tabela = |
317 | 317 | }; |
318 | 318 | YAHOO.util.Event.addListener(janela[0].close, "click", temp); |
319 | 319 | }, |
320 | + //TODO listar mesmo os deligados | |
320 | 321 | atualizaCombosCabecalhos : function() { |
321 | 322 | var i, id, n = i3GEOF.tabela.janelas.length; |
322 | 323 | for (i = 0; i < n; i++) { |
... | ... | @@ -328,6 +329,36 @@ i3GEOF.tabela = |
328 | 329 | "ligadosComTabela"); |
329 | 330 | } |
330 | 331 | }, |
332 | + /** | |
333 | + * Obtem os parametros de cada janela e converte em base64. Cada janela e inserida como um item em um objeto A compactacao e | |
334 | + * utilizada para salvar as configuracoes no mapfile atual | |
335 | + */ | |
336 | + compactaConfig : function() { | |
337 | + var c, g, par, janelas, i, n, novoid; | |
338 | + par = []; | |
339 | + janelas = i3GEOF.tabela.janelas; | |
340 | + n = janelas.length; | |
341 | + //TODO retornaConfig nao existe | |
342 | + for (i = 0; i < n; i++) { | |
343 | + novoid = window.prompt($trad('idDaTabela',i3GEOF.tabela.dicionario),janelas[i]); | |
344 | + c = i3GEOF.tabela.retornaConfig(janelas[i],novoid); | |
345 | + par.push(c); | |
346 | + } | |
347 | + g = YAHOO.lang.JSON.stringify(par); | |
348 | + return i3GEO.util.base64encode(g); | |
349 | + }, | |
350 | + restauraTabelas : function(par) { | |
351 | + //TODO LISTAREGATIVO nao existe | |
352 | + i3GEOF.tabela.LISTAREGATIVO = false; | |
353 | + var n, i; | |
354 | + par = i3GEO.util.base64decode(par); | |
355 | + //alert(par) | |
356 | + par = YAHOO.lang.JSON.parse(par); | |
357 | + n = par.length; | |
358 | + for (i = 0; i < n; i++) { | |
359 | + i3GEOF.tabela.iniciaJanelaFlutuante(par[i]); | |
360 | + } | |
361 | + }, | |
331 | 362 | /* |
332 | 363 | * Function: ativaFoco |
333 | 364 | * |
... | ... | @@ -1080,4 +1111,4 @@ i3GEOF.tabela = |
1080 | 1111 | i3GEO.janela.tempoMsg(e); |
1081 | 1112 | } |
1082 | 1113 | } |
1083 | - }; | |
1114 | + }; | |
1084 | 1115 | \ No newline at end of file | ... | ... |