From 24fabfacaea21282da8091343a5025c34911fa86 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Wed, 21 Nov 2012 15:39:20 +0000 Subject: [PATCH] Inclusão de opção para visualizar várias tabelas de atributos aomesmo tempo --- admin/admin.db | Bin 156672 -> 0 bytes classesphp/classe_atributos.php | 12 +++++++++--- ferramentas/graficointerativo/index.js | 2 +- ferramentas/tabela/dicionario.js | 14 +++++++++++++- ferramentas/tabela/index.js | 144 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------- 5 files changed, 152 insertions(+), 20 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index a5be670..71b2e16 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/classesphp/classe_atributos.php b/classesphp/classe_atributos.php index 154b42b..0f0bc43 100644 --- a/classesphp/classe_atributos.php +++ b/classesphp/classe_atributos.php @@ -358,10 +358,10 @@ class Atributos if ((!isset($tipolista)) || ($tipolista=="")){ $tipolista = "tudo"; } - if (!isset($inicio)){ + if (empty($inicio)){ $inicio = 0; } - if (!isset($fim)){ + if (empty($fim)){ $fim = ""; } //se tipo for igual a brasil, define a extensão geográfica total @@ -507,7 +507,12 @@ class Atributos $classe = ""; if($dadosDaClasse == "sim" && $unico != "sim"){ $indice = $this->layer->getClassIndex($shape); - $nome = $this->layer->getclass($indice)->name; + if($indice >= 0){ + $nome = $this->layer->getclass($indice)->name; + } + else{ + $nome = ""; + } $classe = array( "indice"=>$indice, "nome"=>$nome @@ -515,6 +520,7 @@ class Atributos } if(count($valitem) > 0){ $ext = $this->extensaoShape($shape); + //echo "
".$indx; $registros[] = array("indice"=>$indx,"valores"=>$valitem,"status"=>$chk,"classe"=>$classe,"ext"=>$ext); } $chk = ""; diff --git a/ferramentas/graficointerativo/index.js b/ferramentas/graficointerativo/index.js index 4f8b336..5a72e8e 100644 --- a/ferramentas/graficointerativo/index.js +++ b/ferramentas/graficointerativo/index.js @@ -316,7 +316,7 @@ i3GEOF.graficointerativo = { '

Tipo de agregação dos valores do eixo Y

' + ''+ '' + '' + diff --git a/ferramentas/tabela/dicionario.js b/ferramentas/tabela/dicionario.js index fca8c5b..477a43d 100644 --- a/ferramentas/tabela/dicionario.js +++ b/ferramentas/tabela/dicionario.js @@ -211,7 +211,19 @@ es:"", it:"" }], 36: [{ -pt:"", +pt:"abrir em uma janela separada", +en:"", +es:"", +it:"" +}], +37: [{ +pt:"Marque uma coluna para vincular com outras tabelas. Marque uma linha para localizar em todas as tabelas abertas", +en:"", +es:"", +it:"" +}], +38: [{ +pt:"Os dados utilizados referem-se apenas à região atual mostrada no mapa", en:"", es:"", it:"" diff --git a/ferramentas/tabela/index.js b/ferramentas/tabela/index.js index 721e544..a667b90 100644 --- a/ferramentas/tabela/index.js +++ b/ferramentas/tabela/index.js @@ -282,6 +282,7 @@ i3GEOF.tabela = { ins += $inputText("","","i3GEOtabelafim","",5,"20"); ins += ' '; ins += ' '; + ins += ' '+$trad(36,i3GEOF.tabela.dicionario)+''; ins += ' '; ins += '
'; ins += '
'; @@ -395,6 +396,92 @@ i3GEOF.tabela = { i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX; }, /* + Function: novaJanela + + Abre a tabela em uma nova janela que pode conviver com outras tabelas + */ + novaJanela: function(){ + if(typeof(i3GEO.vincularTabelas) === 'undefined'){ + i3GEO.vincularTabelas = {}; + i3GEO.vincularTabelas.janelas = []; + i3GEO.janela.tempoMsg($trad(37,i3GEOF.tabela.dicionario)); + } + var janela = "", + divid, + cabecalho = function(){}, + id = YAHOO.util.Dom.generateId(), + minimiza = function(){ + i3GEO.janela.minimiza(id); + }, + titulo = "   "+i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.tabela.tema).tema; + janela = i3GEO.janela.cria( + "420px", + "200px", + "", + "", + "", + titulo, + id, + false, + "hd", + cabecalho, + minimiza + ); + divid = janela[2].id; + i3GEO.vincularTabelas.janelas.push(id); + temp = function(retorno){ + i3GEOF.tabela.aguarde.visibility = "hidden"; + if (retorno.data !== undefined){ + var ins = [], + i, + vals, + cor, + j, + n, + imagem, + i3GEOtabelalegenda = true; + //cabecalho da tabela + ins = ""; + ins += ""; + n = retorno.data[0].itens.length; + for (i=0;i
"+retorno.data[0].alias[i]+""; + } + ins += "
"; + cor = "linha"; + n = retorno.data[1].registros.length; + for (i=0;i"; + ins += ""; + if(i3GEOtabelalegenda == true){ + imagem = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]]; + ins += ""; + } + else{ + ins += ""; + } + vals = retorno.data[1].registros[i].valores; + for (j=0;j"+vals[j].valor+""; + } + if (cor === "linha"){ + cor = "linha1"; + } + else{ + cor = "linha"; + } + } + $i(divid).innerHTML = ins; + } + }; + i3GEOF.tabela.pegaRegistros("brasil","tudo","sim",true,true,temp); + }, + /* Function: ativaAutoAtualiza Ativa ou desativa a atualização automática da tabela quando o usuário navega no mapa @@ -434,28 +521,55 @@ i3GEOF.tabela = { */ - pegaRegistros: function(){ + pegaRegistros: function(tiporeg,tipolista,dadosDaClasse,inicio,fim,funcao){ if(i3GEOF.tabela.aguarde.visibility === "visible") {return;} i3GEOF.tabela.aguarde.visibility = "visible"; - var tipolista = "tudo", - tiporeg = "brasil", - inicio = $i("i3GEOtabelainicio").value - 1, - fim = $i("i3GEOtabelafim").value, - p, - dadosDaClasse = "nao", + var p, cp = new cpaint(); - if ($i("i3GEOtabelatiporeg").checked){ - tiporeg = "mapa"; - i3GEO.janela.tempoMsg("Os dados utilizados referem-se apenas à região atual mostrada no mapa"); + if(!tiporeg){ + if($i("i3GEOtabelatiporeg").checked){ + tiporeg = "mapa"; + i3GEO.janela.tempoMsg($trad(38,i3GEOF.tabela.dicionario)); + } + else{ + tiporeg = "brasil"; + } + } + if(!tipolista){ + if ($i("i3GEOtabelatipolista").checked){ + tipolista = "selecionados"; + } + else{ + tipolista = "tudo"; + } + } + if(!dadosDaClasse){ + if ($i("i3GEOtabelalegenda").checked){ + dadosDaClasse = "sim"; + } + else{ + dadosDaClasse = "nao"; + } + } + if(!inicio){ + inicio = $i("i3GEOtabelainicio").value - 1; + } + else{ + inicio = ""; + } + if(!fim){ + fim = $i("i3GEOtabelafim").value - 1; + } + else{ + fim = ""; + } + if(!funcao){ + funcao = i3GEOF.tabela.montaTabela; } - if ($i("i3GEOtabelatipolista").checked) - {tipolista = "selecionados";} - if ($i("i3GEOtabelalegenda").checked) - {dadosDaClasse = "sim";} p = i3GEO.configura.locaplic+"/classesphp/mapa_controle.php?g_sid="+i3GEO.configura.sid+"&funcao=listaregistros&inicio="+inicio+"&fim="+fim+"&tema="+i3GEOF.tabela.tema+"&tipo="+tiporeg+"&tipolista="+tipolista+"&ext="+i3GEO.parametros.mapexten+"&dadosDaClasse="+dadosDaClasse; cp.set_response_type("JSON"); - cp.call(p,"listaRegistros",i3GEOF.tabela.montaTabela); + cp.call(p,"listaRegistros",funcao); }, /* Function: montaTabela -- libgit2 0.21.2
"; + if(retorno.data[1].registros[i].ext && retorno.data[1].registros[i].ext != ""){ + ins += ""; + } + ins += "