Commit 24fabfacaea21282da8091343a5025c34911fa86

Authored by Edmar Moretti
1 parent 71b56833

Inclusão de opção para visualizar várias tabelas de atributos aomesmo tempo

admin/admin.db
No preview for this file type
classesphp/classe_atributos.php
@@ -358,10 +358,10 @@ class Atributos @@ -358,10 +358,10 @@ class Atributos
358 if ((!isset($tipolista)) || ($tipolista=="")){ 358 if ((!isset($tipolista)) || ($tipolista=="")){
359 $tipolista = "tudo"; 359 $tipolista = "tudo";
360 } 360 }
361 - if (!isset($inicio)){ 361 + if (empty($inicio)){
362 $inicio = 0; 362 $inicio = 0;
363 } 363 }
364 - if (!isset($fim)){ 364 + if (empty($fim)){
365 $fim = ""; 365 $fim = "";
366 } 366 }
367 //se tipo for igual a brasil, define a extensão geográfica total 367 //se tipo for igual a brasil, define a extensão geográfica total
@@ -507,7 +507,12 @@ class Atributos @@ -507,7 +507,12 @@ class Atributos
507 $classe = ""; 507 $classe = "";
508 if($dadosDaClasse == "sim" && $unico != "sim"){ 508 if($dadosDaClasse == "sim" && $unico != "sim"){
509 $indice = $this->layer->getClassIndex($shape); 509 $indice = $this->layer->getClassIndex($shape);
510 - $nome = $this->layer->getclass($indice)->name; 510 + if($indice >= 0){
  511 + $nome = $this->layer->getclass($indice)->name;
  512 + }
  513 + else{
  514 + $nome = "";
  515 + }
511 $classe = array( 516 $classe = array(
512 "indice"=>$indice, 517 "indice"=>$indice,
513 "nome"=>$nome 518 "nome"=>$nome
@@ -515,6 +520,7 @@ class Atributos @@ -515,6 +520,7 @@ class Atributos
515 } 520 }
516 if(count($valitem) > 0){ 521 if(count($valitem) > 0){
517 $ext = $this->extensaoShape($shape); 522 $ext = $this->extensaoShape($shape);
  523 + //echo "<br>".$indx;
518 $registros[] = array("indice"=>$indx,"valores"=>$valitem,"status"=>$chk,"classe"=>$classe,"ext"=>$ext); 524 $registros[] = array("indice"=>$indx,"valores"=>$valitem,"status"=>$chk,"classe"=>$classe,"ext"=>$ext);
519 } 525 }
520 $chk = ""; 526 $chk = "";
ferramentas/graficointerativo/index.js
@@ -316,7 +316,7 @@ i3GEOF.graficointerativo = { @@ -316,7 +316,7 @@ i3GEOF.graficointerativo = {
316 ' <p class=paragrafo ><select onchange="i3GEOF.graficointerativo.obterDados()" id="i3GEOgraficointerativoTipoAgregacao" ><option value="soma">Soma</option><option value="media">M&eacute;dia</option></select> Tipo de agrega&ccedil;&atilde;o dos valores do eixo Y</p>' + 316 ' <p class=paragrafo ><select onchange="i3GEOF.graficointerativo.obterDados()" id="i3GEOgraficointerativoTipoAgregacao" ><option value="soma">Soma</option><option value="media">M&eacute;dia</option></select> Tipo de agrega&ccedil;&atilde;o dos valores do eixo Y</p>' +
317 '</div>'+ 317 '</div>'+
318 '<div class=guiaobj id="i3GEOgraficointerativoguia4obj" style="left:1px;display:none;top:-10px">' + 318 '<div class=guiaobj id="i3GEOgraficointerativoguia4obj" style="left:1px;display:none;top:-10px">' +
319 - '<a href="#" onclick="i3GEOF.graficointerativo.novaJanela()" >abrir em uma janela separada</a>' + 319 + ' <a href="#" onclick="i3GEOF.graficointerativo.novaJanela()" >abrir em uma janela separada</a>' +
320 '</div>' + 320 '</div>' +
321 '<div class=guiaobj id="i3GEOgraficointerativoguia5obj" style="font-size:10px;left:10px;display:none;top:-0px">' + 321 '<div class=guiaobj id="i3GEOgraficointerativoguia5obj" style="font-size:10px;left:10px;display:none;top:-0px">' +
322 '</div>' + 322 '</div>' +
ferramentas/tabela/dicionario.js
@@ -211,7 +211,19 @@ es:&quot;&quot;, @@ -211,7 +211,19 @@ es:&quot;&quot;,
211 it:"" 211 it:""
212 }], 212 }],
213 36: [{ 213 36: [{
214 -pt:"", 214 +pt:"abrir em uma janela separada",
  215 +en:"",
  216 +es:"",
  217 +it:""
  218 +}],
  219 +37: [{
  220 +pt:"Marque uma coluna para vincular com outras tabelas. Marque uma linha para localizar em todas as tabelas abertas",
  221 +en:"",
  222 +es:"",
  223 +it:""
  224 +}],
  225 +38: [{
  226 +pt:"Os dados utilizados referem-se apenas &agrave; regi&atilde;o atual mostrada no mapa",
215 en:"", 227 en:"",
216 es:"", 228 es:"",
217 it:"" 229 it:""
ferramentas/tabela/index.js
@@ -282,6 +282,7 @@ i3GEOF.tabela = { @@ -282,6 +282,7 @@ i3GEOF.tabela = {
282 ins += $inputText("","","i3GEOtabelafim","",5,"20"); 282 ins += $inputText("","","i3GEOtabelafim","",5,"20");
283 ins += ' <img style=cursor:pointer onclick="i3GEOF.tabela.mais()" src="'+i3GEO.configura.locaplic+'/imagens/plus.gif" />'; 283 ins += ' <img style=cursor:pointer onclick="i3GEOF.tabela.mais()" src="'+i3GEO.configura.locaplic+'/imagens/plus.gif" />';
284 ins += ' <input title="'+$trad(18,i3GEOF.tabela.dicionario)+'" id=i3GEOtabelabotaoLista size=25 type=button value="'+$trad(19,i3GEOF.tabela.dicionario)+'"/>'; 284 ins += ' <input title="'+$trad(18,i3GEOF.tabela.dicionario)+'" id=i3GEOtabelabotaoLista size=25 type=button value="'+$trad(19,i3GEOF.tabela.dicionario)+'"/>';
  285 + ins += ' <a href="#" onclick="i3GEOF.tabela.novaJanela()" >'+$trad(36,i3GEOF.tabela.dicionario)+'</a>';
285 ins += ' </div>'; 286 ins += ' </div>';
286 ins += ' <div id=i3GEOtabelaregistros style="position:relative;top:20px;left:0px;text-align:left;">'; 287 ins += ' <div id=i3GEOtabelaregistros style="position:relative;top:20px;left:0px;text-align:left;">';
287 ins += ' </div>'; 288 ins += ' </div>';
@@ -395,6 +396,92 @@ i3GEOF.tabela = { @@ -395,6 +396,92 @@ i3GEOF.tabela = {
395 i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX; 396 i.zIndex = 21000 + i3GEO.janela.ULTIMOZINDEX;
396 }, 397 },
397 /* 398 /*
  399 + Function: novaJanela
  400 +
  401 + Abre a tabela em uma nova janela que pode conviver com outras tabelas
  402 + */
  403 + novaJanela: function(){
  404 + if(typeof(i3GEO.vincularTabelas) === 'undefined'){
  405 + i3GEO.vincularTabelas = {};
  406 + i3GEO.vincularTabelas.janelas = [];
  407 + i3GEO.janela.tempoMsg($trad(37,i3GEOF.tabela.dicionario));
  408 + }
  409 + var janela = "",
  410 + divid,
  411 + cabecalho = function(){},
  412 + id = YAHOO.util.Dom.generateId(),
  413 + minimiza = function(){
  414 + i3GEO.janela.minimiza(id);
  415 + },
  416 + titulo = "&nbsp;&nbsp;&nbsp;"+i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.tabela.tema).tema;
  417 + janela = i3GEO.janela.cria(
  418 + "420px",
  419 + "200px",
  420 + "",
  421 + "",
  422 + "",
  423 + titulo,
  424 + id,
  425 + false,
  426 + "hd",
  427 + cabecalho,
  428 + minimiza
  429 + );
  430 + divid = janela[2].id;
  431 + i3GEO.vincularTabelas.janelas.push(id);
  432 + temp = function(retorno){
  433 + i3GEOF.tabela.aguarde.visibility = "hidden";
  434 + if (retorno.data !== undefined){
  435 + var ins = [],
  436 + i,
  437 + vals,
  438 + cor,
  439 + j,
  440 + n,
  441 + imagem,
  442 + i3GEOtabelalegenda = true;
  443 + //cabecalho da tabela
  444 + ins = "<table class=lista8 style='width:100%'>";
  445 + ins += "<tr><td></td><td></td><td></td>";
  446 + n = retorno.data[0].itens.length;
  447 + for (i=0;i<n;i++){
  448 + ins += "<td style='background-color:yellow' ><input type=radio name='coluna_"+id+"' style='cursor:pointer;' /><br><b>"+retorno.data[0].alias[i]+"</b></td>";
  449 + }
  450 + ins += "</tr>";
  451 + cor = "linha";
  452 + n = retorno.data[1].registros.length;
  453 + for (i=0;i<n;i++){
  454 + ins += "<tr>";
  455 + ins += "<td><input type=radio name='linha_"+id+"' style='cursor:pointer;' /></td>";
  456 + ins += "<td>";
  457 + if(retorno.data[1].registros[i].ext && retorno.data[1].registros[i].ext != ""){
  458 + ins += "<img style=cursor:pointer onclick='i3GEO.navega.zoomExt(\"\",\"\",\"\",\""+retorno.data[1].registros[i].ext+"\")' src='"+i3GEO.configura.locaplic+"/imagens/o.gif' title='zoom' ids="+retorno.data[1].registros[i].indice+" />";
  459 + }
  460 + ins += "</td>";
  461 + if(i3GEOtabelalegenda == true){
  462 + imagem = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]];
  463 + ins += "<td><img title='"+retorno.data[1].registros[i].classe["nome"]+"' src='"+imagem+"' /></td>";
  464 + }
  465 + else{
  466 + ins += "<td></td>";
  467 + }
  468 + vals = retorno.data[1].registros[i].valores;
  469 + for (j=0;j<vals.length;j++){
  470 + ins += "<td class='"+cor+"'>"+vals[j].valor+"</td>";
  471 + }
  472 + if (cor === "linha"){
  473 + cor = "linha1";
  474 + }
  475 + else{
  476 + cor = "linha";
  477 + }
  478 + }
  479 + $i(divid).innerHTML = ins;
  480 + }
  481 + };
  482 + i3GEOF.tabela.pegaRegistros("brasil","tudo","sim",true,true,temp);
  483 + },
  484 + /*
398 Function: ativaAutoAtualiza 485 Function: ativaAutoAtualiza
399 486
400 Ativa ou desativa a atualiza&ccedil;&atilde;o autom&aacute;tica da tabela quando o usu&aacute;rio navega no mapa 487 Ativa ou desativa a atualiza&ccedil;&atilde;o autom&aacute;tica da tabela quando o usu&aacute;rio navega no mapa
@@ -434,28 +521,55 @@ i3GEOF.tabela = { @@ -434,28 +521,55 @@ i3GEOF.tabela = {
434 521
435 <LISTAREGISTROS> 522 <LISTAREGISTROS>
436 */ 523 */
437 - pegaRegistros: function(){ 524 + pegaRegistros: function(tiporeg,tipolista,dadosDaClasse,inicio,fim,funcao){
438 if(i3GEOF.tabela.aguarde.visibility === "visible") 525 if(i3GEOF.tabela.aguarde.visibility === "visible")
439 {return;} 526 {return;}
440 i3GEOF.tabela.aguarde.visibility = "visible"; 527 i3GEOF.tabela.aguarde.visibility = "visible";
441 - var tipolista = "tudo",  
442 - tiporeg = "brasil",  
443 - inicio = $i("i3GEOtabelainicio").value - 1,  
444 - fim = $i("i3GEOtabelafim").value,  
445 - p,  
446 - dadosDaClasse = "nao", 528 + var p,
447 cp = new cpaint(); 529 cp = new cpaint();
448 - if ($i("i3GEOtabelatiporeg").checked){  
449 - tiporeg = "mapa";  
450 - i3GEO.janela.tempoMsg("Os dados utilizados referem-se apenas &agrave; regi&atilde;o atual mostrada no mapa"); 530 + if(!tiporeg){
  531 + if($i("i3GEOtabelatiporeg").checked){
  532 + tiporeg = "mapa";
  533 + i3GEO.janela.tempoMsg($trad(38,i3GEOF.tabela.dicionario));
  534 + }
  535 + else{
  536 + tiporeg = "brasil";
  537 + }
  538 + }
  539 + if(!tipolista){
  540 + if ($i("i3GEOtabelatipolista").checked){
  541 + tipolista = "selecionados";
  542 + }
  543 + else{
  544 + tipolista = "tudo";
  545 + }
  546 + }
  547 + if(!dadosDaClasse){
  548 + if ($i("i3GEOtabelalegenda").checked){
  549 + dadosDaClasse = "sim";
  550 + }
  551 + else{
  552 + dadosDaClasse = "nao";
  553 + }
  554 + }
  555 + if(!inicio){
  556 + inicio = $i("i3GEOtabelainicio").value - 1;
  557 + }
  558 + else{
  559 + inicio = "";
  560 + }
  561 + if(!fim){
  562 + fim = $i("i3GEOtabelafim").value - 1;
  563 + }
  564 + else{
  565 + fim = "";
  566 + }
  567 + if(!funcao){
  568 + funcao = i3GEOF.tabela.montaTabela;
451 } 569 }
452 - if ($i("i3GEOtabelatipolista").checked)  
453 - {tipolista = "selecionados";}  
454 - if ($i("i3GEOtabelalegenda").checked)  
455 - {dadosDaClasse = "sim";}  
456 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; 570 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;
457 cp.set_response_type("JSON"); 571 cp.set_response_type("JSON");
458 - cp.call(p,"listaRegistros",i3GEOF.tabela.montaTabela); 572 + cp.call(p,"listaRegistros",funcao);
459 }, 573 },
460 /* 574 /*
461 Function: montaTabela 575 Function: montaTabela