From e3f347b23a60e2b45e7abadbf8ec9ad41bdc7f53 Mon Sep 17 00:00:00 2001 From: edmarmoretti Date: Thu, 31 Aug 2017 00:18:21 -0300 Subject: [PATCH] Correção na operação de ordenação de colunas na ferramenta Tabela e Gráfico Interativo, permitindo ordenar números --- css/i3geo7.css.php | 0 ferramentas/editorgm/editorgm_compacto.js | 0 ferramentas/editorol/editorol_compacto.js | 0 ferramentas/graficointerativo1/index.js | 7 +++---- ferramentas/tabela/index.js | 2365 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- js/compactados/ajuda_compacto.js | 0 js/compactados/analise_compacto.js | 0 js/compactados/arvoredecamadas_compacto.js | 0 js/compactados/arvoredetemas_compacto.js | 0 js/compactados/base64_compacto.js | 0 js/compactados/busca_compacto.js | 0 js/compactados/caixaDeFerramentas_compacto.js | 0 js/compactados/calculo_compacto.js | 0 js/compactados/catalogoDir_compacto.js | 0 js/compactados/catalogoEstrelas_compacto.js | 0 js/compactados/catalogoInde_compacto.js | 0 js/compactados/catalogoMapas_compacto.js | 0 js/compactados/catalogoMenus_compacto.js | 0 js/compactados/catalogoMetaestat_compacto.js | 0 js/compactados/catalogoOgc_compacto.js | 0 js/compactados/catalogoRegioes_compacto.js | 0 js/compactados/catalogoSistemas_compacto.js | 0 js/compactados/configura_compacto.js | 0 js/compactados/coordenadas_compacto.js | 0 js/compactados/desenho_compacto.js | 0 js/compactados/dicionario_ajuda_compacto.js | 0 js/compactados/dicionario_compacto.js | 0 js/compactados/editor_compacto.js | 0 js/compactados/eventos_compacto.js | 0 js/compactados/guias_compacto.js | 0 js/compactados/idioma_compacto.js | 0 js/compactados/ini_i3geo_compacto.js | 0 js/compactados/interface_compacto.js | 0 js/compactados/janela_compacto.js | 0 js/compactados/legenda_compacto.js | 0 js/compactados/login_compacto.js | 0 js/compactados/mapa_compacto.js | 0 js/compactados/maparef_compacto.js | 0 js/compactados/marcador_compacto.js | 0 js/compactados/mustache.js | 0 js/compactados/navega_compacto.js | 0 js/compactados/php_compacto.js | 0 js/compactados/plugini3geo_compacto.js | 0 js/compactados/proj4js.js | 0 js/compactados/social_compacto.js | 0 js/compactados/tema_compacto.js | 0 js/compactados/util_compacto.js | 0 js/compactados/wicket.js | 0 js/dicionario.js | 6 +++--- js/i3geo_tudo_compacto7.js.php | 0 pacotes/cpaint/cpaint2_compacto.inc.js | 0 pacotes/mobileesp/mdetect_compacto.js | 0 pacotes/yui290/build/carousel/carousel_compacto.js | 0 pacotes/yui290/build/container/container_compacto.js | 0 pacotes/yui290/build/container/container_core_compacto.js | 0 pacotes/yui290/build/resize/resize_compacto.js | 0 pacotes/yui290/build/treeview/treeview_compacto.js | 0 pacotes/yui290/build/utilities/utilities_compacto.js | 0 58 files changed, 1191 insertions(+), 1187 deletions(-) mode change 100644 => 100755 css/i3geo7.css.php mode change 100644 => 100755 ferramentas/editorgm/editorgm_compacto.js mode change 100644 => 100755 ferramentas/editorol/editorol_compacto.js mode change 100644 => 100755 js/compactados/ajuda_compacto.js mode change 100644 => 100755 js/compactados/analise_compacto.js mode change 100644 => 100755 js/compactados/arvoredecamadas_compacto.js mode change 100644 => 100755 js/compactados/arvoredetemas_compacto.js mode change 100644 => 100755 js/compactados/base64_compacto.js mode change 100644 => 100755 js/compactados/busca_compacto.js mode change 100644 => 100755 js/compactados/caixaDeFerramentas_compacto.js mode change 100644 => 100755 js/compactados/calculo_compacto.js mode change 100644 => 100755 js/compactados/catalogoDir_compacto.js mode change 100644 => 100755 js/compactados/catalogoEstrelas_compacto.js mode change 100644 => 100755 js/compactados/catalogoInde_compacto.js mode change 100644 => 100755 js/compactados/catalogoMapas_compacto.js mode change 100644 => 100755 js/compactados/catalogoMenus_compacto.js mode change 100644 => 100755 js/compactados/catalogoMetaestat_compacto.js mode change 100644 => 100755 js/compactados/catalogoOgc_compacto.js mode change 100644 => 100755 js/compactados/catalogoRegioes_compacto.js mode change 100644 => 100755 js/compactados/catalogoSistemas_compacto.js mode change 100644 => 100755 js/compactados/configura_compacto.js mode change 100644 => 100755 js/compactados/coordenadas_compacto.js mode change 100644 => 100755 js/compactados/desenho_compacto.js mode change 100644 => 100755 js/compactados/dicionario_ajuda_compacto.js mode change 100644 => 100755 js/compactados/dicionario_compacto.js mode change 100644 => 100755 js/compactados/editor_compacto.js mode change 100644 => 100755 js/compactados/eventos_compacto.js mode change 100644 => 100755 js/compactados/guias_compacto.js mode change 100644 => 100755 js/compactados/idioma_compacto.js mode change 100644 => 100755 js/compactados/ini_i3geo_compacto.js mode change 100644 => 100755 js/compactados/interface_compacto.js mode change 100644 => 100755 js/compactados/janela_compacto.js mode change 100644 => 100755 js/compactados/legenda_compacto.js mode change 100644 => 100755 js/compactados/login_compacto.js mode change 100644 => 100755 js/compactados/mapa_compacto.js mode change 100644 => 100755 js/compactados/maparef_compacto.js mode change 100644 => 100755 js/compactados/marcador_compacto.js mode change 100644 => 100755 js/compactados/mustache.js mode change 100644 => 100755 js/compactados/navega_compacto.js mode change 100644 => 100755 js/compactados/php_compacto.js mode change 100644 => 100755 js/compactados/plugini3geo_compacto.js mode change 100644 => 100755 js/compactados/proj4js.js mode change 100644 => 100755 js/compactados/social_compacto.js mode change 100644 => 100755 js/compactados/tema_compacto.js mode change 100644 => 100755 js/compactados/util_compacto.js mode change 100644 => 100755 js/compactados/wicket.js mode change 100644 => 100755 js/i3geo_tudo_compacto7.js.php mode change 100644 => 100755 pacotes/cpaint/cpaint2_compacto.inc.js mode change 100644 => 100755 pacotes/mobileesp/mdetect_compacto.js mode change 100644 => 100755 pacotes/yui290/build/carousel/carousel_compacto.js mode change 100644 => 100755 pacotes/yui290/build/container/container_compacto.js mode change 100644 => 100755 pacotes/yui290/build/container/container_core_compacto.js mode change 100644 => 100755 pacotes/yui290/build/resize/resize_compacto.js mode change 100644 => 100755 pacotes/yui290/build/treeview/treeview_compacto.js mode change 100644 => 100755 pacotes/yui290/build/utilities/utilities_compacto.js diff --git a/css/i3geo7.css.php b/css/i3geo7.css.php old mode 100644 new mode 100755 index e99a759..e99a759 --- a/css/i3geo7.css.php +++ b/css/i3geo7.css.php diff --git a/ferramentas/editorgm/editorgm_compacto.js b/ferramentas/editorgm/editorgm_compacto.js old mode 100644 new mode 100755 index cc66aa6..cc66aa6 --- a/ferramentas/editorgm/editorgm_compacto.js +++ b/ferramentas/editorgm/editorgm_compacto.js diff --git a/ferramentas/editorol/editorol_compacto.js b/ferramentas/editorol/editorol_compacto.js old mode 100644 new mode 100755 index 7b753b2..7b753b2 --- a/ferramentas/editorol/editorol_compacto.js +++ b/ferramentas/editorol/editorol_compacto.js diff --git a/ferramentas/graficointerativo1/index.js b/ferramentas/graficointerativo1/index.js index f68cf10..bbbb36d 100755 --- a/ferramentas/graficointerativo1/index.js +++ b/ferramentas/graficointerativo1/index.js @@ -1331,13 +1331,12 @@ i3GEOF.graficointerativo1 = ntrs = trs.length; function sortNumber(a, b) { - return a - b; + return a.split("@$")[0]*1 - b.split("@$")[0]*1;; } for (t = 1; t < ntrs; t++) { temp = trs[t].getElementsByTagName("input"); if (temp) { - psort.push(temp[cid].value); - chaves[temp[cid].value] = t; + psort.push(temp[cid].value + "@$" + t); if (temp[cid].value * 1) { numero = true; } @@ -1352,7 +1351,7 @@ i3GEOF.graficointerativo1 = ins = "" + trs[0].innerHTML + ""; ntrs = psort.length; for (p = 0; p < ntrs; p++) { - e = chaves[psort[p]]; + e = psort[p].split("@$")[1]*1; if (trs[e] !== undefined) { ins += "" + trs[e].innerHTML + ""; } diff --git a/ferramentas/tabela/index.js b/ferramentas/tabela/index.js index 5a41d8a..15d7ec9 100755 --- a/ferramentas/tabela/index.js +++ b/ferramentas/tabela/index.js @@ -1,1198 +1,1203 @@ if (typeof (i3GEOF) === 'undefined') { - var i3GEOF = {}; + var i3GEOF = {}; } /* * Classe: i3GEOF.tabela */ i3GEOF.tabela = - { - /** - * Controla se o evento de atualizacao da lista de registros esta ativo ou nao E utilizado quando os graficos sao recuperados de um - * mapa que foi salvo - */ - LISTAREGATIVO : true, - /** - * Array com os ids das janelas ja criadas - */ - janelas : [], - /** - * Objeto com as propriedades de cada janela. A chave e o id da janela armazenado em i3GEO.tabela.janelas - */ - propJanelas : {}, - /** - * Template no formato mustache. E preenchido na carga do javascript com o programa dependencias.php - */ - MUSTACHE : "", - MUSTACHELISTA : "", - MUSTACHEVINCULO: "", - /** - * Susbtitutos para o template - */ - mustacheHash : function(idjanela) { - var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.tabela.dicionario); - dicionario["idjanela"] = idjanela; - dicionario["idjanelaA"] = '"' + idjanela + '"'; - dicionario["locaplic"] = i3GEO.configura.locaplic; - dicionario["propriedades"] = $trad('p13'); - dicionario["ini"] = $inputText("", "", idjanela + 'i3GEOtabelainicio', "", 5, "1"); - dicionario["fim"] = $inputText("", "", idjanela + 'i3GEOtabelafim', "", 5, "20"); - return dicionario; - }, - /** - * Configura a tabela conforme um objeto contendo parametros. Alguns parametros possuem definicoes padrao, usadas quando o valor nao - * e passado - * - * Qualquer outro campo de formulario pode ter seu valor passado como parametro, desde que use o mesmo ID, excluindo-se do nome do - * ID o prefixo (codigo da janela) - * - * parametros {objeto} com os seguintes elementos: - * - * idjanela - id da tabela. Usado como prefixo para inserir os identificadores dos elementos DOM que fazem parte da interface do - * tabela. Se existir um elemento dom esse id, a tabela sera inserido nesse elemento - * - * tema - codigo do tema existente no mapa e que sera a fonte para os dados - * - * atualiza true|false - a janela sera atualizada na navegacao do mapa ou nao - * - */ - configura : function(parametros) { - var idjanela; - if (!parametros.idjanela) { - idjanela = "tabela" + parseInt(Math.random() * 1000000, 10); - } else { - idjanela = parametros.idjanela; - } - i3GEOF.tabela.janelas.push(idjanela); - if (parametros) { - i3GEOF.tabela.propJanelas[idjanela] = parametros; - } else { - i3GEOF.tabela.propJanelas[idjanela] = {}; - } - if (!parametros.tema || parametros.tema == undefined) { - i3GEOF.tabela.propJanelas[idjanela].tema = i3GEO.temaAtivo; - } - if (!parametros.atualiza || parametros.atualiza == undefined) { - i3GEOF.tabela.propJanelas[idjanela].atualiza = true; - } - // guarda para essa tabela alguns valores default obtidos dos - // parametros gerais da ferramenta - if (!parametros.w || parametros.w == undefined) { - i3GEOF.tabela.propJanelas[idjanela].w = i3GEOF.tabela.w; - } - if (!parametros.h || parametros.h == undefined) { - i3GEOF.tabela.propJanelas[idjanela].h = i3GEOF.tabela.h; - } - i3GEOF.tabela.propJanelas[idjanela].colunas = { - "itens" : [], - "alias" : [] - }; - i3GEOF.tabela.propJanelas[idjanela].registros = []; - return idjanela; - }, - /** - * Aplica a tabela os parametros de configuracao definidos para cada interface que controla a tabela. Os parametros de configuracao - * sao obtidos na inicializacao, passados como parametros. Essa funcao deve ser executada apos os elementos html terem sido - * renderizados - */ - aplicaConfig : function(idjanela) { - var config, nomesIds, i, o, n, j; - config = i3GEOF.tabela.propJanelas[idjanela]; - nomesIds = i3GEO.util.listaChaves(config); - n = nomesIds.length; - for (j = 0; j < n; j++) { - i = nomesIds[j]; - if (config[i]) { - o = $i(i); - if (o && o.type) { - if (o.type.toLowerCase() === "radio" || o.type.toLowerCase() === "checkbox") { - o.checked = config[i]; - } else { - o.value = config[i]; - } - } - } - } - }, - /* - * Function: inicia - * - * Inicia a ferramenta. É chamado por criaJanelaFlutuante - * - * Parametro: - * - * iddiv {String} - id do div que receberá o conteudo HTML da ferramenta - */ - inicia : function(iddiv, idjanela) { - if(i3GEOF.tabela.MUSTACHE == ""){ - var t1 = i3GEO.configura.locaplic + "/ferramentas/tabela/template_mst.html", - t2 = i3GEO.configura.locaplic + "/ferramentas/tabela/templateLista_mst.html", - t3 = i3GEO.configura.locaplic + "/ferramentas/tabela/templateVinculo_mst.html"; +{ + /** + * Controla se o evento de atualizacao da lista de registros esta ativo ou nao E utilizado quando os graficos sao recuperados de um + * mapa que foi salvo + */ + LISTAREGATIVO : true, + /** + * Array com os ids das janelas ja criadas + */ + janelas : [], + /** + * Objeto com as propriedades de cada janela. A chave e o id da janela armazenado em i3GEO.tabela.janelas + */ + propJanelas : {}, + /** + * Template no formato mustache. E preenchido na carga do javascript com o programa dependencias.php + */ + MUSTACHE : "", + MUSTACHELISTA : "", + MUSTACHEVINCULO: "", + /** + * Susbtitutos para o template + */ + mustacheHash : function(idjanela) { + var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.tabela.dicionario); + dicionario["idjanela"] = idjanela; + dicionario["idjanelaA"] = '"' + idjanela + '"'; + dicionario["locaplic"] = i3GEO.configura.locaplic; + dicionario["propriedades"] = $trad('p13'); + dicionario["ini"] = $inputText("", "", idjanela + 'i3GEOtabelainicio', "", 5, "1"); + dicionario["fim"] = $inputText("", "", idjanela + 'i3GEOtabelafim', "", 5, "20"); + return dicionario; + }, + /** + * Configura a tabela conforme um objeto contendo parametros. Alguns parametros possuem definicoes padrao, usadas quando o valor nao + * e passado + * + * Qualquer outro campo de formulario pode ter seu valor passado como parametro, desde que use o mesmo ID, excluindo-se do nome do + * ID o prefixo (codigo da janela) + * + * parametros {objeto} com os seguintes elementos: + * + * idjanela - id da tabela. Usado como prefixo para inserir os identificadores dos elementos DOM que fazem parte da interface do + * tabela. Se existir um elemento dom esse id, a tabela sera inserido nesse elemento + * + * tema - codigo do tema existente no mapa e que sera a fonte para os dados + * + * atualiza true|false - a janela sera atualizada na navegacao do mapa ou nao + * + */ + configura : function(parametros) { + var idjanela; + if (!parametros.idjanela) { + idjanela = "tabela" + parseInt(Math.random() * 1000000, 10); + } else { + idjanela = parametros.idjanela; + } + i3GEOF.tabela.janelas.push(idjanela); + if (parametros) { + i3GEOF.tabela.propJanelas[idjanela] = parametros; + } else { + i3GEOF.tabela.propJanelas[idjanela] = {}; + } + if (!parametros.tema || parametros.tema == undefined) { + i3GEOF.tabela.propJanelas[idjanela].tema = i3GEO.temaAtivo; + } + if (!parametros.atualiza || parametros.atualiza == undefined) { + i3GEOF.tabela.propJanelas[idjanela].atualiza = true; + } + // guarda para essa tabela alguns valores default obtidos dos + // parametros gerais da ferramenta + if (!parametros.w || parametros.w == undefined) { + i3GEOF.tabela.propJanelas[idjanela].w = i3GEOF.tabela.w; + } + if (!parametros.h || parametros.h == undefined) { + i3GEOF.tabela.propJanelas[idjanela].h = i3GEOF.tabela.h; + } + i3GEOF.tabela.propJanelas[idjanela].colunas = { + "itens" : [], + "alias" : [] + }; + i3GEOF.tabela.propJanelas[idjanela].registros = []; + return idjanela; + }, + /** + * Aplica a tabela os parametros de configuracao definidos para cada interface que controla a tabela. Os parametros de configuracao + * sao obtidos na inicializacao, passados como parametros. Essa funcao deve ser executada apos os elementos html terem sido + * renderizados + */ + aplicaConfig : function(idjanela) { + var config, nomesIds, i, o, n, j; + config = i3GEOF.tabela.propJanelas[idjanela]; + nomesIds = i3GEO.util.listaChaves(config); + n = nomesIds.length; + for (j = 0; j < n; j++) { + i = nomesIds[j]; + if (config[i]) { + o = $i(i); + if (o && o.type) { + if (o.type.toLowerCase() === "radio" || o.type.toLowerCase() === "checkbox") { + o.checked = config[i]; + } else { + o.value = config[i]; + } + } + } + } + }, + /* + * Function: inicia + * + * Inicia a ferramenta. É chamado por criaJanelaFlutuante + * + * Parametro: + * + * iddiv {String} - id do div que receberá o conteudo HTML da ferramenta + */ + inicia : function(iddiv, idjanela) { + if(i3GEOF.tabela.MUSTACHE == ""){ + var t1 = i3GEO.configura.locaplic + "/ferramentas/tabela/template_mst.html", + t2 = i3GEO.configura.locaplic + "/ferramentas/tabela/templateLista_mst.html", + t3 = i3GEO.configura.locaplic + "/ferramentas/tabela/templateVinculo_mst.html"; - $.when( $.get(t1),$.get(t2),$.get(t3) ).done(function(r1,r2,r3) { - i3GEOF.tabela.MUSTACHE = r1[0]; - i3GEOF.tabela.MUSTACHELISTA = r2[0]; - i3GEOF.tabela.MUSTACHEVINCULO = r3[0]; - i3GEOF.tabela.inicia(iddiv, idjanela); - }).fail(function() { - i3GEO.janela.closeMsg($trad("erroTpl")); - return; - }); - return; - } - $i(iddiv).innerHTML = i3GEOF.tabela.html(idjanela); + $.when( $.get(t1),$.get(t2),$.get(t3) ).done(function(r1,r2,r3) { + i3GEOF.tabela.MUSTACHE = r1[0]; + i3GEOF.tabela.MUSTACHELISTA = r2[0]; + i3GEOF.tabela.MUSTACHEVINCULO = r3[0]; + i3GEOF.tabela.inicia(iddiv, idjanela); + }).fail(function() { + i3GEO.janela.closeMsg($trad("erroTpl")); + return; + }); + return; + } + $i(iddiv).innerHTML = i3GEOF.tabela.html(idjanela); - //i3GEO.janela.applyScrollBar(iddiv,".customScrollBar",{advanced:{ autoExpandHorizontalScroll: 2 }}); + //i3GEO.janela.applyScrollBar(iddiv,".customScrollBar",{advanced:{ autoExpandHorizontalScroll: 2 }}); - var b, onButtonClick = function(evt) { - var botao = evt.target; - if (botao) { - if (botao.value != "") { - i3GEO.mapa.ativaTema(botao.value); - i3GEOF.tabela.propJanelas[idjanela].tema = botao.value; - i3GEOF.tabela.inicia(iddiv, idjanela); - } - } - }; - if (!$i(idjanela + "i3GEOFtabelaComboCabecaSel")) { - i3GEO.janela.comboCabecalhoTemasBs( - idjanela + "i3GEOFtabelaComboCabeca", - idjanela + "i3GEOFtabelaComboCabecaSel", - "tabela", - "comTabela", - onButtonClick); - } - i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia1", idjanela + "i3GEOtabelaguia"); - // eventos das guias - $i(idjanela + "i3GEOtabelaguia6").onclick = function() { - i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia6", idjanela + "i3GEOtabelaguia"); - }; - $i(idjanela + "i3GEOtabelaguia1").onclick = function() { - i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia1", idjanela + "i3GEOtabelaguia"); - }; - $i(idjanela + "i3GEOtabelaguia3").onclick = function() { - i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia3", idjanela + "i3GEOtabelaguia"); - if (!$i(idjanela + "i3GEOtabelaComboItensGuia3")) { - i3GEOF.tabela.comboItensEstat(idjanela); - } - }; - // relatorio - $i(idjanela + "i3GEOtabelaguia5").onclick = - function() { - i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia5", idjanela + "i3GEOtabelaguia"); - i3GEO.util.checkItensEditaveis(i3GEOF.tabela.propJanelas[idjanela].tema, function(retorno) { - if (retorno.tipo === "dados") { - $i(idjanela + "i3GEOtabelaitensrelatorio").innerHTML = retorno.dados; - } - }, idjanela + "i3GEOtabelaitensrelatorio", "320px", "", "sim"); - i3GEO.util.comboItens(idjanela + "i3GEOtabelaagrupaItem", i3GEOF.tabela.propJanelas[idjanela].tema, function( - retorno) { - if (retorno.tipo === "erro") { - i3GEO.janela.closeMsg(''); - } else { - $i(idjanela + "i3GEOtabelaagrupamento").innerHTML = retorno.dados; - } - }, idjanela + "i3GEOtabelaagrupamento", "","sim","","form-control"); - }; + var b, onButtonClick = function(evt) { + var botao = evt.target; + if (botao) { + if (botao.value != "") { + i3GEO.mapa.ativaTema(botao.value); + i3GEOF.tabela.propJanelas[idjanela].tema = botao.value; + i3GEOF.tabela.inicia(iddiv, idjanela); + } + } + }; + if (!$i(idjanela + "i3GEOFtabelaComboCabecaSel")) { + i3GEO.janela.comboCabecalhoTemasBs( + idjanela + "i3GEOFtabelaComboCabeca", + idjanela + "i3GEOFtabelaComboCabecaSel", + "tabela", + "comTabela", + onButtonClick); + } + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia1", idjanela + "i3GEOtabelaguia"); + // eventos das guias + $i(idjanela + "i3GEOtabelaguia6").onclick = function() { + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia6", idjanela + "i3GEOtabelaguia"); + }; + $i(idjanela + "i3GEOtabelaguia1").onclick = function() { + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia1", idjanela + "i3GEOtabelaguia"); + }; + $i(idjanela + "i3GEOtabelaguia3").onclick = function() { + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia3", idjanela + "i3GEOtabelaguia"); + if (!$i(idjanela + "i3GEOtabelaComboItensGuia3")) { + i3GEOF.tabela.comboItensEstat(idjanela); + } + }; + // relatorio + $i(idjanela + "i3GEOtabelaguia5").onclick = + function() { + i3GEO.guias.mostraGuiaFerramenta(idjanela + "i3GEOtabelaguia5", idjanela + "i3GEOtabelaguia"); + i3GEO.util.checkItensEditaveis(i3GEOF.tabela.propJanelas[idjanela].tema, function(retorno) { + if (retorno.tipo === "dados") { + $i(idjanela + "i3GEOtabelaitensrelatorio").innerHTML = retorno.dados; + } + }, idjanela + "i3GEOtabelaitensrelatorio", "320px", "", "sim"); + i3GEO.util.comboItens(idjanela + "i3GEOtabelaagrupaItem", i3GEOF.tabela.propJanelas[idjanela].tema, function( + retorno) { + if (retorno.tipo === "erro") { + i3GEO.janela.closeMsg(''); + } else { + $i(idjanela + "i3GEOtabelaagrupamento").innerHTML = retorno.dados; + } + }, idjanela + "i3GEOtabelaagrupamento", "","sim","","form-control"); + }; - if (i3GEO.parametros.r.toLowerCase() !== "sim") { - $i(idjanela + "i3GEOtabelaguia4obj").innerHTML = $trad("x22"); - } - i3GEOF.tabela.pegaRegistros(idjanela); - i3GEO.guias.ajustaGuiaFerramenta(idjanela, idjanela + "i3GEOtabela"); - // - // Apos todos os elementos HTML da ferramenta terem sido renderizados - // aplicam-se os parametros armazenados nas propriedades da janela atual - // Isso e necessario pois os parametros podem ter sido enviados na inicializacao da ferramenta, - // por exemplo, quando um mapa e salvo, os parametros sao armazenados e depois recuperados - // - i3GEOF.tabela.aplicaConfig(idjanela); - if ($i(idjanela)) { - $i(idjanela).style.visibility = "visible"; - } - }, - /* - * Function: html - * - * Gera o código html para apresentação das opções da ferramenta - * - * Retorno: - * - * String com o código html - */ - html : function(idjanela) { - var ins = Mustache.render(i3GEOF.tabela.MUSTACHE, i3GEOF.tabela.mustacheHash(idjanela)); - return ins; - }, - /* - * Function: criaJanelaFlutuante - * - * Cria a janela flutuante para controle da ferramenta. - */ - iniciaJanelaFlutuante : function(parametros) { - var duplica, minimiza, cabecalho, janela, divid, temp, titulo, id; - if (!parametros) { - parametros = {}; - } - // - // configura a tabela baseado no objeto parametros - // se em parametros existir um idjanela, o mesmo e retornado, caso contrario, e criado - // - id = i3GEOF.tabela.configura(parametros); - // - // se existir um elemento HTML com o mesmo ID da janela, a renderizacao ocorrera - // nesse elemento, caso contrario, sera criada uma janela flutuante - // - if (!$i(id) && !$i(id + "_corpo")) { - cabecalho = function() { - i3GEOF.tabela.ativaFoco(id); - }; - minimiza = function() { - i3GEO.janela.minimiza(id,200); - }; - duplica = function() { - i3GEOF.tabela.iniciaJanelaFlutuante(); - }; - // cria a janela flutuante - titulo = "" - + $trad('tabela', i3GEOF.tabela.dicionario) - + " (" + id + " )" - + ""; + if (i3GEO.parametros.r.toLowerCase() !== "sim") { + $i(idjanela + "i3GEOtabelaguia4obj").innerHTML = $trad("x22"); + } + i3GEOF.tabela.pegaRegistros(idjanela); + i3GEO.guias.ajustaGuiaFerramenta(idjanela, idjanela + "i3GEOtabela"); + // + // Apos todos os elementos HTML da ferramenta terem sido renderizados + // aplicam-se os parametros armazenados nas propriedades da janela atual + // Isso e necessario pois os parametros podem ter sido enviados na inicializacao da ferramenta, + // por exemplo, quando um mapa e salvo, os parametros sao armazenados e depois recuperados + // + i3GEOF.tabela.aplicaConfig(idjanela); + if ($i(idjanela)) { + $i(idjanela).style.visibility = "visible"; + } + }, + /* + * Function: html + * + * Gera o código html para apresentação das opções da ferramenta + * + * Retorno: + * + * String com o código html + */ + html : function(idjanela) { + var ins = Mustache.render(i3GEOF.tabela.MUSTACHE, i3GEOF.tabela.mustacheHash(idjanela)); + return ins; + }, + /* + * Function: criaJanelaFlutuante + * + * Cria a janela flutuante para controle da ferramenta. + */ + iniciaJanelaFlutuante : function(parametros) { + var duplica, minimiza, cabecalho, janela, divid, temp, titulo, id; + if (!parametros) { + parametros = {}; + } + // + // configura a tabela baseado no objeto parametros + // se em parametros existir um idjanela, o mesmo e retornado, caso contrario, e criado + // + id = i3GEOF.tabela.configura(parametros); + // + // se existir um elemento HTML com o mesmo ID da janela, a renderizacao ocorrera + // nesse elemento, caso contrario, sera criada uma janela flutuante + // + if (!$i(id) && !$i(id + "_corpo")) { + cabecalho = function() { + i3GEOF.tabela.ativaFoco(id); + }; + minimiza = function() { + i3GEO.janela.minimiza(id,200); + }; + duplica = function() { + i3GEOF.tabela.iniciaJanelaFlutuante(); + }; + // cria a janela flutuante + titulo = "" + + $trad('tabela', i3GEOF.tabela.dicionario) + + " (" + id + " )" + + ""; - janela = i3GEO.janela.cria( - "610px", - "400px", - "", - "", - "", - titulo, - id, - false, - "hd", - cabecalho, - minimiza, - function() { i3GEO.guias.ajustaGuiaFerramenta(id, id + "i3GEOtabela");}, - true, - "", - duplica, - "", - "", - "39" - ); - divid = janela[2].id; - if (i3GEOF.tabela.janelas.length > 1) { - temp = janela[0].cfg.config; - janela[0] - .moveTo(temp.x.value + (i3GEOF.tabela.janelas.length * 50), temp.y.value + (i3GEOF.tabela.janelas.length * 15)); - } - $i(id + "_corpo").style.backgroundColor = "white"; + janela = i3GEO.janela.cria( + "610px", + "400px", + "", + "", + "", + titulo, + id, + false, + "hd", + cabecalho, + minimiza, + function() { i3GEO.guias.ajustaGuiaFerramenta(id, id + "i3GEOtabela");}, + true, + "", + duplica, + "", + "", + "39" + ); + divid = janela[2].id; + if (i3GEOF.tabela.janelas.length > 1) { + temp = janela[0].cfg.config; + janela[0] + .moveTo(temp.x.value + (i3GEOF.tabela.janelas.length * 50), temp.y.value + (i3GEOF.tabela.janelas.length * 15)); + } + $i(id + "_corpo").style.backgroundColor = "white"; - temp = function() { - i3GEOF.tabela.janelas.remove(id); - i3GEOF.tabela.propJanelas[id] = null; - if (i3GEOF.tabela.janelas.length === 0) { - if (i3GEO.Interface.ATUAL === "openlayers") { - i3GEO.eventos.removeEventos("NAVEGAMAPA", [ - "i3GEOF.tabela.atualizaListaDeRegistros()" - ]); - } - if (i3GEO.Interface.ATUAL === "googlemaps") { - google.maps.event.removeListener(tabelaDragend); - google.maps.event.removeListener(tabelaZoomend); - } - } - }; - YAHOO.util.Event.addListener(janela[0].close, "click", temp); - janela[0].bringToTop(); - } else { - // sera renderizado em $i(id) - temp = 'i3GEOF.tabela.propJanelas["' + id + '"].atualiza = this.checked'; - $i(id + "_corpo").innerHTML = - "" - + "
" - + " " - + $trad("atualizaNavegacao", i3GEOF.tabela.dicionario) - + " (" - + id - + ")
"; + temp = function() { + i3GEOF.tabela.janelas.remove(id); + i3GEOF.tabela.propJanelas[id] = null; + if (i3GEOF.tabela.janelas.length === 0) { + if (i3GEO.Interface.ATUAL === "openlayers") { + i3GEO.eventos.removeEventos("NAVEGAMAPA", [ + "i3GEOF.tabela.atualizaListaDeRegistros()" + ]); + } + if (i3GEO.Interface.ATUAL === "googlemaps") { + google.maps.event.removeListener(tabelaDragend); + google.maps.event.removeListener(tabelaZoomend); + } + } + }; + YAHOO.util.Event.addListener(janela[0].close, "click", temp); + janela[0].bringToTop(); + } else { + // sera renderizado em $i(id) + temp = 'i3GEOF.tabela.propJanelas["' + id + '"].atualiza = this.checked'; + $i(id + "_corpo").innerHTML = + "" + + "
" + + " " + + $trad("atualizaNavegacao", i3GEOF.tabela.dicionario) + + " (" + + id + + ")
"; - divid = id + "_corpo"; - } - if ($i(id + "_imagemCabecalho")) { - i3GEOF.tabela.aguarde = $i(id + "_imagemCabecalho").style; - i3GEOF.tabela.propJanelas[id].aguarde = $i(id + "_imagemCabecalho").style; - i3GEOF.tabela.propJanelas[id].atualiza = true; - } - i3GEOF.tabela.inicia(divid, id); - // inicia os eventos - if (i3GEO.Interface.ATUAL === "openlayers") { - i3GEO.eventos.adicionaEventos("NAVEGAMAPA", [ - "i3GEOF.tabela.atualizaListaDeRegistros()" - ]); - } - if (i3GEO.Interface.ATUAL === "googlemaps" && !tabelaDragend) { - tabelaDragend = google.maps.event.addListener(i3GeoMap, "dragend", function() { - i3GEOF.tabela.atualizaListaDeRegistros(); - }); - tabelaZoomend = google.maps.event.addListener(i3GeoMap, "zoomend", function() { - i3GEOF.tebela.atualizaListaDeRegistros(); - }); - } - }, - /** - * Obtem os parametros de cada janela e converte em base64. Cada janela e inserida como um item em um objeto A compactacao e - * utilizada para salvar as configuracoes no mapfile atual - */ - compactaConfig : function() { - var c, g, par, janelas, i, n, novoid; - par = []; - janelas = i3GEOF.tabela.janelas; - n = janelas.length; - for (i = 0; i < n; i++) { - novoid = window.prompt($trad('idDaTabela', i3GEOF.tabela.dicionario), janelas[i]); - c = i3GEOF.tabela.retornaConfig(janelas[i], novoid); - par.push(c); - } - g = YAHOO.lang.JSON.stringify(par); - return i3GEO.util.base64encode(g); - }, - restauraTabelas : function(par) { - i3GEOF.tabela.LISTAREGATIVO = false; - var n, i; - par = i3GEO.util.base64decode(par); - par = JSON.parse(par); - n = par.length; - for (i = 0; i < n; i++) { - i3GEOF.tabela.iniciaJanelaFlutuante(par[i]); - } - }, - /** - * Retorna um objeto contendo os valores de todos os parametros utilizados na tabela de tal forma que possa ser renderizado - * novamente - * - * A funcao i3GEO.php.salvaMapaBanco utiliza retornaConfig e cria um objeto que ira armazenar os parametros de cada janela - */ - retornaConfig : function(idjanela, novoid) { - // as chaves do objeto correspondem ao ID de cada elemento - var c, par; + divid = id + "_corpo"; + } + if ($i(id + "_imagemCabecalho")) { + i3GEOF.tabela.aguarde = $i(id + "_imagemCabecalho").style; + i3GEOF.tabela.propJanelas[id].aguarde = $i(id + "_imagemCabecalho").style; + i3GEOF.tabela.propJanelas[id].atualiza = true; + } + i3GEOF.tabela.inicia(divid, id); + // inicia os eventos + if (i3GEO.Interface.ATUAL === "openlayers") { + i3GEO.eventos.adicionaEventos("NAVEGAMAPA", [ + "i3GEOF.tabela.atualizaListaDeRegistros()" + ]); + } + if (i3GEO.Interface.ATUAL === "googlemaps" && !tabelaDragend) { + tabelaDragend = google.maps.event.addListener(i3GeoMap, "dragend", function() { + i3GEOF.tabela.atualizaListaDeRegistros(); + }); + tabelaZoomend = google.maps.event.addListener(i3GeoMap, "zoomend", function() { + i3GEOF.tebela.atualizaListaDeRegistros(); + }); + } + }, + /** + * Obtem os parametros de cada janela e converte em base64. Cada janela e inserida como um item em um objeto A compactacao e + * utilizada para salvar as configuracoes no mapfile atual + */ + compactaConfig : function() { + var c, g, par, janelas, i, n, novoid; + par = []; + janelas = i3GEOF.tabela.janelas; + n = janelas.length; + for (i = 0; i < n; i++) { + novoid = window.prompt($trad('idDaTabela', i3GEOF.tabela.dicionario), janelas[i]); + c = i3GEOF.tabela.retornaConfig(janelas[i], novoid); + par.push(c); + } + g = YAHOO.lang.JSON.stringify(par); + return i3GEO.util.base64encode(g); + }, + restauraTabelas : function(par) { + i3GEOF.tabela.LISTAREGATIVO = false; + var n, i; + par = i3GEO.util.base64decode(par); + par = JSON.parse(par); + n = par.length; + for (i = 0; i < n; i++) { + i3GEOF.tabela.iniciaJanelaFlutuante(par[i]); + } + }, + /** + * Retorna um objeto contendo os valores de todos os parametros utilizados na tabela de tal forma que possa ser renderizado + * novamente + * + * A funcao i3GEO.php.salvaMapaBanco utiliza retornaConfig e cria um objeto que ira armazenar os parametros de cada janela + */ + retornaConfig : function(idjanela, novoid) { + // as chaves do objeto correspondem ao ID de cada elemento + var c, par; - par = i3GEOF.tabela.propJanelas[idjanela]; - c = $i(idjanela); - // p = $i(idjanela+"i3GEOtabelaguia6obj"); - if (!novoid) { - novoid = idjanela; - } - // pega todos os elementos do tipo input - /* - * objs = p.getElementsByTagName("input"); for (obj in objs) { if (objs[obj].id && objs[obj].id != "") { tmpid = - * objs[obj].id.replace(idjanela,novoid); if (objs[obj].type === "text") { par[tmpid] = objs[obj].value; } else { par[tmpid] = - * objs[obj].checked; } } } // pega todos os elementos do tipo select objs = p.getElementsByTagName("select"); for (obj in objs) { - * if (objs[obj].id && objs[obj].id != "") { tmpid = objs[obj].id.replace(idjanela,novoid); par[tmpid] = objs[obj].value; } } - */ - par.dados = ""; - try { - par["i3GEOtabelainicio"] = $i(idjanela + "i3GEOtabelainicio").value; - par["i3GEOtabelafim"] = $i(idjanela + "i3GEOtabelafim").value; - par["idjanela"] = novoid; - par["w"] = c.style.width; - par["h"] = c.style.height; - } catch (e) { - } - return par; - }, - /* - * Function: ativaFoco - * - * Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado - */ - ativaFoco : function(id) { + par = i3GEOF.tabela.propJanelas[idjanela]; + c = $i(idjanela); + // p = $i(idjanela+"i3GEOtabelaguia6obj"); + if (!novoid) { + novoid = idjanela; + } + // pega todos os elementos do tipo input + /* + * objs = p.getElementsByTagName("input"); for (obj in objs) { if (objs[obj].id && objs[obj].id != "") { tmpid = + * objs[obj].id.replace(idjanela,novoid); if (objs[obj].type === "text") { par[tmpid] = objs[obj].value; } else { par[tmpid] = + * objs[obj].checked; } } } // pega todos os elementos do tipo select objs = p.getElementsByTagName("select"); for (obj in objs) { + * if (objs[obj].id && objs[obj].id != "") { tmpid = objs[obj].id.replace(idjanela,novoid); par[tmpid] = objs[obj].value; } } + */ + par.dados = ""; + try { + par["i3GEOtabelainicio"] = $i(idjanela + "i3GEOtabelainicio").value; + par["i3GEOtabelafim"] = $i(idjanela + "i3GEOtabelafim").value; + par["idjanela"] = novoid; + par["w"] = c.style.width; + par["h"] = c.style.height; + } catch (e) { + } + return par; + }, + /* + * Function: ativaFoco + * + * Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado + */ + ativaFoco : function(id) { - }, - vinculos : { - ligacoes : [], - /** - * Susbtitutos para o template - */ - mustacheHash : function() { - var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.tabela.dicionario); - dicionario["locaplic"] = i3GEO.configura.locaplic; - dicionario["comboJanelas1"] = i3GEOF.tabela.comboJanelas("i3GEOFTabelaOpcoesAdicionaVinculoT1", "i3GEOF.tabela.vinculos.comboColunasT1()"); - dicionario["comboJanelas2"] = i3GEOF.tabela.comboJanelas("i3GEOFTabelaOpcoesAdicionaVinculoT2", "i3GEOF.tabela.vinculos.comboColunasT2()"); - return dicionario; - }, - iniciaJanelaFlutuante : function() { - var janela, titulo; - // cria a janela flutuante - titulo = "" - + $trad('vinculos', i3GEOF.tabela.dicionario) - + ""; - janela = - i3GEO.janela.cria( - "400px", - "350px", - "", - "", - "", - titulo, - "i3GEOFtabelaVinculos", - false, - "hd", - "", - "", - "", - true, - "", - "", - "", - "", - "120" - ); - divid = janela[2].id; - if (i3GEOF.tabela.janelas.length > 1) { - temp = janela[0].cfg.config; - janela[0] - .moveTo(temp.x.value + (i3GEOF.tabela.janelas.length * 50), temp.y.value + (i3GEOF.tabela.janelas.length * 15)); - } - $i("i3GEOFtabelaVinculos_corpo").style.backgroundColor = "white"; - i3GEOF.tabela.vinculos.inicia(); - }, - html : function() { - var ins = Mustache.render(i3GEOF.tabela.MUSTACHEVINCULO, i3GEOF.tabela.vinculos.mustacheHash()); - return ins; - }, - vincular: function(){ - var t1 = $i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value, t2 = - $i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value, c1 = - $i("i3GEOFTabelaOpcoesAdicionaVinculoColunaT1").value, c2 = - $i("i3GEOFTabelaOpcoesAdicionaVinculoColunaT1").value; - if (t1 != "" && t2 != "" && c1 != "" && c2 != "") { - i3GEOF.tabela.vinculos.ligacoes.push({ - "t1" : t1, - "t2" : t2, - "c1" : c1, - "c2" : c2 - }); - } - i3GEOF.tabela.vinculos.lista(); - }, - inicia : function() { - var ins = i3GEOF.tabela.vinculos.html(); - $i("i3GEOFtabelaVinculos_corpo").innerHTML = ins; - i3GEOF.tabela.vinculos.lista(); - }, - comboColunasT1 : function() { - var colunas = ""; - if($i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value != ""){ - colunas = i3GEOF.tabela.comboColunas($i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value, "i3GEOFTabelaOpcoesAdicionaVinculoColunaT1"); - } - $i("i3GEOFTabelaVinculoT1Colunas").innerHTML = colunas; - }, - comboColunasT2 : function() { - var colunas = ""; - if($i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value != ""){ - colunas = i3GEOF.tabela.comboColunas($i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value, "i3GEOFTabelaOpcoesAdicionaVinculoColunaT2"); - } - $i("i3GEOFTabelaVinculoT2Colunas").innerHTML = colunas; - }, - lista : function() { - var v = i3GEOF.tabela.vinculos.ligacoes, n = v.length, ins = - "
" + $trad('vinculos', i3GEOF.tabela.dicionario) + "
", i; - for (i = 0; i < n; i++) { - ins += '' - + "
" + v[i].t1 - + " " - + v[i].c1 - + " ->
" - + v[i].t2 - + " " - + v[i].c2 - + "
"; - } - $i("i3GEOFtabelaVinculosLista").innerHTML = ins; - }, - excluir : function(i) { - i3GEOF.tabela.vinculos.ligacoes.splice(parseInt(i, 10), 1); - i3GEOF.tabela.vinculos.lista(); - }, - atualizaVinculos : function(tabelaOrigem, registro, marcado) { - var v = i3GEOF.tabela.vinculos.ligacoes, n = v.length, i, valor; - if (n > 0) { - for (i = 0; i < n; i++) { - // verifica se o vinculo existe - if (v[i].t1 === tabelaOrigem) { - // pega o valor do registro na tabela origem - valor = i3GEOF.tabela.vinculos.pegaValorRegistro(v[i].t1, v[i].c1, registro); - // marca o registro na tabela destino - i3GEOF.tabela.vinculos.registro(v[i].t2, v[i].c2, valor, marcado); - } - if (v[i].t2 === tabelaOrigem) { - // pega o valor do registro na tabela origem - valor = i3GEOF.tabela.vinculos.pegaValorRegistro(v[i].t2, v[i].c2, registro); - // marca o registro na tabela destino - i3GEOF.tabela.vinculos.registro(v[i].t1, v[i].c1, valor, marcado); - } - } - } - }, - // verifica qtas colunas devem ser puladas em cada linha - colunasVazias : function(idjanela) { - var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), pular = 0, colunas, n, i; - colunas = linhas[0].getElementsByTagName("td"); - n = colunas.length; - for (i = 0; i < n; i++) { - if (colunas[i].innerHTML == "") { - pular++; - } - } - return pular; - }, - // pega o indice de uma coluna em uma tabela buscando no cabecalho - // no valor de title em cada celula - indiceColuna : function(idjanela, t) { - var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), linha = linhas[0], colunas = - linha.getElementsByTagName("td"), indice = 0, n = colunas.length, i, s; - for (i = 0; i < n; i++) { - s = colunas[i].getElementsByTagName("span"); - if (s && s[0] && s[0].title && s[0].title == t) { - return i; - } - } - return indice; - }, - // retorna o indice de uma coluna que contem a tag input na tabela - // com a lista de valores - indiceColunaInput : function(idjanela) { - var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), linha = linhas[1], colunas = - linha.getElementsByTagName("td"), indice = 0, n = colunas.length, i; - for (i = 0; i < n; i++) { - if (colunas[i].getElementsByTagName("input").length > 0) { - return i; - } - } - return indice; - }, - // pega o valor da coluna em uma tabela com a lista de valores com - // base no codigo do registro - pegaValorRegistro : function(idjanela, coluna, registro) { - var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), n = linhas.length, indiceColuna = - i3GEOF.tabela.vinculos.indiceColuna(idjanela, coluna), indiceColunaInput = - i3GEOF.tabela.vinculos.indiceColunaInput(idjanela), i, linha, colunas; - for (i = 1; i < n; i++) { - linha = linhas[i]; - colunas = linha.getElementsByTagName("td"); - if (colunas[indiceColunaInput].getElementsByTagName("input")[0].name == registro) { - return colunas[indiceColuna].innerHTML; - } - } - return ""; - }, - registro : function(idjanela, coluna, valor, marcado) { - var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), n = linhas.length, indiceColuna = - i3GEOF.tabela.vinculos.indiceColuna(idjanela, coluna), indiceColunaInput = - i3GEOF.tabela.vinculos.indiceColunaInput(idjanela), i, linha, colunas, reg; - for (i = 1; i < n; i++) { - linha = linhas[i]; - colunas = linha.getElementsByTagName("td"); - if (colunas[indiceColuna].innerHTML == valor) { - reg = colunas[indiceColunaInput].getElementsByTagName("input")[0]; - reg.checked = marcado; - i3GEOF.tabela.propJanelas[idjanela].registros[reg.name] = marcado; - } - } - }, - }, - comboJanelas : function(idcombo, funcao, w) { - var i, n = i3GEOF.tabela.janelas.length; - if (!funcao) { - funcao = ""; - } - if (!w) { - w = 260; - } - ins = - "" + " "; - return ins; - }, - comboColunas : function(idJanela, idcombo, funcao) { - var i, c = i3GEOF.tabela.propJanelas[idJanela].colunas, n = c.itens.length; - if (!funcao) { - funcao = ""; - } - ins = ""; - return ins; - }, - /* - * Function: ativaAutoAtualiza - * - * Ativa ou desativa a atualização automática da tabela quando o usuário navega no mapa - */ - atualizaListaDeRegistros : function() { - var i, janelas = i3GEOF.tabela.janelas, propJanelas = i3GEOF.tabela.propJanelas, n = janelas.length; - for (i = 0; i < n; i++) { - if (propJanelas[janelas[i]].atualiza === true) { - i3GEOF.tabela.pegaRegistros(janelas[i]); - } - } - }, - /* - * Function: pegaRegistros - * - * Pega os registros da tabela de atributos do tema - * - * Veja: - * - * - */ - pegaRegistros : function(idjanela, tipolista, dadosDaClasse, inicio, fim, funcao) { - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { - return; - } - if (!idjanela) { - idjanela = ""; - } - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; - $i(idjanela + "i3GEOtabelaregistros").innerHTML = ""; - var p, ext, tiporeg = "brasil", cp = new cpaint(); - // verifica se esta no modo de atualizacao automatica - if (i3GEOF.tabela.propJanelas[idjanela].atualiza === true) { - tiporeg = "mapa"; - } - if (!tipolista) { - if ($i(idjanela + "i3GEOtabelatipolista").checked) { - tipolista = "selecionados"; - } else { - tipolista = "tudo"; - } - } - if (!dadosDaClasse) { - if ($i(idjanela + "i3GEOtabelalegenda").checked) { - dadosDaClasse = "sim"; - } else { - dadosDaClasse = "nao"; - } - } - if (!inicio) { - inicio = $i(idjanela + "i3GEOtabelainicio").value - 1; - } else { - inicio = ""; - } - if (!fim) { - fim = $i(idjanela + "i3GEOtabelafim").value - 1; - } else { - fim = ""; - } - if (!funcao) { - funcao = function(retorno) { - i3GEOF.tabela.propJanelas[idjanela].registros = []; - i3GEOF.tabela.montaTabela(retorno, idjanela); - }; - } - ext = i3GEO.parametros.mapexten; - ext = i3GEO.util.extOSM2Geo(ext); - p = - i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid=" - + i3GEO.configura.sid - + "&funcao=listaregistros" - + "&inicio=" - + inicio - + "&fim=" - + fim - + "&tema=" - + i3GEOF.tabela.propJanelas[idjanela].tema - + "&tipo=" - + tiporeg - + "&tipolista=" - + tipolista - + "&ext=" - + ext - + "&dadosDaClasse=" - + dadosDaClasse; - cp.set_response_type("JSON"); - cp.call(p, "listaRegistros", funcao); - }, - /* - * Function: montaTabela - * - * Monta a visualização da tabela de atributos - */ - montaTabela : function(retorno, idjanela) { - if (retorno.data !== undefined) { - var mustache = { - "idjanela": "", - "cabecalho": [{"classe":"hidden"},{"classe":"hidden"},{"classe":"hidden"},{"classe":"hidden"}], //4 colunas com icones - "linhas": [], - "ordena": $trad('ordena', i3GEOF.tabela.dicionario), - "excluir": $trad("t12") - }, - linha = { - "classezoom": "", - "ext": "", - "indice": "", - "idjanela": "" - }, - ins, i, vals, cor, j, n, stat, imagem, registros = i3GEOF.tabela.propJanelas[idjanela].registros, i3GEOtabelalegenda = - $i(idjanela + "i3GEOtabelalegenda").checked; - // cabecalho da tabela - mustache["idjanela"] = idjanela; - i3GEOF.tabela.propJanelas[idjanela].colunas = { - "itens" : retorno.data[0].itens, - "alias" : retorno.data[0].alias - }; - n = retorno.data[0].itens.length; - for (i = 0; i < n; i++) { - mustache.cabecalho.push({ - "idcoluna": i * 1 + 4, //pq tem 3 colunas com icones - "idjanela": idjanela, - "item": retorno.data[0].itens[i], - "alias": retorno.data[0].alias[i], - "classe": "" - }); - } - n = retorno.data[1].registros.length; - if ($i(idjanela + "i3GEOtabelafim").value === "") { - $i(idjanela + "i3GEOtabelafim").value = n - 1; - } - for (i = 0; i < n; i++) { - linha = {}; - linha.classezoom = "hidden"; - linha.ext = ""; - linha.idjanela = idjanela; - linha.indice = retorno.data[1].registros[i].indice; - if (retorno.data[1].registros[i].ext && retorno.data[1].registros[i].ext != "") { - linha.classezoom = ""; - linha.ext = retorno.data[1].registros[i].ext; - } - linha.stat = ""; - if (retorno.data[1].registros[i].status === "CHECKED") { - linha.stat = "CHECKED"; - } - if (registros[retorno.data[1].registros[i].indice]) { - if (registros[retorno.data[1].registros[i].indice] === true) { - linha.stat = "CHECKED"; - } else { - linha.stat = ""; - } - } - if (i3GEOtabelalegenda == true) { - linha.classelegenda = ""; - linha.nomeClasse = retorno.data[1].registros[i].classe["nome"]; - linha.imagemClasse = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]]; - imagem = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]]; - } else { - linha.classelegenda = "hidden"; - linha.nomeClasse = ""; - linha.imagemClasse = ""; - } - if (linha.stat === "CHECKED") { - registros[retorno.data[1].registros[i].indice] = true; - } - vals = retorno.data[1].registros[i].valores; - linha.colunas = ""; - for (j = 0; j < vals.length; j++) { - linha.colunas += "" + vals[j].valor + ""; - } - mustache.linhas.push(linha); - } - ins = Mustache.render(i3GEOF.tabela.MUSTACHELISTA, mustache); - $i(idjanela + "i3GEOtabelaregistros").innerHTML = ins; - } - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - }, - /* - * Function: mais - * - * Avança o contador de registros para a listagem - */ - mais : function(idjanela) { - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { - return; - } - var i = $i(idjanela + "i3GEOtabelainicio").value * 1, f = $i(idjanela + "i3GEOtabelafim").value * 1, d = f - i; - $i(idjanela + "i3GEOtabelainicio").value = f + 1; - $i(idjanela + "i3GEOtabelafim").value = f + d + 1; - i3GEOF.tabela.pegaRegistros(idjanela); - }, - /* - * Function: todos - * - * Avança o contador de registros para o fim da listagem - */ - todos : function(idjanela) { - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { - return; - } - $i(idjanela + "i3GEOtabelainicio").value = 1; - $i(idjanela + "i3GEOtabelafim").value = ""; - i3GEOF.tabela.pegaRegistros(idjanela, false, false, false, 1, false); - }, - /* - * Function: menos - * - * Retrocede o contador de registros para a listagem - */ - menos : function(idjanela) { - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { - return; - } - var i = $i(idjanela + "i3GEOtabelainicio").value * 1, f = $i(idjanela + "i3GEOtabelafim").value * 1, d = f - i; - $i(idjanela + "i3GEOtabelainicio").value = i - d - 1; - $i(idjanela + "i3GEOtabelafim").value = i - 1; - if ($i(idjanela + "i3GEOtabelainicio").value < 1) { - $i(idjanela + "i3GEOtabelainicio").value = 1; - $i(idjanela + "i3GEOtabelafim").value = 1 + d; - } - i3GEOF.tabela.pegaRegistros(idjanela); - }, - /* - * Function: excluiColuna - * - * Exclui uma coluna da visualização da tabela - */ - excluiColuna : function(coluna, cid, idjanela) { - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; - try { - var tabela = $i(idjanela + "i3GEOtabelatabelai"), trs, tds, i, t, nt, ni; - // pega o indice correto - tds = coluna.parentNode.parentNode.getElementsByTagName("td"); - nt = tds.length; - for (t = 0; t < nt; t++) { - if (tds[t].accessKey == cid) { - cid = t; - break; - } - } - trs = tabela.getElementsByTagName("tr"); - nt = trs.length; - for (t = 0; t < nt; t++) { - i = trs[t]; - if (i.getElementsByTagName("td")[cid]) { - ni = i.getElementsByTagName("td")[cid]; - i.removeChild(ni); - } - } - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - } catch (e) { - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - if (typeof (console) !== 'undefined') { - console.error(e); - } - } - }, - /* - * Function: ordenaColuna - * - * Ordena uma coluna da tabela - */ - ordenaColuna : function(coluna, cid, idjanela) { - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; - try { - var tabela = $i(idjanela + "i3GEOtabelatabelai"), trs = tabela.getElementsByTagName("tr"), - ntrs = trs.length, tds, nt, conta = 0, psort = [], t, psortfim, npsortfim, ins, p, e; - // pega o indice correto - tds = coluna.parentNode.parentNode.getElementsByTagName("td"); - nt = tds.length; - for (t = 0; t < nt; t++) { - if (tds[t].accessKey == cid) { - cid = t; - break; - } - } - for (t = 0; t < ntrs; t++) { - if (t < ntrs) { - //if (trs[t].childNodes[cid].innerHTML) { - //if (trs[t].getElementsByTagName("td")[cid].innerHTML !== "undefined") { - psort[conta] = trs[t].getElementsByTagName("td")[cid].innerHTML + "@$" + conta; - conta = conta + 1; - //} - //} - } - } + }, + vinculos : { + ligacoes : [], + /** + * Susbtitutos para o template + */ + mustacheHash : function() { + var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.tabela.dicionario); + dicionario["locaplic"] = i3GEO.configura.locaplic; + dicionario["comboJanelas1"] = i3GEOF.tabela.comboJanelas("i3GEOFTabelaOpcoesAdicionaVinculoT1", "i3GEOF.tabela.vinculos.comboColunasT1()"); + dicionario["comboJanelas2"] = i3GEOF.tabela.comboJanelas("i3GEOFTabelaOpcoesAdicionaVinculoT2", "i3GEOF.tabela.vinculos.comboColunasT2()"); + return dicionario; + }, + iniciaJanelaFlutuante : function() { + var janela, titulo; + // cria a janela flutuante + titulo = "" + + $trad('vinculos', i3GEOF.tabela.dicionario) + + ""; + janela = + i3GEO.janela.cria( + "400px", + "350px", + "", + "", + "", + titulo, + "i3GEOFtabelaVinculos", + false, + "hd", + "", + "", + "", + true, + "", + "", + "", + "", + "120" + ); + divid = janela[2].id; + if (i3GEOF.tabela.janelas.length > 1) { + temp = janela[0].cfg.config; + janela[0] + .moveTo(temp.x.value + (i3GEOF.tabela.janelas.length * 50), temp.y.value + (i3GEOF.tabela.janelas.length * 15)); + } + $i("i3GEOFtabelaVinculos_corpo").style.backgroundColor = "white"; + i3GEOF.tabela.vinculos.inicia(); + }, + html : function() { + var ins = Mustache.render(i3GEOF.tabela.MUSTACHEVINCULO, i3GEOF.tabela.vinculos.mustacheHash()); + return ins; + }, + vincular: function(){ + var t1 = $i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value, t2 = + $i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value, c1 = + $i("i3GEOFTabelaOpcoesAdicionaVinculoColunaT1").value, c2 = + $i("i3GEOFTabelaOpcoesAdicionaVinculoColunaT1").value; + if (t1 != "" && t2 != "" && c1 != "" && c2 != "") { + i3GEOF.tabela.vinculos.ligacoes.push({ + "t1" : t1, + "t2" : t2, + "c1" : c1, + "c2" : c2 + }); + } + i3GEOF.tabela.vinculos.lista(); + }, + inicia : function() { + var ins = i3GEOF.tabela.vinculos.html(); + $i("i3GEOFtabelaVinculos_corpo").innerHTML = ins; + i3GEOF.tabela.vinculos.lista(); + }, + comboColunasT1 : function() { + var colunas = ""; + if($i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value != ""){ + colunas = i3GEOF.tabela.comboColunas($i("i3GEOFTabelaOpcoesAdicionaVinculoT1").value, "i3GEOFTabelaOpcoesAdicionaVinculoColunaT1"); + } + $i("i3GEOFTabelaVinculoT1Colunas").innerHTML = colunas; + }, + comboColunasT2 : function() { + var colunas = ""; + if($i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value != ""){ + colunas = i3GEOF.tabela.comboColunas($i("i3GEOFTabelaOpcoesAdicionaVinculoT2").value, "i3GEOFTabelaOpcoesAdicionaVinculoColunaT2"); + } + $i("i3GEOFTabelaVinculoT2Colunas").innerHTML = colunas; + }, + lista : function() { + var v = i3GEOF.tabela.vinculos.ligacoes, n = v.length, ins = + "
" + $trad('vinculos', i3GEOF.tabela.dicionario) + "
", i; + for (i = 0; i < n; i++) { + ins += '' + + "
" + v[i].t1 + + " " + + v[i].c1 + + " ->
" + + v[i].t2 + + " " + + v[i].c2 + + "
"; + } + $i("i3GEOFtabelaVinculosLista").innerHTML = ins; + }, + excluir : function(i) { + i3GEOF.tabela.vinculos.ligacoes.splice(parseInt(i, 10), 1); + i3GEOF.tabela.vinculos.lista(); + }, + atualizaVinculos : function(tabelaOrigem, registro, marcado) { + var v = i3GEOF.tabela.vinculos.ligacoes, n = v.length, i, valor; + if (n > 0) { + for (i = 0; i < n; i++) { + // verifica se o vinculo existe + if (v[i].t1 === tabelaOrigem) { + // pega o valor do registro na tabela origem + valor = i3GEOF.tabela.vinculos.pegaValorRegistro(v[i].t1, v[i].c1, registro); + // marca o registro na tabela destino + i3GEOF.tabela.vinculos.registro(v[i].t2, v[i].c2, valor, marcado); + } + if (v[i].t2 === tabelaOrigem) { + // pega o valor do registro na tabela origem + valor = i3GEOF.tabela.vinculos.pegaValorRegistro(v[i].t2, v[i].c2, registro); + // marca o registro na tabela destino + i3GEOF.tabela.vinculos.registro(v[i].t1, v[i].c1, valor, marcado); + } + } + } + }, + // verifica qtas colunas devem ser puladas em cada linha + colunasVazias : function(idjanela) { + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), pular = 0, colunas, n, i; + colunas = linhas[0].getElementsByTagName("td"); + n = colunas.length; + for (i = 0; i < n; i++) { + if (colunas[i].innerHTML == "") { + pular++; + } + } + return pular; + }, + // pega o indice de uma coluna em uma tabela buscando no cabecalho + // no valor de title em cada celula + indiceColuna : function(idjanela, t) { + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), linha = linhas[0], colunas = + linha.getElementsByTagName("td"), indice = 0, n = colunas.length, i, s; + for (i = 0; i < n; i++) { + s = colunas[i].getElementsByTagName("span"); + if (s && s[0] && s[0].title && s[0].title == t) { + return i; + } + } + return indice; + }, + // retorna o indice de uma coluna que contem a tag input na tabela + // com a lista de valores + indiceColunaInput : function(idjanela) { + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), linha = linhas[1], colunas = + linha.getElementsByTagName("td"), indice = 0, n = colunas.length, i; + for (i = 0; i < n; i++) { + if (colunas[i].getElementsByTagName("input").length > 0) { + return i; + } + } + return indice; + }, + // pega o valor da coluna em uma tabela com a lista de valores com + // base no codigo do registro + pegaValorRegistro : function(idjanela, coluna, registro) { + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), n = linhas.length, indiceColuna = + i3GEOF.tabela.vinculos.indiceColuna(idjanela, coluna), indiceColunaInput = + i3GEOF.tabela.vinculos.indiceColunaInput(idjanela), i, linha, colunas; + for (i = 1; i < n; i++) { + linha = linhas[i]; + colunas = linha.getElementsByTagName("td"); + if (colunas[indiceColunaInput].getElementsByTagName("input")[0].name == registro) { + return colunas[indiceColuna].innerHTML; + } + } + return ""; + }, + registro : function(idjanela, coluna, valor, marcado) { + var tabela = $i(idjanela + "i3GEOtabelatabelai"), linhas = tabela.getElementsByTagName("tr"), n = linhas.length, indiceColuna = + i3GEOF.tabela.vinculos.indiceColuna(idjanela, coluna), indiceColunaInput = + i3GEOF.tabela.vinculos.indiceColunaInput(idjanela), i, linha, colunas, reg; + for (i = 1; i < n; i++) { + linha = linhas[i]; + colunas = linha.getElementsByTagName("td"); + if (colunas[indiceColuna].innerHTML == valor) { + reg = colunas[indiceColunaInput].getElementsByTagName("input")[0]; + reg.checked = marcado; + i3GEOF.tabela.propJanelas[idjanela].registros[reg.name] = marcado; + } + } + }, + }, + comboJanelas : function(idcombo, funcao, w) { + var i, n = i3GEOF.tabela.janelas.length; + if (!funcao) { + funcao = ""; + } + if (!w) { + w = 260; + } + ins = + "" + " "; + return ins; + }, + comboColunas : function(idJanela, idcombo, funcao) { + var i, c = i3GEOF.tabela.propJanelas[idJanela].colunas, n = c.itens.length; + if (!funcao) { + funcao = ""; + } + ins = ""; + return ins; + }, + /* + * Function: ativaAutoAtualiza + * + * Ativa ou desativa a atualização automática da tabela quando o usuário navega no mapa + */ + atualizaListaDeRegistros : function() { + var i, janelas = i3GEOF.tabela.janelas, propJanelas = i3GEOF.tabela.propJanelas, n = janelas.length; + for (i = 0; i < n; i++) { + if (propJanelas[janelas[i]].atualiza === true) { + i3GEOF.tabela.pegaRegistros(janelas[i]); + } + } + }, + /* + * Function: pegaRegistros + * + * Pega os registros da tabela de atributos do tema + * + * Veja: + * + * + */ + pegaRegistros : function(idjanela, tipolista, dadosDaClasse, inicio, fim, funcao) { + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { + return; + } + if (!idjanela) { + idjanela = ""; + } + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; + $i(idjanela + "i3GEOtabelaregistros").innerHTML = ""; + var p, ext, tiporeg = "brasil", cp = new cpaint(); + // verifica se esta no modo de atualizacao automatica + if (i3GEOF.tabela.propJanelas[idjanela].atualiza === true) { + tiporeg = "mapa"; + } + if (!tipolista) { + if ($i(idjanela + "i3GEOtabelatipolista").checked) { + tipolista = "selecionados"; + } else { + tipolista = "tudo"; + } + } + if (!dadosDaClasse) { + if ($i(idjanela + "i3GEOtabelalegenda").checked) { + dadosDaClasse = "sim"; + } else { + dadosDaClasse = "nao"; + } + } + if (!inicio) { + inicio = $i(idjanela + "i3GEOtabelainicio").value - 1; + } else { + inicio = ""; + } + if (!fim) { + fim = $i(idjanela + "i3GEOtabelafim").value - 1; + } else { + fim = ""; + } + if (!funcao) { + funcao = function(retorno) { + i3GEOF.tabela.propJanelas[idjanela].registros = []; + i3GEOF.tabela.montaTabela(retorno, idjanela); + }; + } + ext = i3GEO.parametros.mapexten; + ext = i3GEO.util.extOSM2Geo(ext); + p = + i3GEO.configura.locaplic + "/classesphp/mapa_controle.php?g_sid=" + + i3GEO.configura.sid + + "&funcao=listaregistros" + + "&inicio=" + + inicio + + "&fim=" + + fim + + "&tema=" + + i3GEOF.tabela.propJanelas[idjanela].tema + + "&tipo=" + + tiporeg + + "&tipolista=" + + tipolista + + "&ext=" + + ext + + "&dadosDaClasse=" + + dadosDaClasse; + cp.set_response_type("JSON"); + cp.call(p, "listaRegistros", funcao); + }, + /* + * Function: montaTabela + * + * Monta a visualização da tabela de atributos + */ + montaTabela : function(retorno, idjanela) { + if (retorno.data !== undefined) { + var mustache = { + "idjanela": "", + "cabecalho": [{"classe":"hidden"},{"classe":"hidden"},{"classe":"hidden"},{"classe":"hidden"}], //4 colunas com icones + "linhas": [], + "ordena": $trad('ordena', i3GEOF.tabela.dicionario), + "excluir": $trad("t12") + }, + linha = { + "classezoom": "", + "ext": "", + "indice": "", + "idjanela": "" + }, + ins, i, vals, cor, j, n, stat, imagem, registros = i3GEOF.tabela.propJanelas[idjanela].registros, i3GEOtabelalegenda = + $i(idjanela + "i3GEOtabelalegenda").checked; + // cabecalho da tabela + mustache["idjanela"] = idjanela; + i3GEOF.tabela.propJanelas[idjanela].colunas = { + "itens" : retorno.data[0].itens, + "alias" : retorno.data[0].alias + }; + n = retorno.data[0].itens.length; + for (i = 0; i < n; i++) { + mustache.cabecalho.push({ + "idcoluna": i * 1 + 4, //pq tem 3 colunas com icones + "idjanela": idjanela, + "item": retorno.data[0].itens[i], + "alias": retorno.data[0].alias[i], + "classe": "" + }); + } + n = retorno.data[1].registros.length; + if ($i(idjanela + "i3GEOtabelafim").value === "") { + $i(idjanela + "i3GEOtabelafim").value = n - 1; + } + for (i = 0; i < n; i++) { + linha = {}; + linha.classezoom = "hidden"; + linha.ext = ""; + linha.idjanela = idjanela; + linha.indice = retorno.data[1].registros[i].indice; + if (retorno.data[1].registros[i].ext && retorno.data[1].registros[i].ext != "") { + linha.classezoom = ""; + linha.ext = retorno.data[1].registros[i].ext; + } + linha.stat = ""; + if (retorno.data[1].registros[i].status === "CHECKED") { + linha.stat = "CHECKED"; + } + if (registros[retorno.data[1].registros[i].indice]) { + if (registros[retorno.data[1].registros[i].indice] === true) { + linha.stat = "CHECKED"; + } else { + linha.stat = ""; + } + } + if (i3GEOtabelalegenda == true) { + linha.classelegenda = ""; + linha.nomeClasse = retorno.data[1].registros[i].classe["nome"]; + linha.imagemClasse = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]]; + imagem = retorno.data.legenda[retorno.data[1].registros[i].classe["indice"]]; + } else { + linha.classelegenda = "hidden"; + linha.nomeClasse = ""; + linha.imagemClasse = ""; + } + if (linha.stat === "CHECKED") { + registros[retorno.data[1].registros[i].indice] = true; + } + vals = retorno.data[1].registros[i].valores; + linha.colunas = ""; + for (j = 0; j < vals.length; j++) { + linha.colunas += "" + vals[j].valor + ""; + } + mustache.linhas.push(linha); + } + ins = Mustache.render(i3GEOF.tabela.MUSTACHELISTA, mustache); + $i(idjanela + "i3GEOtabelaregistros").innerHTML = ins; + } + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + }, + /* + * Function: mais + * + * Avança o contador de registros para a listagem + */ + mais : function(idjanela) { + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { + return; + } + var i = $i(idjanela + "i3GEOtabelainicio").value * 1, f = $i(idjanela + "i3GEOtabelafim").value * 1, d = f - i; + $i(idjanela + "i3GEOtabelainicio").value = f + 1; + $i(idjanela + "i3GEOtabelafim").value = f + d + 1; + i3GEOF.tabela.pegaRegistros(idjanela); + }, + /* + * Function: todos + * + * Avança o contador de registros para o fim da listagem + */ + todos : function(idjanela) { + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { + return; + } + $i(idjanela + "i3GEOtabelainicio").value = 1; + $i(idjanela + "i3GEOtabelafim").value = ""; + i3GEOF.tabela.pegaRegistros(idjanela, false, false, false, 1, false); + }, + /* + * Function: menos + * + * Retrocede o contador de registros para a listagem + */ + menos : function(idjanela) { + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { + return; + } + var i = $i(idjanela + "i3GEOtabelainicio").value * 1, f = $i(idjanela + "i3GEOtabelafim").value * 1, d = f - i; + $i(idjanela + "i3GEOtabelainicio").value = i - d - 1; + $i(idjanela + "i3GEOtabelafim").value = i - 1; + if ($i(idjanela + "i3GEOtabelainicio").value < 1) { + $i(idjanela + "i3GEOtabelainicio").value = 1; + $i(idjanela + "i3GEOtabelafim").value = 1 + d; + } + i3GEOF.tabela.pegaRegistros(idjanela); + }, + /* + * Function: excluiColuna + * + * Exclui uma coluna da visualização da tabela + */ + excluiColuna : function(coluna, cid, idjanela) { + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; + try { + var tabela = $i(idjanela + "i3GEOtabelatabelai"), trs, tds, i, t, nt, ni; + // pega o indice correto + tds = coluna.parentNode.parentNode.getElementsByTagName("td"); + nt = tds.length; + for (t = 0; t < nt; t++) { + if (tds[t].accessKey == cid) { + cid = t; + break; + } + } + trs = tabela.getElementsByTagName("tr"); + nt = trs.length; + for (t = 0; t < nt; t++) { + i = trs[t]; + if (i.getElementsByTagName("td")[cid]) { + ni = i.getElementsByTagName("td")[cid]; + i.removeChild(ni); + } + } + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + } catch (e) { + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + if (typeof (console) !== 'undefined') { + console.error(e); + } + } + }, + /* + * Function: ordenaColuna + * + * Ordena uma coluna da tabela + */ + ordenaColuna : function(coluna, cid, idjanela) { + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; + try { + var numero = false,tabela = $i(idjanela + "i3GEOtabelatabelai"), trs = tabela.getElementsByTagName("tr"), + ntrs = trs.length, tds, nt, psort = [], t, psortfim, npsortfim, ins, p, e, c; - // recosntroi a tabela - psortfim = psort.sort(); - ins = ""; - npsortfim = psortfim.length; - for (p = 0; p < npsortfim; p++) { - e = psortfim[p].split("@$")[1] * 1; - if (trs[e] !== undefined) { - ins += "" + trs[e].innerHTML + ""; - } - } - $i(idjanela + "i3GEOtabelaregistros").innerHTML = ins + "
"; - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - } catch (e) { - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - if (typeof (console) !== 'undefined') { - console.error(e); - } - } - }, - excluiLinha : function(celula) { - var p = celula.parentNode.parentNode; - do { - p.removeChild(p.childNodes[0]); - } while (p.childNodes.length > 0); - p.parentNode.removeChild(p); - }, - zoomExt : function(ext, idjanela) { - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { - return; - } - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; - var funcao = function() { - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - i3GEOF.tabela.pegaRegistros(idjanela); - i3GEO.atualiza(); - }; - i3GEO.php.mudaext(funcao, "nenhum", ext); - }, - registraLinha : function(linha, idjanela) { - i3GEOF.tabela.propJanelas[idjanela].registros[linha.name] = linha.checked; - i3GEOF.tabela.vinculos.atualizaVinculos(idjanela, linha.name, linha.checked); - }, - /* - * Function: listaMarcados - * - * Retorna um array com os índices dos registros que estão marcados. - */ - listaMarcados : function(idjanela) { - var lista = [], registros = i3GEOF.tabela.propJanelas[idjanela].registros, i, n = registros.length; - for (i = 0; i < n; i++) { - if (registros[i] === true) { - lista.push(i); - } - } - return lista; - }, - /* - * Function: ativaSelecao - * - * Seleciona no mapa os elementos que estiverem marcados na guia 2 - * - * Veja: - * - * - */ - ativaSelecao : function(idjanela) { - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { - return; - } - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; - var lista = i3GEOF.tabela.listaMarcados(idjanela), p, cp, temp = function(retorno) { - if (retorno) { - i3GEO.Interface.atualizaTema(retorno, i3GEOF.tabela.propJanelas[idjanela].tema); - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - } - }; - p = - i3GEO.configura.locaplic + "/ferramentas/tabela/exec.php?g_sid=" - + i3GEO.configura.sid - + "&funcao=incluisel&tema=" - + i3GEOF.tabela.propJanelas[idjanela].tema - + "&ids=" - + lista.toString(); - cp = new cpaint(); - cp.set_response_type("JSON"); - cp.call(p, "incluiSel", temp); - }, - /* - * Function: limpaSelecao - * - * Limpa a seleção do tema da tabela - */ - limpaSelecao : function(idjanela) { - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { - return; - } - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; - i3GEO.tema.limpasel(i3GEOF.tabela.propJanelas[idjanela].tema); - i3GEOF.tabela.propJanelas[idjanela].registros = []; - var lista = $i(idjanela + "i3GEOtabelatabelai").getElementsByTagName("input"), n = lista.length, i; - for (i = 0; i < n; i++) { - lista[i].checked = false; - } - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - }, - /* - * Function: criaNovoTema - * - * Cria um novo tema contendo a seleção existente - */ - criaNovoTema : function(idjanela) { - var camada = i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.tabela.propJanelas[idjanela].tema); - if(camada.nsel == 0){ - i3GEO.janela.tempoMsg($trad("selUmReg",i3GEOF.tabela.dicionario)); - return; - } + // pega o indice correto + tds = coluna.parentNode.parentNode.getElementsByTagName("td"); + nt = tds.length; + for (t = 0; t < nt; t++) { + if (tds[t].accessKey == cid) { + cid = t; + break; + } + } + for (t = 1; t < ntrs; t++) { + c = trs[t].getElementsByTagName("td")[cid].innerHTML; + psort.push( c + "@$" + t); + if (c * 1) { + numero = true; + } + } + // recosntroi a tabela + if(numero){ + psortfim = psort.sort(function(a, b) { + return a.split("@$")[0]*1 - b.split("@$")[0]*1; + }); + } else { + psortfim = psort.sort(); + } - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { - return; - } - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; - var temp = function(retorno) { - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - i3GEO.atualiza(retorno); - }; - i3GEO.php.criatemaSel(temp, i3GEOF.tabela.propJanelas[idjanela].tema); - }, - /* - * Function: comboItens - * - * Cria um combo para selecionar um item do tema escolhido - */ - comboItensEstat : function(idjanela) { - var tema = i3GEOF.tabela.propJanelas[idjanela].tema; - i3GEO.util.comboItens(idjanela + "i3GEOtabelaComboItensGuia3", tema, function(retorno) { - if (retorno.tipo === "erro") { - $i(idjanela + "i3GEOtabelaitensGuia3").innerHTML = - i3GEO.janela.closeMsg(''); - } else { - $i(idjanela + "i3GEOtabelaitensGuia3").innerHTML = retorno.dados; - } - }, idjanela + "i3GEOtabelaitensGuia3", "","sim","","form-control"); - }, - estatistica : function(idjanela) { - if ($i(idjanela + "i3GEOtabelaComboItensGuia3").value === "") { - i3GEO.janela.tempoMsg("Escolha um item!"); - return; - } - if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { - return; - } - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; - try { - var monta = function(retorno) { - var ins = "", nome, valor, i, n; - if (retorno.data.indices !== undefined) { - if (retorno.data.indices) { - n = retorno.data.indices.length; - for (i = 0; i < n; i++) { - nome =retorno.data.variaveis[retorno.data.indices[i]]; - valor = retorno.data.valores[retorno.data.indices[i]]; - ins += '

'+nome+'

'+valor+'

'; - ins += '
 
'; - } - } - } else { - ins = retorno.data; - } - $i(idjanela + "i3GEOtabelaoperacoes").innerHTML = ins + "
"; - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - }, exclui = "", cp = new cpaint(), p; - if ($i(idjanela + "i3GEOtabelafiltro1").value !== "") { - exclui = $i("i3GEOtabelafiltro1").value; - } - p = - i3GEO.configura.locaplic + "/ferramentas/tabela/exec.php?g_sid=" - + i3GEO.configura.sid - + "&funcao=estatistica&item=" - + $i(idjanela + "i3GEOtabelaComboItensGuia3").value - + "&tema=" - + i3GEOF.tabela.propJanelas[idjanela].tema - + "&exclui=" - + exclui - + "&ext=" - + i3GEO.parametros.mapexten; - cp.set_response_type("JSON"); - cp.call(p, "estatDescritivas", monta); - } catch (e) { - i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; - $i("operacoes").innerHTML = "Ocorreu um erro: " + e; - } - }, - tabelaTexto : function() { - }, - /* - * Function: relatorioTabela - * - * Monta o relatório padrão em uma nova janela - */ - relatorioTabela : function(idjanela) { - try { - $i(idjanela + "i3GEOtabelatiporelh").value = ""; - $i(idjanela + "i3GEOtabelaarearelh").value = $i(idjanela + "i3GEOtabelacalculaarea").checked; - $i(idjanela + "i3GEOtabelastatrelh").value = $i(idjanela + "i3GEOtabelacalculaestat").checked; - $i(idjanela + "i3GEOtabelaexcluirvalorh").value = $i(idjanela + "i3GEOtabelaexcestat").value; - $i(idjanela + "i3GEOtabelatemarelh").value = i3GEOF.tabela.propJanelas[idjanela].tema; - $i(idjanela + "i3GEOtabelag_sidh").value = i3GEO.configura.sid; - $i(idjanela + "i3GEOtabelaitemagruparelh").value = $i(idjanela + "i3GEOtabelaagrupaItem").value; - var inputs = $i(idjanela + "i3GEOtabelaitensrelatorio").getElementsByTagName("input"), listai = [], listaordem = [], listanomes = - [], nome, ordem, i, temp, n = inputs.length; - for (i = 0; i < n; i++) { - if (inputs[i].type === "checkbox" && inputs[i].checked == true) { - listai.push(inputs[i].id + "|" + inputs[i].name); - nome = $i(inputs[i].id + inputs[i].name).value; - listanomes.push(nome); - ordem = $i("ordem_" + inputs[i].id + inputs[i].name).value; - if (ordem === "") { - ordem = 0; - } - listaordem.push(ordem); - } - } - $i(idjanela + "i3GEOtabelaordemrel").value = listaordem; - $i(idjanela + "i3GEOtabelanomesrelh").value = listanomes; - $i(idjanela + "i3GEOtabelaitensrelh").value = listai; - temp = $i(idjanela + "i3GEOtabelarelatorio").action; - $i(idjanela + "i3GEOtabelarelatorio").action += "?ext=" + i3GEO.parametros.mapexten; - $i(idjanela + "i3GEOtabelarelatorio").submit(); - $i(idjanela + "i3GEOtabelarelatorio").action = temp; - } catch (e) { - i3GEO.janela.tempoMsg(e); - } - }, - /* - * Function: relatorioTexto - * - * Gera o relatório no formato CSV - */ - relatorioTexto : function(idjanela) { - $i(idjanela + "i3GEOtabelaarearelh").value = $i(idjanela + "i3GEOtabelacalculaarea").checked; - $i(idjanela + "i3GEOtabelastatrelh").value = $i(idjanela + "i3GEOtabelacalculaestat").checked; - $i(idjanela + "i3GEOtabelaexcluirvalorh").value = $i(idjanela + "i3GEOtabelaexcestat").value; - $i(idjanela + "i3GEOtabelatemarelh").value = i3GEOF.tabela.propJanelas[idjanela].tema; - $i(idjanela + "i3GEOtabelag_sidh").value = i3GEO.configura.sid; - $i(idjanela + "i3GEOtabelaitemagruparelh").value = $i(idjanela + "i3GEOtabelaagrupaItem").value; - $i(idjanela + "i3GEOtabelatiporelh").value = "csv"; - var inputs = $i(idjanela + "i3GEOtabelaitensrelatorio").getElementsByTagName("input"), listai = [], listanomes = [], nome, i, temp, n = - inputs.length; - for (i = 0; i < n; i++) { - if (inputs[i].checked === true) { - listai.push(inputs[i].id + "|" + inputs[i].name); - nome = $i(inputs[i].id + inputs[i].name).value; - listanomes.push(nome); - } - } - $i(idjanela + "i3GEOtabelanomesrelh").value = listanomes; - $i(idjanela + "i3GEOtabelaitensrelh").value = listai; - temp = $i(idjanela + "i3GEOtabelarelatorio").action; - $i(idjanela + "i3GEOtabelarelatorio").action += "?ext=" + i3GEO.parametros.mapexten; - $i(idjanela + "i3GEOtabelarelatorio").submit(); - $i(idjanela + "i3GEOtabelarelatorio").action = temp; - } - }; \ No newline at end of file + ins = ""; + ins += "" + trs[0].innerHTML + ""; + npsortfim = psortfim.length; + for (p = 0; p < npsortfim; p++) { + e = psortfim[p].split("@$")[1] * 1; + if (trs[e] !== undefined) { + ins += "" + trs[e].innerHTML + ""; + } + } + $i(idjanela + "i3GEOtabelaregistros").innerHTML = ins + "
"; + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + } catch (e) { + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + if (typeof (console) !== 'undefined') { + console.error(e); + } + } + }, + excluiLinha : function(celula) { + var p = celula.parentNode.parentNode; + do { + p.removeChild(p.childNodes[0]); + } while (p.childNodes.length > 0); + p.parentNode.removeChild(p); + }, + zoomExt : function(ext, idjanela) { + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { + return; + } + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; + var funcao = function() { + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + i3GEOF.tabela.pegaRegistros(idjanela); + i3GEO.atualiza(); + }; + i3GEO.php.mudaext(funcao, "nenhum", ext); + }, + registraLinha : function(linha, idjanela) { + i3GEOF.tabela.propJanelas[idjanela].registros[linha.name] = linha.checked; + i3GEOF.tabela.vinculos.atualizaVinculos(idjanela, linha.name, linha.checked); + }, + /* + * Function: listaMarcados + * + * Retorna um array com os índices dos registros que estão marcados. + */ + listaMarcados : function(idjanela) { + var lista = [], registros = i3GEOF.tabela.propJanelas[idjanela].registros, i, n = registros.length; + for (i = 0; i < n; i++) { + if (registros[i] === true) { + lista.push(i); + } + } + return lista; + }, + /* + * Function: ativaSelecao + * + * Seleciona no mapa os elementos que estiverem marcados na guia 2 + * + * Veja: + * + * + */ + ativaSelecao : function(idjanela) { + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { + return; + } + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; + var lista = i3GEOF.tabela.listaMarcados(idjanela), p, cp, temp = function(retorno) { + if (retorno) { + i3GEO.Interface.atualizaTema(retorno, i3GEOF.tabela.propJanelas[idjanela].tema); + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + } + }; + p = + i3GEO.configura.locaplic + "/ferramentas/tabela/exec.php?g_sid=" + + i3GEO.configura.sid + + "&funcao=incluisel&tema=" + + i3GEOF.tabela.propJanelas[idjanela].tema + + "&ids=" + + lista.toString(); + cp = new cpaint(); + cp.set_response_type("JSON"); + cp.call(p, "incluiSel", temp); + }, + /* + * Function: limpaSelecao + * + * Limpa a seleção do tema da tabela + */ + limpaSelecao : function(idjanela) { + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { + return; + } + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; + i3GEO.tema.limpasel(i3GEOF.tabela.propJanelas[idjanela].tema); + i3GEOF.tabela.propJanelas[idjanela].registros = []; + var lista = $i(idjanela + "i3GEOtabelatabelai").getElementsByTagName("input"), n = lista.length, i; + for (i = 0; i < n; i++) { + lista[i].checked = false; + } + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + }, + /* + * Function: criaNovoTema + * + * Cria um novo tema contendo a seleção existente + */ + criaNovoTema : function(idjanela) { + var camada = i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.tabela.propJanelas[idjanela].tema); + if(camada.nsel == 0){ + i3GEO.janela.tempoMsg($trad("selUmReg",i3GEOF.tabela.dicionario)); + return; + } + + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { + return; + } + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; + var temp = function(retorno) { + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + i3GEO.atualiza(retorno); + }; + i3GEO.php.criatemaSel(temp, i3GEOF.tabela.propJanelas[idjanela].tema); + }, + /* + * Function: comboItens + * + * Cria um combo para selecionar um item do tema escolhido + */ + comboItensEstat : function(idjanela) { + var tema = i3GEOF.tabela.propJanelas[idjanela].tema; + i3GEO.util.comboItens(idjanela + "i3GEOtabelaComboItensGuia3", tema, function(retorno) { + if (retorno.tipo === "erro") { + $i(idjanela + "i3GEOtabelaitensGuia3").innerHTML = + i3GEO.janela.closeMsg(''); + } else { + $i(idjanela + "i3GEOtabelaitensGuia3").innerHTML = retorno.dados; + } + }, idjanela + "i3GEOtabelaitensGuia3", "","sim","","form-control"); + }, + estatistica : function(idjanela) { + if ($i(idjanela + "i3GEOtabelaComboItensGuia3").value === "") { + i3GEO.janela.tempoMsg("Escolha um item!"); + return; + } + if (i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility === "visible") { + return; + } + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "visible"; + try { + var monta = function(retorno) { + var ins = "", nome, valor, i, n; + if (retorno.data.indices !== undefined) { + if (retorno.data.indices) { + n = retorno.data.indices.length; + for (i = 0; i < n; i++) { + nome =retorno.data.variaveis[retorno.data.indices[i]]; + valor = retorno.data.valores[retorno.data.indices[i]]; + ins += '

'+nome+'

'+valor+'

'; + ins += '
 
'; + } + } + } else { + ins = retorno.data; + } + $i(idjanela + "i3GEOtabelaoperacoes").innerHTML = ins + "
"; + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + }, exclui = "", cp = new cpaint(), p; + if ($i(idjanela + "i3GEOtabelafiltro1").value !== "") { + exclui = $i("i3GEOtabelafiltro1").value; + } + p = + i3GEO.configura.locaplic + "/ferramentas/tabela/exec.php?g_sid=" + + i3GEO.configura.sid + + "&funcao=estatistica&item=" + + $i(idjanela + "i3GEOtabelaComboItensGuia3").value + + "&tema=" + + i3GEOF.tabela.propJanelas[idjanela].tema + + "&exclui=" + + exclui + + "&ext=" + + i3GEO.parametros.mapexten; + cp.set_response_type("JSON"); + cp.call(p, "estatDescritivas", monta); + } catch (e) { + i3GEOF.tabela.propJanelas[idjanela].aguarde.visibility = "hidden"; + $i("operacoes").innerHTML = "Ocorreu um erro: " + e; + } + }, + tabelaTexto : function() { + }, + /* + * Function: relatorioTabela + * + * Monta o relatório padrão em uma nova janela + */ + relatorioTabela : function(idjanela) { + try { + $i(idjanela + "i3GEOtabelatiporelh").value = ""; + $i(idjanela + "i3GEOtabelaarearelh").value = $i(idjanela + "i3GEOtabelacalculaarea").checked; + $i(idjanela + "i3GEOtabelastatrelh").value = $i(idjanela + "i3GEOtabelacalculaestat").checked; + $i(idjanela + "i3GEOtabelaexcluirvalorh").value = $i(idjanela + "i3GEOtabelaexcestat").value; + $i(idjanela + "i3GEOtabelatemarelh").value = i3GEOF.tabela.propJanelas[idjanela].tema; + $i(idjanela + "i3GEOtabelag_sidh").value = i3GEO.configura.sid; + $i(idjanela + "i3GEOtabelaitemagruparelh").value = $i(idjanela + "i3GEOtabelaagrupaItem").value; + var inputs = $i(idjanela + "i3GEOtabelaitensrelatorio").getElementsByTagName("input"), listai = [], listaordem = [], listanomes = + [], nome, ordem, i, temp, n = inputs.length; + for (i = 0; i < n; i++) { + if (inputs[i].type === "checkbox" && inputs[i].checked == true) { + listai.push(inputs[i].id + "|" + inputs[i].name); + nome = $i(inputs[i].id + inputs[i].name).value; + listanomes.push(nome); + ordem = $i("ordem_" + inputs[i].id + inputs[i].name).value; + if (ordem === "") { + ordem = 0; + } + listaordem.push(ordem); + } + } + $i(idjanela + "i3GEOtabelaordemrel").value = listaordem; + $i(idjanela + "i3GEOtabelanomesrelh").value = listanomes; + $i(idjanela + "i3GEOtabelaitensrelh").value = listai; + temp = $i(idjanela + "i3GEOtabelarelatorio").action; + $i(idjanela + "i3GEOtabelarelatorio").action += "?ext=" + i3GEO.parametros.mapexten; + $i(idjanela + "i3GEOtabelarelatorio").submit(); + $i(idjanela + "i3GEOtabelarelatorio").action = temp; + } catch (e) { + i3GEO.janela.tempoMsg(e); + } + }, + /* + * Function: relatorioTexto + * + * Gera o relatório no formato CSV + */ + relatorioTexto : function(idjanela) { + $i(idjanela + "i3GEOtabelaarearelh").value = $i(idjanela + "i3GEOtabelacalculaarea").checked; + $i(idjanela + "i3GEOtabelastatrelh").value = $i(idjanela + "i3GEOtabelacalculaestat").checked; + $i(idjanela + "i3GEOtabelaexcluirvalorh").value = $i(idjanela + "i3GEOtabelaexcestat").value; + $i(idjanela + "i3GEOtabelatemarelh").value = i3GEOF.tabela.propJanelas[idjanela].tema; + $i(idjanela + "i3GEOtabelag_sidh").value = i3GEO.configura.sid; + $i(idjanela + "i3GEOtabelaitemagruparelh").value = $i(idjanela + "i3GEOtabelaagrupaItem").value; + $i(idjanela + "i3GEOtabelatiporelh").value = "csv"; + var inputs = $i(idjanela + "i3GEOtabelaitensrelatorio").getElementsByTagName("input"), listai = [], listanomes = [], nome, i, temp, n = + inputs.length; + for (i = 0; i < n; i++) { + if (inputs[i].checked === true) { + listai.push(inputs[i].id + "|" + inputs[i].name); + nome = $i(inputs[i].id + inputs[i].name).value; + listanomes.push(nome); + } + } + $i(idjanela + "i3GEOtabelanomesrelh").value = listanomes; + $i(idjanela + "i3GEOtabelaitensrelh").value = listai; + temp = $i(idjanela + "i3GEOtabelarelatorio").action; + $i(idjanela + "i3GEOtabelarelatorio").action += "?ext=" + i3GEO.parametros.mapexten; + $i(idjanela + "i3GEOtabelarelatorio").submit(); + $i(idjanela + "i3GEOtabelarelatorio").action = temp; + } +}; \ No newline at end of file diff --git a/js/compactados/ajuda_compacto.js b/js/compactados/ajuda_compacto.js old mode 100644 new mode 100755 index 8e4086f..8e4086f --- a/js/compactados/ajuda_compacto.js +++ b/js/compactados/ajuda_compacto.js diff --git a/js/compactados/analise_compacto.js b/js/compactados/analise_compacto.js old mode 100644 new mode 100755 index 91868c6..91868c6 --- a/js/compactados/analise_compacto.js +++ b/js/compactados/analise_compacto.js diff --git a/js/compactados/arvoredecamadas_compacto.js b/js/compactados/arvoredecamadas_compacto.js old mode 100644 new mode 100755 index b6ef2c7..b6ef2c7 --- a/js/compactados/arvoredecamadas_compacto.js +++ b/js/compactados/arvoredecamadas_compacto.js diff --git a/js/compactados/arvoredetemas_compacto.js b/js/compactados/arvoredetemas_compacto.js old mode 100644 new mode 100755 index 192e851..192e851 --- a/js/compactados/arvoredetemas_compacto.js +++ b/js/compactados/arvoredetemas_compacto.js diff --git a/js/compactados/base64_compacto.js b/js/compactados/base64_compacto.js old mode 100644 new mode 100755 index 9ff1f1a..9ff1f1a --- a/js/compactados/base64_compacto.js +++ b/js/compactados/base64_compacto.js diff --git a/js/compactados/busca_compacto.js b/js/compactados/busca_compacto.js old mode 100644 new mode 100755 index 380c4a5..380c4a5 --- a/js/compactados/busca_compacto.js +++ b/js/compactados/busca_compacto.js diff --git a/js/compactados/caixaDeFerramentas_compacto.js b/js/compactados/caixaDeFerramentas_compacto.js old mode 100644 new mode 100755 index 33f12c4..33f12c4 --- a/js/compactados/caixaDeFerramentas_compacto.js +++ b/js/compactados/caixaDeFerramentas_compacto.js diff --git a/js/compactados/calculo_compacto.js b/js/compactados/calculo_compacto.js old mode 100644 new mode 100755 index 32b90de..32b90de --- a/js/compactados/calculo_compacto.js +++ b/js/compactados/calculo_compacto.js diff --git a/js/compactados/catalogoDir_compacto.js b/js/compactados/catalogoDir_compacto.js old mode 100644 new mode 100755 index f414552..f414552 --- a/js/compactados/catalogoDir_compacto.js +++ b/js/compactados/catalogoDir_compacto.js diff --git a/js/compactados/catalogoEstrelas_compacto.js b/js/compactados/catalogoEstrelas_compacto.js old mode 100644 new mode 100755 index 7d8e059..7d8e059 --- a/js/compactados/catalogoEstrelas_compacto.js +++ b/js/compactados/catalogoEstrelas_compacto.js diff --git a/js/compactados/catalogoInde_compacto.js b/js/compactados/catalogoInde_compacto.js old mode 100644 new mode 100755 index 5ee129b..5ee129b --- a/js/compactados/catalogoInde_compacto.js +++ b/js/compactados/catalogoInde_compacto.js diff --git a/js/compactados/catalogoMapas_compacto.js b/js/compactados/catalogoMapas_compacto.js old mode 100644 new mode 100755 index 670e4ce..670e4ce --- a/js/compactados/catalogoMapas_compacto.js +++ b/js/compactados/catalogoMapas_compacto.js diff --git a/js/compactados/catalogoMenus_compacto.js b/js/compactados/catalogoMenus_compacto.js old mode 100644 new mode 100755 index 5edb91a..5edb91a --- a/js/compactados/catalogoMenus_compacto.js +++ b/js/compactados/catalogoMenus_compacto.js diff --git a/js/compactados/catalogoMetaestat_compacto.js b/js/compactados/catalogoMetaestat_compacto.js old mode 100644 new mode 100755 index 179aa3e..179aa3e --- a/js/compactados/catalogoMetaestat_compacto.js +++ b/js/compactados/catalogoMetaestat_compacto.js diff --git a/js/compactados/catalogoOgc_compacto.js b/js/compactados/catalogoOgc_compacto.js old mode 100644 new mode 100755 index ffce5a9..ffce5a9 --- a/js/compactados/catalogoOgc_compacto.js +++ b/js/compactados/catalogoOgc_compacto.js diff --git a/js/compactados/catalogoRegioes_compacto.js b/js/compactados/catalogoRegioes_compacto.js old mode 100644 new mode 100755 index 404db8e..404db8e --- a/js/compactados/catalogoRegioes_compacto.js +++ b/js/compactados/catalogoRegioes_compacto.js diff --git a/js/compactados/catalogoSistemas_compacto.js b/js/compactados/catalogoSistemas_compacto.js old mode 100644 new mode 100755 index 9245cfc..9245cfc --- a/js/compactados/catalogoSistemas_compacto.js +++ b/js/compactados/catalogoSistemas_compacto.js diff --git a/js/compactados/configura_compacto.js b/js/compactados/configura_compacto.js old mode 100644 new mode 100755 index e3d6fe5..e3d6fe5 --- a/js/compactados/configura_compacto.js +++ b/js/compactados/configura_compacto.js diff --git a/js/compactados/coordenadas_compacto.js b/js/compactados/coordenadas_compacto.js old mode 100644 new mode 100755 index 404bf09..404bf09 --- a/js/compactados/coordenadas_compacto.js +++ b/js/compactados/coordenadas_compacto.js diff --git a/js/compactados/desenho_compacto.js b/js/compactados/desenho_compacto.js old mode 100644 new mode 100755 index 0906ae5..0906ae5 --- a/js/compactados/desenho_compacto.js +++ b/js/compactados/desenho_compacto.js diff --git a/js/compactados/dicionario_ajuda_compacto.js b/js/compactados/dicionario_ajuda_compacto.js old mode 100644 new mode 100755 index e69de29..e69de29 --- a/js/compactados/dicionario_ajuda_compacto.js +++ b/js/compactados/dicionario_ajuda_compacto.js diff --git a/js/compactados/dicionario_compacto.js b/js/compactados/dicionario_compacto.js old mode 100644 new mode 100755 index 7bbd39c..7bbd39c --- a/js/compactados/dicionario_compacto.js +++ b/js/compactados/dicionario_compacto.js diff --git a/js/compactados/editor_compacto.js b/js/compactados/editor_compacto.js old mode 100644 new mode 100755 index c77bc37..c77bc37 --- a/js/compactados/editor_compacto.js +++ b/js/compactados/editor_compacto.js diff --git a/js/compactados/eventos_compacto.js b/js/compactados/eventos_compacto.js old mode 100644 new mode 100755 index cda2a72..cda2a72 --- a/js/compactados/eventos_compacto.js +++ b/js/compactados/eventos_compacto.js diff --git a/js/compactados/guias_compacto.js b/js/compactados/guias_compacto.js old mode 100644 new mode 100755 index d0c1361..d0c1361 --- a/js/compactados/guias_compacto.js +++ b/js/compactados/guias_compacto.js diff --git a/js/compactados/idioma_compacto.js b/js/compactados/idioma_compacto.js old mode 100644 new mode 100755 index 50f94a7..50f94a7 --- a/js/compactados/idioma_compacto.js +++ b/js/compactados/idioma_compacto.js diff --git a/js/compactados/ini_i3geo_compacto.js b/js/compactados/ini_i3geo_compacto.js old mode 100644 new mode 100755 index 969d7eb..969d7eb --- a/js/compactados/ini_i3geo_compacto.js +++ b/js/compactados/ini_i3geo_compacto.js diff --git a/js/compactados/interface_compacto.js b/js/compactados/interface_compacto.js old mode 100644 new mode 100755 index 94338cb..94338cb --- a/js/compactados/interface_compacto.js +++ b/js/compactados/interface_compacto.js diff --git a/js/compactados/janela_compacto.js b/js/compactados/janela_compacto.js old mode 100644 new mode 100755 index e477e68..e477e68 --- a/js/compactados/janela_compacto.js +++ b/js/compactados/janela_compacto.js diff --git a/js/compactados/legenda_compacto.js b/js/compactados/legenda_compacto.js old mode 100644 new mode 100755 index 864b4a9..864b4a9 --- a/js/compactados/legenda_compacto.js +++ b/js/compactados/legenda_compacto.js diff --git a/js/compactados/login_compacto.js b/js/compactados/login_compacto.js old mode 100644 new mode 100755 index 6d4d052..6d4d052 --- a/js/compactados/login_compacto.js +++ b/js/compactados/login_compacto.js diff --git a/js/compactados/mapa_compacto.js b/js/compactados/mapa_compacto.js old mode 100644 new mode 100755 index 3e572c5..3e572c5 --- a/js/compactados/mapa_compacto.js +++ b/js/compactados/mapa_compacto.js diff --git a/js/compactados/maparef_compacto.js b/js/compactados/maparef_compacto.js old mode 100644 new mode 100755 index f1b84cd..f1b84cd --- a/js/compactados/maparef_compacto.js +++ b/js/compactados/maparef_compacto.js diff --git a/js/compactados/marcador_compacto.js b/js/compactados/marcador_compacto.js old mode 100644 new mode 100755 index 64fd288..64fd288 --- a/js/compactados/marcador_compacto.js +++ b/js/compactados/marcador_compacto.js diff --git a/js/compactados/mustache.js b/js/compactados/mustache.js old mode 100644 new mode 100755 index 7473a81..7473a81 --- a/js/compactados/mustache.js +++ b/js/compactados/mustache.js diff --git a/js/compactados/navega_compacto.js b/js/compactados/navega_compacto.js old mode 100644 new mode 100755 index 222b2f9..222b2f9 --- a/js/compactados/navega_compacto.js +++ b/js/compactados/navega_compacto.js diff --git a/js/compactados/php_compacto.js b/js/compactados/php_compacto.js old mode 100644 new mode 100755 index 58ebcf5..58ebcf5 --- a/js/compactados/php_compacto.js +++ b/js/compactados/php_compacto.js diff --git a/js/compactados/plugini3geo_compacto.js b/js/compactados/plugini3geo_compacto.js old mode 100644 new mode 100755 index 85e2916..85e2916 --- a/js/compactados/plugini3geo_compacto.js +++ b/js/compactados/plugini3geo_compacto.js diff --git a/js/compactados/proj4js.js b/js/compactados/proj4js.js old mode 100644 new mode 100755 index 9bdc4ce..9bdc4ce --- a/js/compactados/proj4js.js +++ b/js/compactados/proj4js.js diff --git a/js/compactados/social_compacto.js b/js/compactados/social_compacto.js old mode 100644 new mode 100755 index 8aa672a..8aa672a --- a/js/compactados/social_compacto.js +++ b/js/compactados/social_compacto.js diff --git a/js/compactados/tema_compacto.js b/js/compactados/tema_compacto.js old mode 100644 new mode 100755 index 464e123..464e123 --- a/js/compactados/tema_compacto.js +++ b/js/compactados/tema_compacto.js diff --git a/js/compactados/util_compacto.js b/js/compactados/util_compacto.js old mode 100644 new mode 100755 index fb20c83..fb20c83 --- a/js/compactados/util_compacto.js +++ b/js/compactados/util_compacto.js diff --git a/js/compactados/wicket.js b/js/compactados/wicket.js old mode 100644 new mode 100755 index e0e5f3b..e0e5f3b --- a/js/compactados/wicket.js +++ b/js/compactados/wicket.js diff --git a/js/dicionario.js b/js/dicionario.js index 717780a..1d96dce 100755 --- a/js/dicionario.js +++ b/js/dicionario.js @@ -2480,9 +2480,9 @@ g_traducao = ], "selum" : [ { - pt : "Selecione pelo menos um elemento", - en : "Select at least one element", - es : "Seleccione al menos un elemento" + pt : "Selecione pelo um elemento", + en : "Select one element", + es : "Seleccione un elemento" } ], "atrib" : [ diff --git a/js/i3geo_tudo_compacto7.js.php b/js/i3geo_tudo_compacto7.js.php old mode 100644 new mode 100755 index fe3a7a0..fe3a7a0 --- a/js/i3geo_tudo_compacto7.js.php +++ b/js/i3geo_tudo_compacto7.js.php diff --git a/pacotes/cpaint/cpaint2_compacto.inc.js b/pacotes/cpaint/cpaint2_compacto.inc.js old mode 100644 new mode 100755 index 1179423..1179423 --- a/pacotes/cpaint/cpaint2_compacto.inc.js +++ b/pacotes/cpaint/cpaint2_compacto.inc.js diff --git a/pacotes/mobileesp/mdetect_compacto.js b/pacotes/mobileesp/mdetect_compacto.js old mode 100644 new mode 100755 index 9ab0db5..9ab0db5 --- a/pacotes/mobileesp/mdetect_compacto.js +++ b/pacotes/mobileesp/mdetect_compacto.js diff --git a/pacotes/yui290/build/carousel/carousel_compacto.js b/pacotes/yui290/build/carousel/carousel_compacto.js old mode 100644 new mode 100755 index 2111cd6..2111cd6 --- a/pacotes/yui290/build/carousel/carousel_compacto.js +++ b/pacotes/yui290/build/carousel/carousel_compacto.js diff --git a/pacotes/yui290/build/container/container_compacto.js b/pacotes/yui290/build/container/container_compacto.js old mode 100644 new mode 100755 index aa7fb0c..aa7fb0c --- a/pacotes/yui290/build/container/container_compacto.js +++ b/pacotes/yui290/build/container/container_compacto.js diff --git a/pacotes/yui290/build/container/container_core_compacto.js b/pacotes/yui290/build/container/container_core_compacto.js old mode 100644 new mode 100755 index f2c2d3c..f2c2d3c --- a/pacotes/yui290/build/container/container_core_compacto.js +++ b/pacotes/yui290/build/container/container_core_compacto.js diff --git a/pacotes/yui290/build/resize/resize_compacto.js b/pacotes/yui290/build/resize/resize_compacto.js old mode 100644 new mode 100755 index 335f70f..335f70f --- a/pacotes/yui290/build/resize/resize_compacto.js +++ b/pacotes/yui290/build/resize/resize_compacto.js diff --git a/pacotes/yui290/build/treeview/treeview_compacto.js b/pacotes/yui290/build/treeview/treeview_compacto.js old mode 100644 new mode 100755 index 6ff4374..6ff4374 --- a/pacotes/yui290/build/treeview/treeview_compacto.js +++ b/pacotes/yui290/build/treeview/treeview_compacto.js diff --git a/pacotes/yui290/build/utilities/utilities_compacto.js b/pacotes/yui290/build/utilities/utilities_compacto.js old mode 100644 new mode 100755 index 7a1455c..7a1455c --- a/pacotes/yui290/build/utilities/utilities_compacto.js +++ b/pacotes/yui290/build/utilities/utilities_compacto.js -- libgit2 0.21.2