From 010606f83d58467adf797a44075535778ebd978b Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Thu, 6 Sep 2012 21:23:04 +0000 Subject: [PATCH] --- admin/admin.db | Bin 131072 -> 0 bytes admin/js/estat_editor.js | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- admin/php/classe_metaestat.php | 25 +++++++++++++++++++++++++ admin/php/metaestat.php | 25 +++++++++++++++++++++---- classesjs/classe_util.js | 8 +++++--- classesjs/dicionario.js | 7 +++++++ ferramentas/metaestat/dicionario.js | 11 +++++++++-- ferramentas/metaestat/index.js | 862 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 8 files changed, 687 insertions(+), 366 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index a97d4c4..0183ddb 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/js/estat_editor.js b/admin/js/estat_editor.js index ffb2ba0..9e0d480 100644 --- a/admin/js/estat_editor.js +++ b/admin/js/estat_editor.js @@ -29,7 +29,7 @@ i3GEOadmin.editor = { var dados = YAHOO.lang.JSON.parse(o.responseText), temp = "Escolha a conexão com o banco: "; temp += ""; $i(i3GEOadmin.editor.conexao.onde).innerHTML = temp; core_carregando("desativa"); @@ -87,7 +87,7 @@ i3GEOadmin.editor = { temp += ""; temp += "" + "

Digite um nome: " + - "" + + "

" + "" + ""; @@ -222,7 +222,116 @@ i3GEOadmin.editor = { coluna: { onde: "i3GEOadminEditorColuna", lista: function(){ - + var callback = { + success:function(o){ + try { + var dados = YAHOO.lang.JSON.parse(o.responseText), + temp = "

Escolha uma coluna: "; + temp += ""; + temp += "" + + "

Digite um nome: " + + "

Tipo (integer, numeric, text, geometry): " + + "

" + + "" + + "

Digite um novo nome e um tipo caso queira criar uma nova coluna"; + $i(i3GEOadmin.editor.coluna.onde).innerHTML = temp+"

"; + core_carregando("desativa"); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }, + codigo_estat_conexao = $i("i3GEOadmincodigo_estat_conexao").value, + nome_esquema = $i("i3GEOadminesquema").value, + nome_tabela = $i("i3GEOadmintabela").value; + if(nome_tabela == ""){ + alert("Escolha uma tabela"); + $i(i3GEOadmin.editor.coluna.onde).innerHTML = ""; + return; + } + core_carregando("adicionando..."); + core_makeRequest("../php/metaestat.php?funcao=colunasTabela&formato=json&nome_tabela="+nome_tabela+"&nome_esquema="+nome_esquema+"&codigo_estat_conexao="+codigo_estat_conexao,callback); + }, + criar: function(){ + if(!window.confirm("Cria nova coluna?")){ + return; + } + var callback = { + success:function(o){ + try { + core_carregando("desativa"); + i3GEOadmin.editor.coluna.lista(); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }, + novaColuna = $i("i3GEOadmincolunaNomeNovo").value, + tipo = $i("i3GEOadmincolunaTipo").value, + nomeEsquema = $i("i3GEOadminesquema").value, + nomeTabela = $i("i3GEOadmintabela").value; + if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ + return; + } + if(novaColuna == ""){ + alert("Digite um nome"); + return; + } + if(i3GEOadmin.editor.coluna.verificaExiste(novaColuna) == false){ + core_carregando("adicionando..."); + core_makeRequest("../php/metaestat.php?funcao=criaColunaDB&formato=json&tipo="+tipo+"&nova_coluna="+novaColuna+"&nome_tabela="+nomeTabela+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); + } + else{ + alert("Coluna ja existe"); + } + }, + alterarNome: function(){ + if(!window.confirm("Altera o nome?")){ + return; + } + var callback = { + success:function(o){ + try { + core_carregando("desativa"); + i3GEOadmin.editor.coluna.lista(); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }, + novaColuna = $i("i3GEOadmincolunaNomeNovo").value, + nomeEsquema = $i("i3GEOadminesquema").value, + nomeColuna = $i("i3GEOadmincoluna").value; + if(i3GEOadmin.editor.verificaEsquema(nomeEsquema) == false){ + return; + } + if(novaColuna == ""){ + alert("Digite um nome"); + return; + } + if(i3GEOadmin.editor.coluna.verificaExiste(novaColuna) == false){ + core_carregando("adicionando..."); + core_makeRequest("../php/metaestat.php?funcao=alteraNomeColunaDB&formato=json&nome_coluna="+nomeColuna+"&nome_tabela="+$i("i3GEOadmintabela").value+"&novonome_coluna="+novaColuna+"&nome_esquema="+nomeEsquema+"&codigo_estat_conexao="+$i("i3GEOadmincodigo_estat_conexao").value,callback); + } + else{ + alert("Coluna ja existe"); + } + }, + verificaExiste: function(valor){ + var combo = $i("i3GEOadmincoluna"), + n = combo.options.length, + i; + for(i=0;iexecSQLDB($codigo_estat_conexao,"ALTER TABLE ".$nome_esquema.".".$nome_tabela." ADD COLUMN $nova_coluna $tipo "); + } + function alteraNomeColunaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$nome_coluna,$novonome_coluna){ + $res = $this->execSQLDB($codigo_estat_conexao,"ALTER TABLE ".$nome_esquema.".".$nome_tabela." RENAME COLUMN $nome_coluna TO ".$novonome_coluna ); + $coluna = $this->execSQLDB($codigo_estat_conexao,"SELECT column_name FROM information_schema.columns where table_name = '$novonome_tabela' and table_schema = '$nome_esquema' and column_name = '$novonome_coluna'"); + if(count($coluna) > 0){ + $sql = "UPDATE i3geoestat_medida_variavel SET colunavalor = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunavalor = '$nome_coluna'"; + $this->execSQL($sql,"",false); + $sql = "UPDATE i3geoestat_medida_variavel SET colunaidgeo = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunaidgeo = '$nome_coluna'"; + $this->execSQL($sql,"",false); + $sql = "UPDATE i3geoestat_tipo_regiao SET colunageo = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' ' and colunageo = '$nome_coluna'"; + $this->execSQL($sql,"",false); + $sql = "UPDATE i3geoestat_tipo_regiao SET colunanomeregiao = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' ' and colunanomeregiao = '$nome_coluna'"; + $this->execSQL($sql,"",false); + $sql = "UPDATE i3geoestat_tipo_regiao SET colunacentroide = '$novonome_coluna' WHERE esquemadb = '$nome_esquema' and tabela = '$nome_tabela' ' and colunacentroide = '$nome_coluna'"; + $this->execSQL($sql,"",false); + + $sql = "UPDATE i3geoestat_parametro_medida SET coluna = '$novonome_coluna' FROM i3geoestat_medida_variavel WHERE i3geoestat_parametro_medida.id_medida_variavel = i3geoestat_medida_variavel.id_medida_variavel and esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and coluna = '$nome_coluna'"; + $this->execSQL($sql,"",false); + $sql = "UPDATE i3geoestat_agregaregiao SET colunaligacao_regiaopai = '$novonome_coluna' FROM i3geoestat_tipo_regiao WHERE i3geoestat_agregaregiao.codigo_tipo_regiao = i3geoestat_tipo_regiao.codigo_tipo_regiao and esquemadb = '$nome_esquema' and tabela = '$nome_tabela' and colunaligacao_regiaopai = '$nome_coluna'"; + $this->execSQL($sql,"",false); + } + return $res; + } function descreveColunasTabela($codigo_estat_conexao,$nome_esquema,$nome_tabela){ return $this->execSQLDB($codigo_estat_conexao,"SELECT a.attnum,a.attname AS field,t.typname AS type,a.attlen AS length,a.atttypmod AS lengthvar,a.attnotnull AS notnull,p.nspname as esquema FROM pg_class c,pg_attribute a,pg_type t,pg_namespace p WHERE c.relname = '$nome_tabela' and p.nspname = '$nome_esquema' and a.attnum > 0 and a.attrelid = c.oid and a.atttypid = t.oid and c.relnamespace = p.oid ORDER BY a.attname"); } diff --git a/admin/php/metaestat.php b/admin/php/metaestat.php index 7849914..e618e12 100644 --- a/admin/php/metaestat.php +++ b/admin/php/metaestat.php @@ -220,15 +220,14 @@ switch (strtoupper($funcao)) Valor: ALTERARVARIAVEL Altera os dados de uma variavel - - Retorno: - - {JSON} */ case "ALTERAVARIAVEL": $m = new Metaestat(); if(empty($codigo_variavel)){ $codigo_variavel = $m->alteraVariavel(); + if(!empty($nome)){ + $m->alteraVariavel($codigo_variavel,$nome,$descricao); + } } else{ $codigo_variavel = $m->alteraVariavel($codigo_variavel,$nome,$descricao); @@ -936,6 +935,24 @@ switch (strtoupper($funcao)) } exit; break; + case "CRIACOLUNADB": + $m = new Metaestat(); + if($nome_esquema != "i3geo_metaestat"){ + retornaJSON("erro"); + exit; + } + retornaJSON($m->criaColunaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$nova_coluna,$tipo)); + exit; + break; + case "ALTERANOMECOLUNADB": + $m = new Metaestat(); + if($nome_esquema != "i3geo_metaestat"){ + retornaJSON("erro"); + exit; + } + retornaJSON($m->alteraNomeColunaDB($codigo_estat_conexao,$nome_esquema,$nome_tabela,$nome_coluna,$novonome_coluna)); + exit; + break; /* Valor: DESCREVECOLUNASTABELA diff --git a/classesjs/classe_util.js b/classesjs/classe_util.js index 786daba..741c440 100644 --- a/classesjs/classe_util.js +++ b/classesjs/classe_util.js @@ -2024,15 +2024,17 @@ i3GEO.util = { container {String} - id do elemento DIV ja existente que recebera as telas. */ - proximoAnterior: function(anterior,proxima,texto,idatual,container){ + proximoAnterior: function(anterior,proxima,texto,idatual,container,mantem){ if(typeof(console) !== 'undefined'){console.info("i3GEO.util.proximoAnterior()");} var temp = $i(idatual), ndiv = document.createElement("div"), nids, i, fundo; - - if(temp){$i(container).removeChild(temp);} + if(!mantem){ + mantem = false; + } + if(temp && mantem == false){$i(container).removeChild(temp);} if (!document.getElementById(idatual)) { fundo = $i(container).style.backgroundColor; diff --git a/classesjs/dicionario.js b/classesjs/dicionario.js index e1380da..ccbffdb 100644 --- a/classesjs/dicionario.js +++ b/classesjs/dicionario.js @@ -1936,6 +1936,13 @@ it:"" }], "x58":[ { +pt:"Continua?", +en:"", +es:"", +it:"" +}], +"x59":[ +{ pt:"", en:"", es:"", diff --git a/ferramentas/metaestat/dicionario.js b/ferramentas/metaestat/dicionario.js index c010988..96fce93 100644 --- a/ferramentas/metaestat/dicionario.js +++ b/ferramentas/metaestat/dicionario.js @@ -2,7 +2,7 @@ i3GEOF.metaestat.dicionario = { "1":[ { -pt:"Escolha uma variável para o mapa", +pt:"Escolha uma variável", en:"", es:"", it:"" @@ -16,7 +16,7 @@ it:"" }], "3":[ { -pt:"Mais informações sobre a variável ", +pt:"Mais info", en:"", es:"", it:"" @@ -76,5 +76,12 @@ pt:"Análise", en:"", es:"", it:"" +}], +"12":[ +{ +pt:"Edição", +en:"", +es:"", +it:"" }] }; \ No newline at end of file diff --git a/ferramentas/metaestat/index.js b/ferramentas/metaestat/index.js index 08a9a25..6d19ca8 100644 --- a/ferramentas/metaestat/index.js +++ b/ferramentas/metaestat/index.js @@ -36,6 +36,9 @@ Classe: i3GEOF.metaestat Gerencia os componentes do módulo de geração de cartogramas estatísticos */ i3GEOF.metaestat = { + /** + * Tipo de interface utilizada para construcao dos parametros + */ INTERFACE: "flutuante", TOP: 50, LEFT: 100, @@ -44,173 +47,79 @@ i3GEOF.metaestat = { //lista das camadas que foram adicionadas ao mapa CAMADAS: [], inicia: function(iddiv){ - i3GEOF.metaestat.iniciaDicionario(); + i3GEOF.metaestat.comum.iniciaDicionario(); }, - iniciaDicionario: function(){ - if(typeof(i3GEOF.metaestat.dicionario) === 'undefined'){ - i3GEO.util.scriptTag( - i3GEO.configura.locaplic+"/ferramentas/metaestat/dicionario.js", - "i3GEOF.metaestat.principal.inicia()", - "i3GEOF.metaestat.dicionario_script" - ); - } - else{ - i3GEOF.metaestat.principal.inicia(); - } - }, - desligaCamadas: function(){ - if(i3GEOF.metaestat.CAMADAS.length > 0){ - i3GEO.arvoreDeCamadas.ligaDesligaTemas(i3GEOF.metaestat.CAMADAS.join(","),false); - } - }, - adicionaCamada: function(){ - //function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor=""){ - var v = i3GEOF.metaestat.verificaParametros(), - temp = function(retorno){ - if(i3GEO.arvoreDeCamadas.pegaTema(retorno.layer) == ""){ - i3GEOF.metaestat.desligaCamadas(); - i3GEO.php.adtema(i3GEO.atualiza,retorno.mapfile); - i3GEOF.metaestat.CAMADAS.push(retorno.layer); - } - }; - if(v != true){ - alert("erro: "+v); - } - i3GEO.php.mapfileMedidaVariavel( - temp, - $i("i3geoCartoComboMedidasVariavel").value, - i3GEOF.metaestat.defineFiltro(), - 0, - $i("i3geoCartoComboTipoRep").value, - i3GEOF.metaestat.defineTitulo(), - $i("i3geoCartoComboTipoClassificacao").value, - i3GEOF.metaestat.defineAgruparPor() - ); - }, - defineTitulo: function(){ - //se nao tiver parametros, filtro e vazio - if(i3GEOF.metaestat.parametros.dados.length == 0){ - return ""; - } - //se tiver parametro e todos estiverem vazios, aborta - var i,n,c,titulo, - t=[], - dados = i3GEOF.metaestat.parametros.dados; - titulo = $i("i3geoCartoComboVariavel").options[$i("i3geoCartoComboVariavel").selectedIndex].label +" - "+ - $i("i3geoCartoComboMedidasVariavel").options[$i("i3geoCartoComboMedidasVariavel").selectedIndex].label +" - "+ - $i("i3geoCartoComboTipoRep").options[$i("i3geoCartoComboTipoRep").selectedIndex].label +" - "+ - $i("i3geoCartoComboTipoClassificacao").options[$i("i3geoCartoComboTipoClassificacao").selectedIndex].label; - n = dados.length; - for(i=0;i 0){ - return t.join(","); - } - else{ - return ""; - } - }, - verificaParametros: function(){ - var ok = true, - combos = ["i3geoCartoComboVariavel","i3geoCartoComboMedidasVariavel","i3geoCartoComboTipoRep","i3geoCartoComboTipoClassificacao"], - n = combos.length, - i,temp; - for(i=0;i"; - } - var i = $i(obj.id+"_imagem"); - if(!i){ - obj.innerHTML = ""; - } - else{ - if(i.style.display == "block"){ - i.style.display = "none"; + $i(iddiv).innerHTML = i3GEOF.metaestat.analise.html(); + }, + abreJanela: function(){ + var cabecalho,minimiza,imagemxy,janela; + if (!$i("i3geoCartoAnalise")){ + cabecalho = function(){ + }; + minimiza = function(){ + i3GEO.janela.minimiza("i3geoCartoAnalise"); + }; + janela = i3GEO.janela.cria( + i3GEOF.metaestat.LARGURA+"px", + i3GEOF.metaestat.ALTURA+"px", + "", + "", + "", + $trad(11,i3GEOF.metaestat.dicionario), + "i3geoCartoAnalise", + false, + "hd", + cabecalho, + minimiza + ); + janela = janela[0]; + YAHOO.i3GEO.janela.manager.register(janela); + janela.render(); } else{ - i.style.display = "block"; + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoAnalise"); } + janela.show(); + imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); + janela.moveTo(imagemxy[0]+(i3GEOF.metaestat.LEFT*2)+i3GEOF.metaestat.LARGURA+10,i3GEOF.metaestat.TOP); + }, + html: function(){ + var ins = '
' + + '
'; + return ins; } }, - principal: { + classes:{ inicia: function(iddiv){ + if(!$i("i3geoCartoComboMedidasVariavel")){ + alert("erro: i3geoCartoComboMedidasVariavel???"); + return; + } if(!iddiv){ - iddiv = "i3geoCartoParametros_corpo"; + iddiv = "i3geoCartoClasses_corpo"; } if(i3GEOF.metaestat.INTERFACE == "flutuante"){ - i3GEOF.metaestat.principal.abreJanela(); + i3GEOF.metaestat.classes.abreJanela(); } - $i(iddiv).innerHTML = i3GEOF.metaestat.principal.html(); - i3GEOF.metaestat.principal.comboVariaveis(); + $i(iddiv).innerHTML = i3GEOF.metaestat.classes.html(); + i3GEOF.metaestat.classes.comboTipoRep(); + i3GEOF.metaestat.classes.comboTipoClassificacao(); }, abreJanela: function(){ var cabecalho,minimiza,imagemxy,janela; - if (!$i("i3geoCartoParametros")){ + if (!$i("i3geoCartoClasses")){ cabecalho = function(){ }; minimiza = function(){ - i3GEO.janela.minimiza("i3geoCartoParametros"); + i3GEO.janela.minimiza("i3geoCartoClasses"); }; janela = i3GEO.janela.cria( i3GEOF.metaestat.LARGURA+"px", @@ -218,8 +127,8 @@ i3GEOF.metaestat = { "", "", "", - $trad("x57"), - "i3geoCartoParametros", + $trad(6,i3GEOF.metaestat.dicionario), + "i3geoCartoClasses", false, "hd", cabecalho, @@ -230,143 +139,351 @@ i3GEOF.metaestat = { janela.render(); } else{ - janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros"); + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoClasses"); } janela.show(); imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); - janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT,i3GEOF.metaestat.TOP); + janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT+i3GEOF.metaestat.LARGURA+10,i3GEOF.metaestat.TOP); }, html: function(){ - var ins = '
' + - '
' + - '
' + - '
' + + var ins = '
' + + '
' + '
' + - '
' + + '
' + '
' + '
'; return ins; }, - maisInfo: function(){ - var temp = "", - v = $i("i3geoCartoComboVariavel"); - if(!v || v.value === ""){ - alert($trad(4,i3GEOF.metaestat.dicionario)); + comboTipoRep: function(){ + var onde = $i("i3geoCartoTipoRep"), + ins,i, + dados = [ + {"codigo":"polygon","nome":"polígonos"}, + {"codigo":"point","nome":"pontos"} + ], + n = dados.length; + ins = '

' + + '

'+$trad(8,i3GEOF.metaestat.dicionario)+'

' + + ""; + if(onde){ + onde.innerHTML = ins; + new YAHOO.widget.Button( + "i3GEOcartoBotaoAdicionarCamada", + {onclick:{fn: i3GEOF.metaestat.comum.adicionaCamada}} + ); + $i("i3GEOcartoBotaoAdicionarCamada-button").style.width = i3GEOF.metaestat.LARGURA - 25 + "px"; } + return ins; }, - comboVariaveis: function(){ - var onde = $i("i3geoCartoVariaveis"), + comboTipoClassificacao: function(){ + var onde = $i("i3geoCartoTipoClassificacao"), + combo = $i("i3geoCartoComboMedidasVariavel"), temp = function(dados){ var n = dados.length, - ins = '', + ins = '

'+$trad(9,i3GEOF.metaestat.dicionario)+'

', i; - //botao para obter mais info - ins = '

' + - '

' + - '

' + - '

'+$trad(1,i3GEOF.metaestat.dicionario)+'

' + - ""; for(i=0;i"+dados[i].nome+""; + ins += ""; } ins += ""; + //{"id_classificacao":"1","nome":"Pela media","id_medida_variavel":"1","observacao":""} if(onde){ onde.innerHTML = ins; - new YAHOO.widget.Button( - "i3GEOcartoBotaoInfo", - {onclick:{fn: i3GEOF.metaestat.principal.maisInfo}} - ); - $i("i3GEOcartoBotaoInfo-button").style.width = i3GEOF.metaestat.LARGURA - 25 + "px"; - new YAHOO.widget.Button( - "i3GEOcartoBotaoClasses", - {onclick:{fn: i3GEOF.metaestat.classes.inicia}} - ); - $i("i3GEOcartoBotaoClasses-button").style.width = (i3GEOF.metaestat.LARGURA / 2) - 15 + "px"; - new YAHOO.widget.Button( - "i3GEOcartoBotaoAnalise", - {onclick:{fn: i3GEOF.metaestat.analise.inicia}} - ); - $i("i3GEOcartoBotaoAnalise-button").style.width = (i3GEOF.metaestat.LARGURA / 2) - 15 + "px"; } return ins; }; - i3GEOF.metaestat.aguarde(onde); - i3GEO.php.listaVariavel(temp); + i3GEOF.metaestat.comum.aguarde(onde); + i3GEO.php.listaClassificacaoMedida(combo.value,temp); }, - comboVariaveisOnchange: function(combo){ - if(combo.value != ""){ - i3GEOF.metaestat.principal.comboMedidasVariavel(combo.value); + comboTipoClassificacaoOnchange: function(){ + + } + }, + comum:{ + iniciaDicionario: function(){ + if(typeof(i3GEOF.metaestat.dicionario) === 'undefined'){ + i3GEO.util.scriptTag( + i3GEO.configura.locaplic+"/ferramentas/metaestat/dicionario.js", + "i3GEOF.metaestat.principal.inicia()", + "i3GEOF.metaestat.dicionario_script" + ); + } + else{ + i3GEOF.metaestat.principal.inicia(); + } + }, + desligaCamadas: function(){ + if(i3GEOF.metaestat.CAMADAS.length > 0){ + i3GEO.arvoreDeCamadas.ligaDesligaTemas(i3GEOF.metaestat.CAMADAS.join(","),false); + } + }, + adicionaCamada: function(){ + //function mapfileMedidaVariavel($id_medida_variavel,$filtro="",$todasascolunas = 0,$tipolayer="polygon",$titulolayer="",$id_classificacao="",$agruparpor=""){ + var v = i3GEOF.metaestat.comum.verificaParametros(), + temp = function(retorno){ + if(i3GEO.arvoreDeCamadas.pegaTema(retorno.layer) == ""){ + i3GEOF.metaestat.comum.desligaCamadas(); + i3GEO.php.adtema(i3GEO.atualiza,retorno.mapfile); + i3GEOF.metaestat.CAMADAS.push(retorno.layer); + } + }; + if(v != true){ + alert("erro: "+v); + } + i3GEO.php.mapfileMedidaVariavel( + temp, + $i("i3geoCartoComboMedidasVariavel").value, + i3GEOF.metaestat.comum.defineFiltro(), + 0, + $i("i3geoCartoComboTipoRep").value, + i3GEOF.metaestat.comum.defineTitulo(), + $i("i3geoCartoComboTipoClassificacao").value, + i3GEOF.metaestat.comum.defineAgruparPor() + ); + }, + defineTitulo: function(){ + //se nao tiver parametros, filtro e vazio + if(i3GEOF.metaestat.parametros.dados.length == 0){ + return ""; + } + //se tiver parametro e todos estiverem vazios, aborta + var i,n,c,titulo, + t=[], + dados = i3GEOF.metaestat.parametros.dados; + titulo = $i("i3geoCartoComboVariavel").options[$i("i3geoCartoComboVariavel").selectedIndex].label +" - "+ + $i("i3geoCartoComboMedidasVariavel").options[$i("i3geoCartoComboMedidasVariavel").selectedIndex].label +" - "+ + $i("i3geoCartoComboTipoRep").options[$i("i3geoCartoComboTipoRep").selectedIndex].label +" - "+ + $i("i3geoCartoComboTipoClassificacao").options[$i("i3geoCartoComboTipoClassificacao").selectedIndex].label; + n = dados.length; + for(i=0;i 0){ + return t.join(","); + } + else{ + return ""; + } + }, + verificaParametros: function(){ + var ok = true, + combos = ["i3geoCartoComboVariavel","i3geoCartoComboMedidasVariavel","i3geoCartoComboTipoRep","i3geoCartoComboTipoClassificacao"], + n = combos.length, + i,temp; + for(i=0;i"; + } + var i = $i(obj.id+"_imagem"); + if(!i){ + obj.innerHTML = ""; + } + else{ + if(i.style.display == "block"){ + i.style.display = "none"; + } + else{ + i.style.display = "block"; + } + } + } + }, + editor: { + inicia: function(){ + if(typeof(i3GEOF.metaestat.dicionario1) === 'undefined'){ + i3GEO.util.scriptTag( + i3GEO.configura.locaplic+"/ferramentas/metaestat/dicionario1.js", + "i3GEOF.metaestat.editor.ativa()", + "i3GEOF.metaestat.dicionario1_script" + ); + } + else{ + i3GEOF.metaestat.editor.ativa(); + } + }, + ativa: function(iddiv){ + if(!iddiv){ + iddiv = "i3geoCartoEditor_corpo"; + } + if(i3GEOF.metaestat.INTERFACE == "flutuante"){ + i3GEOF.metaestat.editor.abreJanela(); + } + $i(iddiv).innerHTML = i3GEOF.metaestat.editor.html(); + i3GEOF.metaestat.editor.t0(); + }, + abreJanela: function(){ + var cabecalho,minimiza,imagemxy,janela; + if (!$i("i3geoCartoEditor")){ + cabecalho = function(){}; + minimiza = function(){ + i3GEO.janela.minimiza("i3geoCartoEditor"); + }; + janela = i3GEO.janela.cria( + "450px", + "300px", + "", + "", + "", + $trad(1,i3GEOF.metaestat.dicionario1), + "i3geoCartoEditor", + false, + "hd", + cabecalho, + minimiza + ); + janela = janela[0]; + YAHOO.i3GEO.janela.manager.register(janela); + janela.render(); } else{ - $i("i3geoCartoMedidasVariavel").innerHTML = ""; - $i("i3geoCartoParametrosMedidasVariavel").innerHTML = ""; + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoEditor"); } + janela.show(); + imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); + janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT+i3GEOF.metaestat.LARGURA+20,i3GEOF.metaestat.TOP+20); }, - comboMedidasVariavel: function(codigo_variavel){ - var onde = $i("i3geoCartoMedidasVariavel"), - temp = function(dados){ - var n = dados.length, - ins = '

'+$trad(2,i3GEOF.metaestat.dicionario)+'

', - i; - ins += ""; - if(onde){ - onde.innerHTML = ins; + html: function(){ + var ins = ''; + ins += '
'; + ins += '
'; + return ins; + }, + criaVariavel: function(){ + if(window.confirm($trad("x58"))){ + var funcao = function(variavel){ + var temp = function(dados){ + $i("i3geoCartoComboVariavelEditor").parentNode.innerHTML = i3GEOF.metaestat.principal.comboVariaveis(dados,"i3geoCartoComboVariavelEditor",""); + $i("i3geoCartoComboVariavelEditor").value = variavel.codigo_variavel; } - return ins; - }; - i3GEOF.metaestat.aguarde(onde); - i3GEO.php.listaMedidaVariavel(codigo_variavel,temp); + i3GEO.php.listaVariavel(temp); + }, + nome = $i("i3GEOFmetaestatEditorNovaVariavel").value, + p = i3GEO.configura.locaplic+"/admin/php/metaestat.php?funcao=alteraVariavel&nome="+nome; + if(nome == ""){ + return; + } + i3GEOF.metaestat.comum.aguarde($i("i3geoCartoComboVariavelEditor")); + i3GEO.util.ajaxGet(p,funcao); + } }, - comboMedidaVariavelOnchange: function(combo){ - i3GEOF.metaestat.classes.inicia(); - if(combo.value != ""){ - i3GEOF.metaestat.parametros.lista(combo.value); + criaMedidaVariavel = function(){ + + }, + t0: function(){ + var ins = "

" + $trad(2,i3GEOF.metaestat.dicionario1) + + "

" + + " "; + i3GEO.util.proximoAnterior("","i3GEOF.metaestat.editor.t1()",ins,"i3GEOF.metaestat.editor.t0","i3GEOFmetaestatEditor"); + new YAHOO.widget.Button( + "i3GEOFmetaestatEditorBotao1", + {onclick:{fn: function(){window.open(i3GEO.configura.locaplic+"/admin/html/estat_variavel.html");}}} + ); + //TODO editor grafico + new YAHOO.widget.Button( + "i3GEOFmetaestatEditorBotao2", + {onclick:{fn: function(){alert("Oi");}}} + ); + }, + t1: function(){ + var temp = function(dados){ + var ins = "

" + $trad(1,i3GEOF.metaestat.dicionario) + "

" + + "" + i3GEOF.metaestat.principal.comboVariaveis(dados,"i3geoCartoComboVariavelEditor","") + "" + + "

" + $trad(5,i3GEOF.metaestat.dicionario1) + "

" + + "" + + "

"; + i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t0()","i3GEOF.metaestat.editor.t2()",ins,"i3GEOF.metaestat.editor.t1","i3GEOFmetaestatEditor",true); + new YAHOO.widget.Button( + "i3GEOFmetaestatEditorBotao3", + {onclick:{fn: i3GEOF.metaestat.editor.criaVariavel}} + ); } - else{ - $i("i3geoCartoParametrosMedidasVariavel").innerHTML = ""; + i3GEO.php.listaVariavel(temp); + }, + t2: function(){ + var temp = function(dados){ + var ins = "

" + $trad(2,i3GEOF.metaestat.dicionario) + "

" + + "" + i3GEOF.metaestat.principal.comboMedidasVariavel(dados,"i3geoCartoComboMedidaVariavelEditor","") + "" + + "

" + $trad(5,i3GEOF.metaestat.dicionario1) + "

" + + "" + + "

"; + i3GEO.util.proximoAnterior("i3GEOF.metaestat.editor.t2()","i3GEOF.metaestat.editor.t2()",ins,"i3GEOF.metaestat.editor.t3","i3GEOFmetaestatEditor",true); + new YAHOO.widget.Button( + "i3GEOFmetaestatEditorBotao4", + {onclick:{fn: i3GEOF.metaestat.editor.criaMedidaVariavel}} + ); + }, + codigo_variavel = $i("i3geoCartoComboVariavelEditor").value; + if(codigo_variavel == ""){ + alert($trad(4,i3GEOF.metaestat.dicionario)) + i3GEOF.metaestat.editor.t1(); + return; } + i3GEO.php.listaMedidaVariavel(codigo_variavel,temp); } }, parametros: { @@ -375,11 +492,11 @@ i3GEOF.metaestat = { //obtem a lista com os parametros da medida //cria os combos para os parametros que sao pai de todos lista: function(id_medida_variavel){ - i3GEOF.metaestat.aguarde($i("i3geoCartoParametrosMedidasVariavel")); + i3GEOF.metaestat.comum.aguarde($i("i3geoCartoParametrosMedidasVariavel")); var temp = function(dados){ i3GEOF.metaestat.parametros.dados = dados; i3GEOF.metaestat.parametros.combos("0"); - i3GEOF.metaestat.aguarde($i("i3geoCartoParametrosMedidasVariavel")); + i3GEOF.metaestat.comum.aguarde($i("i3geoCartoParametrosMedidasVariavel")); }; i3GEO.php.listaParametrosMedidaVariavel(id_medida_variavel,temp); }, @@ -407,7 +524,7 @@ i3GEOF.metaestat = { } onde = $i(idpar); if(!$i(idcombo)){ - i3GEOF.metaestat.aguarde(onde); + i3GEOF.metaestat.comum.aguarde(onde); novoel = document.createElement("div"); novoel.id = idcombo; novoel.className = "paragrafo"; @@ -436,7 +553,7 @@ i3GEOF.metaestat = { novoel = document.createElement("div"); novoel.className = "paragrafo"; novoel.innerHTML = ins; - i3GEOF.metaestat.aguarde(onde); + i3GEOF.metaestat.comum.aguarde(onde); onde.appendChild(novoel); }; i3GEO.php.listaValoresParametroMedidaVariavel(id_parametro_medida,temp); @@ -471,29 +588,24 @@ i3GEOF.metaestat = { return false; } }, - classes:{ + principal: { inicia: function(iddiv){ - if(!$i("i3geoCartoComboMedidasVariavel")){ - alert("erro: i3geoCartoComboMedidasVariavel???"); - return; - } if(!iddiv){ - iddiv = "i3geoCartoClasses_corpo"; + iddiv = "i3geoCartoParametros_corpo"; } if(i3GEOF.metaestat.INTERFACE == "flutuante"){ - i3GEOF.metaestat.classes.abreJanela(); + i3GEOF.metaestat.principal.abreJanela(); } - $i(iddiv).innerHTML = i3GEOF.metaestat.classes.html(); - i3GEOF.metaestat.classes.comboTipoRep(); - i3GEOF.metaestat.classes.comboTipoClassificacao(); + $i(iddiv).innerHTML = i3GEOF.metaestat.principal.html(); + i3GEOF.metaestat.principal.opcoesVariaveis(); }, abreJanela: function(){ var cabecalho,minimiza,imagemxy,janela; - if (!$i("i3geoCartoClasses")){ + if (!$i("i3geoCartoParametros")){ cabecalho = function(){ }; minimiza = function(){ - i3GEO.janela.minimiza("i3geoCartoClasses"); + i3GEO.janela.minimiza("i3geoCartoParametros"); }; janela = i3GEO.janela.cria( i3GEOF.metaestat.LARGURA+"px", @@ -501,8 +613,8 @@ i3GEOF.metaestat = { "", "", "", - $trad(6,i3GEOF.metaestat.dicionario), - "i3geoCartoClasses", + $trad("x57"), + "i3geoCartoParametros", false, "hd", cabecalho, @@ -513,117 +625,159 @@ i3GEOF.metaestat = { janela.render(); } else{ - janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoClasses"); + janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoParametros"); } janela.show(); imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); - janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT+i3GEOF.metaestat.LARGURA+10,i3GEOF.metaestat.TOP); + janela.moveTo(imagemxy[0]+i3GEOF.metaestat.LEFT,i3GEOF.metaestat.TOP); }, html: function(){ - var ins = '

' + - '
' + + var ins = '
' + + '
' + '
' + - '
' + + '
' + + '
' + + '
' + '
' + '
'; return ins; }, - comboTipoRep: function(){ - var onde = $i("i3geoCartoTipoRep"), - ins,i, - dados = [ - {"codigo":"polygon","nome":"polígonos"}, - {"codigo":"point","nome":"pontos"} - ], - n = dados.length; - ins = '

' + - '

'+$trad(8,i3GEOF.metaestat.dicionario)+'

' + - ""; for(i=0;i"+dados[i].nome+""; + ins += ""; } ins += ""; - if(onde){ - onde.innerHTML = ins; - new YAHOO.widget.Button( - "i3GEOcartoBotaoAdicionarCamada", - {onclick:{fn: i3GEOF.metaestat.adicionaCamada}} - ); - $i("i3GEOcartoBotaoAdicionarCamada-button").style.width = i3GEOF.metaestat.LARGURA - 25 + "px"; - } return ins; }, - comboTipoClassificacao: function(){ - var onde = $i("i3geoCartoTipoClassificacao"), - combo = $i("i3geoCartoComboMedidasVariavel"), + opcoesVariaveis: function(){ + var onde = $i("i3geoCartoVariaveis"), temp = function(dados){ - var n = dados.length, - ins = '

'+$trad(9,i3GEOF.metaestat.dicionario)+'

', - i; - ins += ""; - //{"id_classificacao":"1","nome":"Pela media","id_medida_variavel":"1","observacao":""} + var ins = ''; + //botao para obter mais info + ins = '

' + + '

' + + '

' + + '

' + + '

'+$trad(1,i3GEOF.metaestat.dicionario)+'

'; + ins += i3GEOF.metaestat.principal.comboVariaveis(dados,"i3geoCartoComboVariavel","i3GEOF.metaestat.principal.comboVariaveisOnchange"); if(onde){ onde.innerHTML = ins; + new YAHOO.widget.Button( + "i3GEOcartoBotaoInfo", + {onclick:{fn: i3GEOF.metaestat.principal.maisInfo}} + ); + $i("i3GEOcartoBotaoInfo-button").style.width = (i3GEOF.metaestat.LARGURA / 2) - 15 + "px"; + new YAHOO.widget.Button( + "i3GEOcartoBotaoEditor", + {onclick:{fn: i3GEOF.metaestat.editor.inicia}} + ); + $i("i3GEOcartoBotaoEditor-button").style.width = (i3GEOF.metaestat.LARGURA / 2) - 15 + "px"; + new YAHOO.widget.Button( + "i3GEOcartoBotaoClasses", + {onclick:{fn: i3GEOF.metaestat.classes.inicia}} + ); + $i("i3GEOcartoBotaoClasses-button").style.width = (i3GEOF.metaestat.LARGURA / 2) - 15 + "px"; + new YAHOO.widget.Button( + "i3GEOcartoBotaoAnalise", + {onclick:{fn: i3GEOF.metaestat.analise.inicia}} + ); + $i("i3GEOcartoBotaoAnalise-button").style.width = (i3GEOF.metaestat.LARGURA / 2) - 15 + "px"; } return ins; }; - i3GEOF.metaestat.aguarde(onde); - i3GEO.php.listaClassificacaoMedida(combo.value,temp); + i3GEOF.metaestat.comum.aguarde(onde); + i3GEO.php.listaVariavel(temp); }, - comboTipoClassificacaoOnchange: function(){ - - } - }, - analise: { - inicia: function(iddiv){ - if(!iddiv){ - iddiv = "i3geoCartoAnalise_corpo"; + comboVariaveisOnchange: function(combo){ + if(combo.value != ""){ + i3GEOF.metaestat.principal.opcoesMedidasVariavel(combo.value); } - if(i3GEOF.metaestat.INTERFACE == "flutuante"){ - i3GEOF.metaestat.analise.abreJanela(); + else{ + $i("i3geoCartoMedidasVariavel").innerHTML = ""; + $i("i3geoCartoParametrosMedidasVariavel").innerHTML = ""; } - $i(iddiv).innerHTML = i3GEOF.metaestat.analise.html(); }, - abreJanela: function(){ - var cabecalho,minimiza,imagemxy,janela; - if (!$i("i3geoCartoAnalise")){ - cabecalho = function(){ - }; - minimiza = function(){ - i3GEO.janela.minimiza("i3geoCartoAnalise"); + comboMedidasVariavel: function(dados,idcombo,stronchange){ + var n = dados.length, + ins = '', + i; + ins += ""; + return ins; + }, + opcoesMedidasVariavel: function(codigo_variavel){ + var onde = $i("i3geoCartoMedidasVariavel"), + temp = function(dados){ + var n = dados.length, + ins = '

'+$trad(2,i3GEOF.metaestat.dicionario)+'

', + i; + ins += i3GEOF.metaestat.principal.comboMedidasVariavel(dados,"i3geoCartoComboMedidasVariavel","i3GEOF.metaestat.principal.comboMedidaVariavelOnchange"); + if(onde){ + onde.innerHTML = ins; + } + return ins; }; - janela = i3GEO.janela.cria( - i3GEOF.metaestat.LARGURA+"px", - i3GEOF.metaestat.ALTURA+"px", - "", - "", - "", - $trad(11,i3GEOF.metaestat.dicionario), - "i3geoCartoAnalise", - false, - "hd", - cabecalho, - minimiza - ); - janela = janela[0]; - YAHOO.i3GEO.janela.manager.register(janela); - janela.render(); + i3GEOF.metaestat.comum.aguarde(onde); + i3GEO.php.listaMedidaVariavel(codigo_variavel,temp); + }, + comboMedidaVariavelOnchange: function(combo){ + i3GEOF.metaestat.classes.inicia(); + if(combo.value != ""){ + i3GEOF.metaestat.parametros.lista(combo.value); } else{ - janela = YAHOO.i3GEO.janela.manager.find("i3geoCartoAnalise"); + $i("i3geoCartoParametrosMedidasVariavel").innerHTML = ""; } - janela.show(); - imagemxy = i3GEO.util.pegaPosicaoObjeto($i(i3GEO.Interface.IDCORPO)); - janela.moveTo(imagemxy[0]+(i3GEOF.metaestat.LEFT*2)+i3GEOF.metaestat.LARGURA+10,i3GEOF.metaestat.TOP); - }, - html: function(){ - var ins = '
' + - '
'; - return ins; } } }; \ No newline at end of file -- libgit2 0.21.2