Commit 24fabfacaea21282da8091343a5025c34911fa86
1 parent
71b56833
Exists in
master
and in
7 other branches
Inclusão de opção para visualizar várias tabelas de atributos aomesmo tempo
Showing
5 changed files
with
152 additions
and
20 deletions
Show diff stats
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édia</option></select> Tipo de agregaçã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édia</option></select> Tipo de agregaçã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:"", | @@ -211,7 +211,19 @@ es:"", | ||
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 à regiã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 = " "+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ção automática da tabela quando o usuário navega no mapa | 487 | Ativa ou desativa a atualização automática da tabela quando o usuá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 à regiã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 |