Commit 5a64383b6a32b6bd76713637909ea9a4e8705698
1 parent
f8a8deb1
Exists in
master
Reformulação da ferramenta Etiquetas
Showing
5 changed files
with
305 additions
and
470 deletions
Show diff stats
ferramentas/etiqueta/exec.php
| 1 | <?php | 1 | <?php |
| 2 | -include_once(dirname(__FILE__)."/../safe.php"); | ||
| 3 | -verificaBlFerramentas(basename(dirname(__FILE__)),$i3geoBlFerramentas,false); | ||
| 4 | -// | ||
| 5 | -//faz a busca da função que deve ser executada | ||
| 6 | -// | ||
| 7 | -$retorno = ""; //string que será retornada ao browser via JSON | ||
| 8 | -switch (strtoupper($funcao)) | 2 | +include (dirname(__FILE__) . "/../safe2.php"); |
| 3 | +verificaBlFerramentas(basename(dirname(__FILE__)), $_SESSION["i3geoBlFerramentas"], false); | ||
| 4 | +include (dirname(__FILE__) . "/../../classesphp/classe_toponimia.php"); | ||
| 5 | +$m = new Toponimia($_SESSION["map_file"], $_GET["tema"]); | ||
| 6 | +switch (strtoupper($_GET["funcao"])) | ||
| 9 | { | 7 | { |
| 10 | -/* | ||
| 11 | -Valor: ATIVAETIQUETAS | ||
| 12 | - | ||
| 13 | -Ativa as etiquetas de um tema. | ||
| 14 | - | ||
| 15 | -<Toponimia->ativaEtiquetas> | ||
| 16 | -*/ | ||
| 17 | case "ATIVAETIQUETAS": | 8 | case "ATIVAETIQUETAS": |
| 18 | - include_once(dirname(__FILE__)."/../../classesphp/classe_toponimia.php"); | ||
| 19 | - copiaSeguranca($map_file); | ||
| 20 | - $m = new Toponimia($map_file,$tema); | ||
| 21 | - $m->layer->setmetadata("IDENTIFICA",""); | 9 | + $m->layer->setmetadata("cache","nao"); |
| 10 | + $m->layer->setmetadata("IDENTIFICA",""); | ||
| 22 | $m->layer->setmetadata("TIP",$_GET["tips"]); | 11 | $m->layer->setmetadata("TIP",$_GET["tips"]); |
| 23 | $m->layer->setmetadata("ITENS",$_GET["itens"]); | 12 | $m->layer->setmetadata("ITENS",$_GET["itens"]); |
| 24 | $m->layer->setmetadata("ITENSDESC",$_GET["itensdesc"]); | 13 | $m->layer->setmetadata("ITENSDESC",$_GET["itensdesc"]); |
| @@ -26,39 +15,19 @@ Ativa as etiquetas de um tema. | @@ -26,39 +15,19 @@ Ativa as etiquetas de um tema. | ||
| 26 | $m->layer->setmetadata("UTFDATA",$_GET["utfdata"]); | 15 | $m->layer->setmetadata("UTFDATA",$_GET["utfdata"]); |
| 27 | $m->layer->setmetadata("itembuscarapida",$_GET["itembuscarapida"]); | 16 | $m->layer->setmetadata("itembuscarapida",$_GET["itembuscarapida"]); |
| 28 | $m->salva(); | 17 | $m->salva(); |
| 29 | - $_SESSION["contadorsalva"]++; | ||
| 30 | - $retorno = "ok"; | 18 | + $retorno = true; |
| 31 | break; | 19 | break; |
| 32 | -/* | ||
| 33 | -Valor: REMOVEETIQUETAS | ||
| 34 | - | ||
| 35 | -Desativa as etiquetas de um tema. | ||
| 36 | - | ||
| 37 | -<Toponimia->removeEtiquetas> | ||
| 38 | -*/ | ||
| 39 | case "REMOVEETIQUETAS": | 20 | case "REMOVEETIQUETAS": |
| 40 | - include_once(dirname(__FILE__)."/../../classesphp/classe_toponimia.php"); | ||
| 41 | - copiaSeguranca($map_file); | ||
| 42 | - $m = new Toponimia($map_file,$tema); | ||
| 43 | - $retorno = $m->removeEtiquetas(); | 21 | + $m->layer->setmetadata("cache","nao"); |
| 22 | + $retorno = $m->removeEtiquetas(); | ||
| 44 | $m->salva(); | 23 | $m->salva(); |
| 45 | - $_SESSION["contadorsalva"]++; | 24 | + $retorno = true; |
| 46 | break; | 25 | break; |
| 47 | -/* | ||
| 48 | - Valor: PEGADADOSETIQUETAS | ||
| 49 | - | ||
| 50 | -Obt�m os dados sobre itens, itensdesc, etc | ||
| 51 | - | ||
| 52 | -<Toponimia->pegaDadosEtiquetas> | ||
| 53 | -*/ | ||
| 54 | case "PEGADADOSETIQUETAS": | 26 | case "PEGADADOSETIQUETAS": |
| 55 | - include_once(dirname(__FILE__)."/../../classesphp/classe_toponimia.php"); | ||
| 56 | - $m = new Toponimia($map_file,$tema); | ||
| 57 | $retorno = $m->pegaDadosEtiquetas(); | 27 | $retorno = $m->pegaDadosEtiquetas(); |
| 58 | break; | 28 | break; |
| 59 | } | 29 | } |
| 60 | -if(isset($map_file) && isset($postgis_mapa) && $map_file != ""){ | ||
| 61 | - restauraCon($map_file,$postgis_mapa); | ||
| 62 | -} | ||
| 63 | -cpjson($retorno); | 30 | +ob_clean(); |
| 31 | +header("Content-type: application/json"); | ||
| 32 | +echo json_encode($retorno); | ||
| 64 | ?> | 33 | ?> |
| 65 | \ No newline at end of file | 34 | \ No newline at end of file |
ferramentas/etiqueta/index.js
| 1 | -/* | ||
| 2 | -Title: Etiqueta | ||
| 3 | 1 | ||
| 4 | -Ativa um determinado campo na tabela de atributos para ser utilizado na ferramenta de identificação do tipo "balão". | ||
| 5 | - | ||
| 6 | -<i3GEO.tema.dialogo.etiquetas> | ||
| 7 | - | ||
| 8 | -Arquivo: | ||
| 9 | - | ||
| 10 | -i3geo/ferramentas/etiqueta/index.js.php | ||
| 11 | - | ||
| 12 | -Licenca: | ||
| 13 | - | ||
| 14 | -GPL2 | ||
| 15 | - | ||
| 16 | -i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet | ||
| 17 | - | ||
| 18 | -Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil | ||
| 19 | -Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com | ||
| 20 | - | ||
| 21 | -Este programa é software livre; você pode redistribuí-lo | ||
| 22 | -e/ou modificá-lo sob os termos da Licença Pública Geral | ||
| 23 | -GNU conforme publicada pela Free Software Foundation; | ||
| 24 | - | ||
| 25 | -Este programa é distribuído na expectativa de que seja útil, | ||
| 26 | -porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita | ||
| 27 | -de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. | ||
| 28 | -Consulte a Licença Pública Geral do GNU para mais detalhes. | ||
| 29 | -Você deve ter recebido uma cópia da Licença Pública Geral do | ||
| 30 | -GNU junto com este programa; se não, escreva para a | ||
| 31 | -Free Software Foundation, Inc., no endereço | ||
| 32 | -59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
| 33 | - */ | ||
| 34 | if(typeof(i3GEOF) === 'undefined'){ | 2 | if(typeof(i3GEOF) === 'undefined'){ |
| 35 | var i3GEOF = {}; | 3 | var i3GEOF = {}; |
| 36 | } | 4 | } |
| 37 | - | ||
| 38 | -/* | ||
| 39 | -Classe: i3GEOF.etiqueta | ||
| 40 | - */ | ||
| 41 | i3GEOF.etiqueta = { | 5 | i3GEOF.etiqueta = { |
| 42 | - tema : i3GEO.temaAtivo, | ||
| 43 | - /* | ||
| 44 | - Variavel: aguarde | ||
| 45 | - | ||
| 46 | - Estilo do objeto DOM com a imagem de aguarde existente no cabeçalho da janela. | ||
| 47 | - */ | ||
| 48 | - aguarde: "", | ||
| 49 | - /** | ||
| 50 | - * Template no formato mustache. E preenchido na carga do javascript com o programa dependencias.php | ||
| 51 | - */ | ||
| 52 | - MUSTACHE : "", | ||
| 53 | - MUSTACHELISTA : "", | ||
| 54 | - /** | ||
| 55 | - * Susbtitutos para o template | ||
| 56 | - */ | ||
| 57 | - mustacheHash : function() { | ||
| 58 | - var dicionario = i3GEO.idioma.objetoIdioma(i3GEOF.etiqueta.dicionario); | ||
| 59 | - dicionario["aplica"] = $trad("p14"); | ||
| 60 | - return dicionario; | 6 | + renderFunction: i3GEO.janela.formModal, |
| 7 | + _parameters: { | ||
| 8 | + "tema": "", | ||
| 9 | + "mustache": "", | ||
| 10 | + "mustachelista": "", | ||
| 11 | + "idContainer": "i3GEOetiquetaContainer", | ||
| 12 | + "namespace": "etiqueta" | ||
| 61 | }, | 13 | }, |
| 62 | - /* | ||
| 63 | - Function: inicia | ||
| 64 | - | ||
| 65 | - Inicia a ferramenta. É chamado por criaJanelaFlutuante | ||
| 66 | - | ||
| 67 | - Parametro: | ||
| 68 | - | ||
| 69 | - iddiv {String} - id do div que receberá o conteudo HTML da ferramenta | ||
| 70 | - */ | ||
| 71 | - inicia: function(iddiv){ | ||
| 72 | - if(i3GEOF.etiqueta.MUSTACHE == ""){ | ||
| 73 | - var t1 = i3GEO.configura.locaplic + "/ferramentas/etiqueta/template_mst.html", | ||
| 74 | - t2 = i3GEO.configura.locaplic + "/ferramentas/etiqueta/templateLista_mst.html"; | ||
| 75 | - | ||
| 76 | - $.when( $.get(t1),$.get(t2) ).done(function(r1,r2) { | ||
| 77 | - i3GEOF.etiqueta.MUSTACHE = r1[0]; | ||
| 78 | - i3GEOF.etiqueta.MUSTACHELISTA = r2[0]; | ||
| 79 | - i3GEOF.etiqueta.inicia(iddiv); | 14 | + start : function(tema){ |
| 15 | + var p = this._parameters, | ||
| 16 | + i3f = this, | ||
| 17 | + t1 = i3GEO.configura.locaplic + "/ferramentas/"+p.namespace+"/template_mst.html", | ||
| 18 | + t2 = i3GEO.configura.locaplic + "/ferramentas/"+p.namespace+"/templateLista_mst.html"; | ||
| 19 | + p.tema = tema; | ||
| 20 | + if(p.mustache === ""){ | ||
| 21 | + i3GEO.janela.abreAguarde(); | ||
| 22 | + $.when( $.get(t1),$.get(t2)).done(function(r1,r2) { | ||
| 23 | + p.mustache = r1[0]; | ||
| 24 | + p.mustachelista = r2[0]; | ||
| 25 | + i3f.html(); | ||
| 26 | + i3GEO.janela.fechaAguarde(); | ||
| 80 | }).fail(function() { | 27 | }).fail(function() { |
| 81 | - i3GEO.janela.closeMsg($trad("erroTpl")); | 28 | + i3GEO.janela.snackBar({content: $trad("erroTpl"),style: "red"}); |
| 82 | return; | 29 | return; |
| 83 | }); | 30 | }); |
| 84 | - return; | ||
| 85 | - } | ||
| 86 | - | ||
| 87 | - if(i3GEOF.etiqueta.tema === ""){ | ||
| 88 | - $i(iddiv).innerHTML = ""; | ||
| 89 | - return; | 31 | + } else { |
| 32 | + i3f.html(); | ||
| 90 | } | 33 | } |
| 91 | - try{ | ||
| 92 | - $i(iddiv).innerHTML = i3GEOF.etiqueta.html(); | ||
| 93 | 34 | ||
| 94 | - if (!$i("i3GEOFetiquetaComboCabecaSel")) { | ||
| 95 | - i3GEO.janela.comboCabecalhoTemasBs("i3GEOFetiquetaComboCabeca","i3GEOFetiquetaComboCabecaSel","etiqueta","ligadosComTabela",function(evt){ | ||
| 96 | - var botao = evt.target; | ||
| 97 | - if (botao) { | ||
| 98 | - if (botao.value != "") { | ||
| 99 | - i3GEO.mapa.ativaTema(botao.value); | ||
| 100 | - i3GEOF.etiqueta.tema = botao.value; | ||
| 101 | - $i(iddiv).innerHTML = ""; | ||
| 102 | - i3GEOF.etiqueta.inicia(iddiv); | ||
| 103 | - } else { | ||
| 104 | - //$i(iddiv).innerHTML = ""; | ||
| 105 | - } | ||
| 106 | - } | ||
| 107 | - }); | ||
| 108 | - } | ||
| 109 | - i3GEOF.etiqueta.ativaFoco(); | ||
| 110 | - } | ||
| 111 | - catch(erro){i3GEO.janela.tempoMsg(erro);} | ||
| 112 | }, | 35 | }, |
| 113 | - /* | ||
| 114 | - Function: html | ||
| 115 | - | ||
| 116 | - Gera o código html para apresentação das opções da ferramenta | ||
| 117 | - | ||
| 118 | - Retorno: | ||
| 119 | - | ||
| 120 | - String com o código html | ||
| 121 | - */ | ||
| 122 | - html:function() { | ||
| 123 | - var ins = Mustache.render(i3GEOF.etiqueta.MUSTACHE, i3GEOF.etiqueta.mustacheHash()); | ||
| 124 | - return ins; | 36 | + destroy: function(){ |
| 37 | + //nao use this aqui | ||
| 38 | + //i3GEOF.legenda._parameters.mustache = ""; | ||
| 125 | }, | 39 | }, |
| 126 | - /* | ||
| 127 | - Function: iniciaJanelaFlutuante | ||
| 128 | - | ||
| 129 | - Cria a janela flutuante para controle da ferramenta. | ||
| 130 | - */ | ||
| 131 | - iniciaJanelaFlutuante: function(){ | ||
| 132 | - var minimiza,cabecalho,janela,divid,temp,titulo; | ||
| 133 | - if($i("i3GEOF.etiqueta")){ | ||
| 134 | - i3GEOF.etiqueta.inicia("i3GEOF.etiqueta_corpo"); | ||
| 135 | - return; | ||
| 136 | - } | ||
| 137 | - cabecalho = function(){ | ||
| 138 | - i3GEOF.etiqueta.ativaFoco(); | ||
| 139 | - }; | ||
| 140 | - minimiza = function(){ | ||
| 141 | - i3GEO.janela.minimiza("i3GEOF.etiqueta"); | 40 | + html:function() { |
| 41 | + var p = this._parameters, | ||
| 42 | + i3f = this, | ||
| 43 | + hash = {}; | ||
| 44 | + hash = { | ||
| 45 | + locaplic: i3GEO.configura.locaplic, | ||
| 46 | + namespace: p.namespace, | ||
| 47 | + idContainer: p.idContainer, | ||
| 48 | + aplica: $trad("p14"), | ||
| 49 | + ...i3GEO.idioma.objetoIdioma(i3f.dicionario) | ||
| 142 | }; | 50 | }; |
| 143 | - //cria a janela flutuante | ||
| 144 | - titulo = "<span class='i3GeoTituloJanelaBsNolink' >"+$trad("d7at")+"</span></div>"; | ||
| 145 | - janela = i3GEO.janela.cria( | ||
| 146 | - "600px", | ||
| 147 | - "400px", | ||
| 148 | - "", | ||
| 149 | - "", | ||
| 150 | - "", | ||
| 151 | - titulo, | ||
| 152 | - "i3GEOF.etiqueta", | ||
| 153 | - false, | ||
| 154 | - "hd", | ||
| 155 | - cabecalho, | ||
| 156 | - minimiza, | ||
| 157 | - "", | ||
| 158 | - true, | ||
| 159 | - "", | ||
| 160 | - "", | ||
| 161 | - "", | ||
| 162 | - "", | ||
| 163 | - "37" | ||
| 164 | - ); | ||
| 165 | - divid = janela[2].id; | ||
| 166 | - i3GEOF.etiqueta.aguarde = $i("i3GEOF.etiqueta_imagemCabecalho").style; | ||
| 167 | - $i("i3GEOF.etiqueta_corpo").style.backgroundColor = "white"; | ||
| 168 | - i3GEOF.etiqueta.inicia(divid); | ||
| 169 | - }, | ||
| 170 | - /* | ||
| 171 | - Function: ativaFoco | 51 | + i3f.renderFunction.call( |
| 52 | + this, | ||
| 53 | + { | ||
| 54 | + texto: Mustache.render(p.mustache, hash), | ||
| 55 | + onclose: i3f.destroy, | ||
| 56 | + resizable: { | ||
| 57 | + disabled: false, | ||
| 58 | + ghost: true, | ||
| 59 | + handles: "se,n" | ||
| 60 | + }, | ||
| 61 | + css: {'cursor': 'pointer', 'width': '100%', 'height': '50%','position': 'fixed','top': '', 'left': 0, 'right': 0, 'margin': 'auto', 'bottom': 0} | ||
| 62 | + }); | ||
| 172 | 63 | ||
| 173 | - Refaz a interface da ferramenta quando a janela flutuante tem seu foco ativado | ||
| 174 | - */ | ||
| 175 | - ativaFoco: function(){ | ||
| 176 | - if(i3GEO.temaAtivo != ""){ | ||
| 177 | - i3GEO.php.listaItensTema(i3GEOF.etiqueta.montaListaItens,i3GEOF.etiqueta.tema); | ||
| 178 | - } | ||
| 179 | - }, | ||
| 180 | - pegaDadosEtiquetas: function(funcao){ | ||
| 181 | - var cp = new cpaint(), | ||
| 182 | - p; | ||
| 183 | - p = i3GEO.configura.locaplic+"/ferramentas/etiqueta/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=pegaDadosEtiquetas&tema="+i3GEOF.etiqueta.tema; | ||
| 184 | - cp.set_response_type("JSON"); | ||
| 185 | - cp.call(p,"etiqueta",funcao); | 64 | + i3GEO.php.listaItensTema( |
| 65 | + i3GEOF.etiqueta.montaListaItens, | ||
| 66 | + p.tema | ||
| 67 | + ); | ||
| 186 | }, | 68 | }, |
| 187 | - /* | ||
| 188 | - Function: montaListaItens | ||
| 189 | - | ||
| 190 | - Monta a lista de itens que poderão ser escolhidos para compor o mapa. | ||
| 191 | - | ||
| 192 | - A lista é inserida no elemento html com id "i3GEOetiquetalistai" | ||
| 193 | - | ||
| 194 | - @TODO verificar quando um item ja esta na lista e marca-lo no checkbox | ||
| 195 | - */ | ||
| 196 | montaListaItens: function(retorno){ | 69 | montaListaItens: function(retorno){ |
| 197 | - var funcao = function(dadosItens){ | ||
| 198 | - var mustache = [], ins,i,n,itensatuais,item, ck = '',lista, temp; | ||
| 199 | - lista = dadosItens.data; | ||
| 200 | - try{ | ||
| 201 | - itensatuais = i3GEO.arvoreDeCamadas.pegaTema(i3GEO.temaAtivo); | ||
| 202 | - itensatuais = itensatuais.etiquetas.split(","); | ||
| 203 | - n = retorno.data.valores.length; | ||
| 204 | - for (i=0;i<n; i++){ | ||
| 205 | - temp = {}; | ||
| 206 | - item = retorno.data.valores[i].item; | ||
| 207 | - temp.item = item; | ||
| 208 | - if(i3GEO.util.in_array(item,lista.itens) || i3GEO.util.in_array(item,itensatuais) || lista.itembuscarapida[item]){ | ||
| 209 | - temp.ckIdentifica = "checked"; | ||
| 210 | - } | ||
| 211 | - else{ | ||
| 212 | - temp.ckIdentifica = ""; | ||
| 213 | - } | ||
| 214 | - if(i3GEO.util.in_array(item,itensatuais)){ | ||
| 215 | - temp.ckEtiquetaTip = "checked"; | ||
| 216 | - } | ||
| 217 | - else{ | ||
| 218 | - temp.ckEtiquetaTip = ""; | ||
| 219 | - } | ||
| 220 | - //utfdata | ||
| 221 | - if(lista.utfdata === item){ | ||
| 222 | - temp.ckUtfdata = "checked"; | ||
| 223 | - } | ||
| 224 | - else{ | ||
| 225 | - temp.ckUtfdata = ""; | ||
| 226 | - } | ||
| 227 | - //buscarapida | ||
| 228 | - if(lista.itembuscarapida === item){ | ||
| 229 | - temp.ckBuscaRapida = "checked"; | ||
| 230 | - } | ||
| 231 | - else{ | ||
| 232 | - temp.ckBuscaRapida = ""; | ||
| 233 | - } | ||
| 234 | - if(lista.itensdesc[item]){ | ||
| 235 | - temp.ckitensdesc = lista.itensdesc[item]; | 70 | + var data = retorno.data; |
| 71 | + var funcao = function(lista){ | ||
| 72 | + var mustache = [], ins,i,n,itensatuais,item, ck = '',temp; | ||
| 73 | + itensatuais = i3GEO.arvoreDeCamadas.pegaTema(i3GEOF.etiqueta._parameters.tema); | ||
| 74 | + itensatuais = itensatuais.etiquetas.split(","); | ||
| 75 | + n = data.valores.length; | ||
| 76 | + for (i=0;i<n; i++){ | ||
| 77 | + temp = {}; | ||
| 78 | + item = data.valores[i].item; | ||
| 79 | + temp.item = item; | ||
| 80 | + if(i3GEO.util.in_array(item,lista.itens) || i3GEO.util.in_array(item,itensatuais) || lista.itembuscarapida[item]){ | ||
| 81 | + temp.ckIdentifica = "checked"; | ||
| 82 | + } | ||
| 83 | + else{ | ||
| 84 | + temp.ckIdentifica = ""; | ||
| 85 | + } | ||
| 86 | + if(i3GEO.util.in_array(item,itensatuais)){ | ||
| 87 | + temp.ckEtiquetaTip = "checked"; | ||
| 88 | + } | ||
| 89 | + else{ | ||
| 90 | + temp.ckEtiquetaTip = ""; | ||
| 91 | + } | ||
| 92 | + //utfdata | ||
| 93 | + if(lista.utfdata === item){ | ||
| 94 | + temp.ckUtfdata = "checked"; | ||
| 95 | + } | ||
| 96 | + else{ | ||
| 97 | + temp.ckUtfdata = ""; | ||
| 98 | + } | ||
| 99 | + //buscarapida | ||
| 100 | + if(lista.itembuscarapida === item){ | ||
| 101 | + temp.ckBuscaRapida = "checked"; | ||
| 102 | + } | ||
| 103 | + else{ | ||
| 104 | + temp.ckBuscaRapida = ""; | ||
| 105 | + } | ||
| 106 | + if(lista.itensdesc[item]){ | ||
| 107 | + temp.ckitensdesc = lista.itensdesc[item]; | ||
| 108 | + } | ||
| 109 | + else{ | ||
| 110 | + temp.ckitensdesc = item; | ||
| 111 | + } | ||
| 112 | + //links | ||
| 113 | + if(lista.itenslink[item]){ | ||
| 114 | + temp.ckitem = lista.itenslink[item]; | ||
| 115 | + } | ||
| 116 | + else{ | ||
| 117 | + temp.ckitem = ""; | ||
| 118 | + } | ||
| 119 | + mustache.push(temp); | ||
| 120 | + } | ||
| 121 | + ins = Mustache.render( | ||
| 122 | + i3GEOF.etiqueta._parameters.mustachelista, | ||
| 123 | + $.extend( | ||
| 124 | + {}, | ||
| 125 | + { | ||
| 126 | + "linhas" : mustache, | ||
| 127 | + }, | ||
| 128 | + i3GEO.idioma.objetoIdioma(i3GEOF.etiqueta.dicionario) | ||
| 129 | + ) | ||
| 130 | + ); | ||
| 131 | + $i("i3GEOetiquetalistai").innerHTML = ins; | ||
| 132 | + //enable | ||
| 133 | + lista = $i("i3GEOetiquetalistai").getElementsByTagName("input"); | ||
| 134 | + n = lista.length; | ||
| 135 | + for (i=0;i<n; i++){ | ||
| 136 | + if(lista[i].name === "identifica"){ | ||
| 137 | + i3GEOF.etiqueta.ativaLinha(lista[i]); | ||
| 138 | + } | ||
| 139 | + } | ||
| 140 | + }; | ||
| 141 | + i3GEOF.etiqueta.get({ | ||
| 142 | + snackbar: false, | ||
| 143 | + fn: funcao, | ||
| 144 | + btn: false, | ||
| 145 | + par: {funcao: "pegaDadosEtiquetas"}, | ||
| 146 | + refresh: false | ||
| 147 | + }); | ||
| 148 | + }, | ||
| 149 | + get: function({snackbar = true, btn = false, par = {}, refresh = false, fn = false} = {}){ | ||
| 150 | + var p = this._parameters, | ||
| 151 | + i3f = this; | ||
| 152 | + i3GEO.janela.abreAguarde(); | ||
| 153 | + if(btn){ | ||
| 154 | + btn = $(btn); | ||
| 155 | + btn.prop("disabled",true).find("span .glyphicon").removeClass("hidden"); | ||
| 156 | + } | ||
| 157 | + i3GEO.janela._formModal.block(); | ||
| 158 | + par.g_sid = i3GEO.configura.sid; | ||
| 159 | + par.tema = p.tema; | ||
| 160 | + $.get( | ||
| 161 | + i3GEO.configura.locaplic+"/ferramentas/" + p.namespace + "/exec.php", | ||
| 162 | + par | ||
| 163 | + ) | ||
| 164 | + .done( | ||
| 165 | + function(data, status){ | ||
| 166 | + i3GEO.janela._formModal.unblock(); | ||
| 167 | + i3GEO.janela.fechaAguarde(); | ||
| 168 | + if(btn){ | ||
| 169 | + btn.prop("disabled",false).find("span .glyphicon").addClass("hidden"); | ||
| 236 | } | 170 | } |
| 237 | - else{ | ||
| 238 | - temp.ckitensdesc = item; | 171 | + if(snackbar){ |
| 172 | + i3GEO.janela.snackBar({content: $trad('feito')}); | ||
| 239 | } | 173 | } |
| 240 | - //links | ||
| 241 | - if(lista.itenslink[item]){ | ||
| 242 | - temp.ckitem = lista.itenslink[item]; | 174 | + if(refresh){ |
| 175 | + i3GEO.Interface.atualizaTema("", i3GEOF.etiqueta._parameters.tema); | ||
| 243 | } | 176 | } |
| 244 | - else{ | ||
| 245 | - temp.ckitem = ""; | 177 | + if(fn){ |
| 178 | + fn(data); | ||
| 246 | } | 179 | } |
| 247 | - mustache.push(temp); | ||
| 248 | } | 180 | } |
| 249 | - ins = Mustache.render( | ||
| 250 | - i3GEOF.etiqueta.MUSTACHELISTA, | ||
| 251 | - $.extend( | ||
| 252 | - {}, | ||
| 253 | - { | ||
| 254 | - "linhas" : mustache, | ||
| 255 | - }, | ||
| 256 | - i3GEOF.etiqueta.DICIONARIO | ||
| 257 | - ) | ||
| 258 | - ); | ||
| 259 | - $i("i3GEOetiquetalistai").innerHTML = ins; | ||
| 260 | - | ||
| 261 | - //enable | ||
| 262 | - lista = $i("i3GEOetiquetalistai").getElementsByTagName("input"); | ||
| 263 | - n = lista.length; | ||
| 264 | - for (i=0;i<n; i++){ | ||
| 265 | - if(lista[i].name === "identifica"){ | ||
| 266 | - i3GEOF.etiqueta.ativaLinha(lista[i]); | 181 | + ) |
| 182 | + .fail( | ||
| 183 | + function(data){ | ||
| 184 | + i3GEO.janela._formModal.unblock(); | ||
| 185 | + i3GEO.janela.fechaAguarde(); | ||
| 186 | + if(btn){ | ||
| 187 | + btn.prop("disabled",false).find("span .glyphicon").addClass("hidden"); | ||
| 267 | } | 188 | } |
| 189 | + i3GEO.janela.snackBar({content: data.statusText, style:'red'}); | ||
| 268 | } | 190 | } |
| 269 | - } | ||
| 270 | - catch(e) | ||
| 271 | - {$i("i3GEOetiquetalistai").innerHTML = "<p style=color:red >Erro<br>"+e;} | ||
| 272 | - }; | ||
| 273 | - i3GEOF.etiqueta.pegaDadosEtiquetas(funcao); | 191 | + ); |
| 274 | }, | 192 | }, |
| 275 | ativaLinha: function(obj){ | 193 | ativaLinha: function(obj){ |
| 276 | var linha = obj.parentNode.parentNode, | 194 | var linha = obj.parentNode.parentNode, |
| @@ -283,11 +201,6 @@ i3GEOF.etiqueta = { | @@ -283,11 +201,6 @@ i3GEOF.etiqueta = { | ||
| 283 | } | 201 | } |
| 284 | } | 202 | } |
| 285 | }, | 203 | }, |
| 286 | - /* | ||
| 287 | - Function: pegaItensMarcados | ||
| 288 | - | ||
| 289 | - Recupera os itens que foram marcados e monta uma lista para enviar como parâmetro para a função de geração dos gráficos | ||
| 290 | - */ | ||
| 291 | pegaItensMarcados: function(){ | 204 | pegaItensMarcados: function(){ |
| 292 | var tips = [], | 205 | var tips = [], |
| 293 | itens = [], | 206 | itens = [], |
| @@ -326,77 +239,40 @@ i3GEOF.etiqueta = { | @@ -326,77 +239,40 @@ i3GEOF.etiqueta = { | ||
| 326 | if (el.checked === true && el.name == "utfdata"){ | 239 | if (el.checked === true && el.name == "utfdata"){ |
| 327 | utfdata = el.value; | 240 | utfdata = el.value; |
| 328 | } | 241 | } |
| 329 | - | ||
| 330 | - | ||
| 331 | } | 242 | } |
| 332 | - | ||
| 333 | return([tips,itens,itensdesc,itenslink,itembuscarapida,utfdata]); | 243 | return([tips,itens,itensdesc,itenslink,itembuscarapida,utfdata]); |
| 334 | }, | 244 | }, |
| 335 | - /* | ||
| 336 | - Function: ativa | ||
| 337 | - | ||
| 338 | - Ativa a etiqueta com os itens marcados | ||
| 339 | - | ||
| 340 | - Veja: | ||
| 341 | - | ||
| 342 | - <ATIVAETIQUETAS> | ||
| 343 | - */ | ||
| 344 | - ativa: function(){ | ||
| 345 | - try{ | ||
| 346 | - if(i3GEOF.etiqueta.aguarde.visibility === "visible") | ||
| 347 | - {return;} | ||
| 348 | - var lista = i3GEOF.etiqueta.pegaItensMarcados(), | ||
| 349 | - cp = new cpaint(), | ||
| 350 | - temp, | ||
| 351 | - p; | ||
| 352 | - | ||
| 353 | - i3GEOF.etiqueta.aguarde.visibility = "visible"; | ||
| 354 | - temp = function(retorno){ | ||
| 355 | - i3GEOF.etiqueta.aguarde.visibility = "hidden"; | ||
| 356 | - i3GEO.atualiza(retorno); | ||
| 357 | - i3GEO.php.listaItensTema(i3GEOF.etiqueta.montaListaItens,i3GEO.temaAtivo); | ||
| 358 | - }; | ||
| 359 | - p = i3GEO.configura.locaplic+"/ferramentas/etiqueta/exec.php?g_sid=" | ||
| 360 | - + i3GEO.configura.sid | ||
| 361 | - + "&funcao=ativaEtiquetas&tema=" | ||
| 362 | - + i3GEOF.etiqueta.tema | ||
| 363 | - + "&tips="+lista[0].toString(",") | ||
| 364 | - + "&itens="+lista[1].toString(",") | ||
| 365 | - //+ "&itensdesc="+i3GEO.util.base64encode(lista[2].toString(",")) | ||
| 366 | - //+ "&itenslink="+i3GEO.util.base64encode(lista[3].toString(",")) | ||
| 367 | - + "&itensdesc="+lista[2].toString(",") | ||
| 368 | - + "&itenslink="+lista[3].toString(",") | ||
| 369 | - + "&itembuscarapida="+lista[4] | ||
| 370 | - + "&utfdata="+lista[5]; | ||
| 371 | - cp.set_response_type("JSON"); | ||
| 372 | - cp.set_transfer_mode('POST'); | ||
| 373 | - cp.call(p,"etiqueta",temp); | ||
| 374 | - }catch(e){i3GEO.janela.tempoMsg("Erro: "+e);i3GEOF.etiqueta.aguarde.visibility = "hidden";} | 245 | + ativa: function(btn){ |
| 246 | + var lista = i3GEOF.etiqueta.pegaItensMarcados(); | ||
| 247 | + var par = { | ||
| 248 | + funcao: "ativaEtiquetas", | ||
| 249 | + tips: lista[0].toString(","), | ||
| 250 | + itens: lista[1].toString(","), | ||
| 251 | + itensdesc: lista[2].toString(","), | ||
| 252 | + itenslink: lista[3].toString(","), | ||
| 253 | + itembuscarapida: lista[4], | ||
| 254 | + utfdata: lista[5] | ||
| 255 | + }; | ||
| 256 | + i3GEOF.etiqueta.get({ | ||
| 257 | + snackbar: false, | ||
| 258 | + fn: false, | ||
| 259 | + btn: btn, | ||
| 260 | + par: par, | ||
| 261 | + refresh: true | ||
| 262 | + }); | ||
| 375 | }, | 263 | }, |
| 376 | - /* | ||
| 377 | - Function: desativa | ||
| 378 | - | ||
| 379 | - Desativa as etiqueta do tema ativo | ||
| 380 | - | ||
| 381 | - Veja: | ||
| 382 | - | ||
| 383 | - <REMOVEETIQUETAS> | ||
| 384 | - */ | ||
| 385 | - desativa: function(){ | ||
| 386 | - try{ | ||
| 387 | - if(i3GEOF.etiqueta.aguarde.visibility === "visible") | ||
| 388 | - {return;} | ||
| 389 | - var cp = new cpaint(), | ||
| 390 | - temp, | ||
| 391 | - p; | ||
| 392 | - i3GEOF.etiqueta.aguarde.visibility = "visible"; | ||
| 393 | - temp = function(retorno){ | ||
| 394 | - i3GEOF.etiqueta.aguarde.visibility = "hidden"; | ||
| 395 | - i3GEO.atualiza(retorno); | ||
| 396 | - }; | ||
| 397 | - p = i3GEO.configura.locaplic+"/ferramentas/etiqueta/exec.php?g_sid="+i3GEO.configura.sid+"&funcao=removeEtiquetas&tema="+i3GEOF.etiqueta.tema; | ||
| 398 | - cp.set_response_type("JSON"); | ||
| 399 | - cp.call(p,"etiqueta",temp); | ||
| 400 | - }catch(e){i3GEO.janela.tempoMsg("Erro: "+e);i3GEOF.etiqueta.aguarde.visibility = "hidden";} | 264 | + desativa: function(btn){ |
| 265 | + i3GEOF.etiqueta.get({ | ||
| 266 | + snackbar: false, | ||
| 267 | + fn: function(){ | ||
| 268 | + i3GEO.php.listaItensTema( | ||
| 269 | + i3GEOF.etiqueta.montaListaItens, | ||
| 270 | + i3GEOF.etiqueta._parameters.tema | ||
| 271 | + ); | ||
| 272 | + }, | ||
| 273 | + btn: btn, | ||
| 274 | + par: {funcao: "removeEtiquetas"}, | ||
| 275 | + refresh: true | ||
| 276 | + }); | ||
| 401 | } | 277 | } |
| 402 | }; | 278 | }; |
| 403 | \ No newline at end of file | 279 | \ No newline at end of file |
ferramentas/etiqueta/templateLista_mst.html
| 1 | -<div> | ||
| 2 | - <table> | ||
| 3 | - <tr> | ||
| 4 | - <td>Coluna</td> | ||
| 5 | - <td style="text-align:center;padding: 10px;">Identifica</td> | ||
| 6 | - <td style="text-align:center;padding: 10px;">Tip (quando clicar)</td> | ||
| 7 | - <td style="text-align:center;padding: 10px;">Tip (dinâmico)</td> | ||
| 8 | - <td style="text-align:center;padding: 10px;">Busca</td> | ||
| 9 | - <td style="text-align:center;padding: 10px;">Alias</td> | ||
| 10 | - <td style="text-align:center;padding: 10px;;">Link</td> | ||
| 11 | - <tr> | ||
| 12 | -{{#linhas}} | ||
| 13 | - <tr> | ||
| 14 | - <td>{{{item}}}</td> | ||
| 15 | - <td> | ||
| 16 | - <div class="checkbox condensed text-center" style="text-align:center;"> | ||
| 17 | - <label> | ||
| 18 | - <input {{{ckIdentifica}}} data-col="{{{item}}}" value="{{{item}}}" type="checkbox" name="identifica" /> | ||
| 19 | - <span class="checkbox-material noprint"> | ||
| 20 | - <span class="check"></span> | ||
| 21 | - </span> | ||
| 22 | - </label> | ||
| 23 | - </div> | ||
| 24 | - </td> | ||
| 25 | - <td> | ||
| 26 | - <div class="checkbox condensed" style="text-align:center;"> | ||
| 27 | - <label> | ||
| 28 | - <input {{{ckEtiquetaTip}}} data-col="{{{item}}}" type='checkbox' value="{{{item}}}" name='etiquetaTip' /> | ||
| 29 | - <span class="checkbox-material noprint"> | ||
| 30 | - <span class="check"></span> | ||
| 31 | - </span> | ||
| 32 | - </label> | ||
| 33 | - </div> | ||
| 34 | - </td> | ||
| 35 | - <td> | ||
| 36 | - <div class="radio radio-primary condensed" style="text-align:center;"> | ||
| 37 | - <label> | ||
| 38 | - <input {{{ckUtfdata}}} data-col="{{{item}}}" type='radio' value="{{{item}}}" name='utfdata' /> | ||
| 39 | - <span class="circle"></span> | ||
| 40 | - <span class="check"></span> | ||
| 41 | - </label> | ||
| 42 | - </div> | ||
| 43 | - </td> | ||
| 44 | - <td> | ||
| 45 | - <div class="radio radio-primary condensed" style="text-align:center;"> | ||
| 46 | - <label> | ||
| 47 | - <input {{{ckBuscaRapida}}} data-col="{{{item}}}" type='radio' value="{{{item}}}" name='itembuscarapida' /> | ||
| 48 | - <span class="circle"></span> | ||
| 49 | - <span class="check"></span> | ||
| 50 | - </label> | ||
| 51 | - </div> | ||
| 52 | - </td> | ||
| 53 | - <td> | ||
| 54 | - <div class='form-group condensed'> | ||
| 55 | - <input class="form-control input" data-col="{{{item}}}" style="width: 150px;" type='text' name='itensdesc' value='{{{ckitensdesc}}}' /> | ||
| 56 | - </div> | ||
| 57 | - </td> | ||
| 58 | - <td> | ||
| 59 | - <div class='form-group condensed'> | ||
| 60 | - <input data-col="{{{item}}}" style="margin-left:10px;width: 100px;" class="form-control input" type='text' name='itenslink' value='{{{ckitem}}}' /> | ||
| 61 | - </div> | ||
| 62 | - </td> | ||
| 63 | 1 | ||
| 64 | - </tr> | ||
| 65 | - {{/linhas}} | ||
| 66 | - <tr> | ||
| 67 | - <td></td> | ||
| 68 | - <td style="text-align:center;padding: 10px;"></td> | ||
| 69 | - <td style="text-align:center;padding: 10px;"></td> | ||
| 70 | - <td style="text-align:center;padding: 10px;"> | ||
| 71 | - <div class="radio radio-primary condensed" style="text-align:center;"> | ||
| 72 | - <label> | ||
| 73 | - <input type='radio' value="" name='utfdata' /> | ||
| 74 | - <span class="circle"></span> | ||
| 75 | - <span class="check"></span> | ||
| 76 | - </label> | ||
| 77 | - </div> | ||
| 78 | - </td> | ||
| 79 | - <td style="text-align:center;padding: 10px;"> | ||
| 80 | - <div class="radio radio-primary condensed" style="text-align:center;"> | ||
| 81 | - <label> | ||
| 82 | - <input type='radio' value="" name='itembuscarapida' /> | ||
| 83 | - <span class="circle"></span> | ||
| 84 | - <span class="check"></span> | ||
| 85 | - </label> | ||
| 86 | - </div> | ||
| 87 | - </td> | ||
| 88 | - <td style="text-align:center;padding: 10px;"></td> | ||
| 89 | - <td style="text-align:center;padding: 10px;;"></td> | ||
| 90 | - <tr> | ||
| 91 | - </table> | ||
| 92 | -</div> | ||
| 93 | \ No newline at end of file | 2 | \ No newline at end of file |
| 3 | +<table class="table-striped table-condensed"> | ||
| 4 | + <tr> | ||
| 5 | + <td>Coluna</td> | ||
| 6 | + <td style="text-align: center; padding: 10px;">Identifica</td> | ||
| 7 | + <td style="text-align: center; padding: 10px;">Tip (quando clicar)</td> | ||
| 8 | + <td style="text-align: center; padding: 10px;">Tip (dinâmico)</td> | ||
| 9 | + <td style="text-align: center; padding: 10px;">Busca</td> | ||
| 10 | + <td style="text-align: center; padding: 10px;">Alias</td> | ||
| 11 | + <td style="text-align: center; padding: 10px;">Link</td> | ||
| 12 | + <tr>{{#linhas}} | ||
| 13 | + <tr> | ||
| 14 | + <td>{{{item}}}</td> | ||
| 15 | + <td> | ||
| 16 | + <div class="checkbox condensed text-center" style="text-align: center;"> | ||
| 17 | + <label> | ||
| 18 | + <input {{{ckIdentifica}}} data-col="{{{item}}}" value="{{{item}}}" type="checkbox" name="identifica" /> | ||
| 19 | + <span class="checkbox-material noprint"> <span class="check"></span> | ||
| 20 | + </span> | ||
| 21 | + </label> | ||
| 22 | + </div> | ||
| 23 | + </td> | ||
| 24 | + <td> | ||
| 25 | + <div class="checkbox condensed" style="text-align: center;"> | ||
| 26 | + <label> | ||
| 27 | + <input {{{ckEtiquetaTip}}} data-col="{{{item}}}" type='checkbox' value="{{{item}}}" name='etiquetaTip' /> | ||
| 28 | + <span class="checkbox-material noprint"> <span class="check"></span> | ||
| 29 | + </span> | ||
| 30 | + </label> | ||
| 31 | + </div> | ||
| 32 | + </td> | ||
| 33 | + <td> | ||
| 34 | + <div class="radio radio-primary condensed" style="text-align: center;"> | ||
| 35 | + <label> | ||
| 36 | + <input {{{ckUtfdata}}} data-col="{{{item}}}" type='radio' value="{{{item}}}" name='utfdata' /> | ||
| 37 | + <span class="circle"></span> <span class="check"></span> | ||
| 38 | + </label> | ||
| 39 | + </div> | ||
| 40 | + </td> | ||
| 41 | + <td> | ||
| 42 | + <div class="radio radio-primary condensed" style="text-align: center;"> | ||
| 43 | + <label> | ||
| 44 | + <input {{{ckBuscaRapida}}} data-col="{{{item}}}" type='radio' value="{{{item}}}" name='itembuscarapida' /> | ||
| 45 | + <span class="circle"></span> <span class="check"></span> | ||
| 46 | + </label> | ||
| 47 | + </div> | ||
| 48 | + </td> | ||
| 49 | + <td> | ||
| 50 | + <div class='form-group condensed'> | ||
| 51 | + <input class="form-control input" data-col="{{{item}}}" style="width: 150px;" type='text' name='itensdesc' value='{{{ckitensdesc}}}' /> | ||
| 52 | + </div> | ||
| 53 | + </td> | ||
| 54 | + <td> | ||
| 55 | + <div class='form-group condensed'> | ||
| 56 | + <input data-col="{{{item}}}" style="margin-left: 10px; width: 100px;" class="form-control input" type='text' name='itenslink' value='{{{ckitem}}}' /> | ||
| 57 | + </div> | ||
| 58 | + </td> | ||
| 59 | + | ||
| 60 | + </tr> | ||
| 61 | + {{/linhas}} | ||
| 62 | + <tr> | ||
| 63 | + <td></td> | ||
| 64 | + <td style="text-align: center; padding: 10px;"></td> | ||
| 65 | + <td style="text-align: center; padding: 10px;"></td> | ||
| 66 | + <td style="text-align: center; padding: 10px;"> | ||
| 67 | + <div class="radio radio-primary condensed" style="text-align: center;"> | ||
| 68 | + <label> | ||
| 69 | + <input type='radio' value="" name='utfdata' /> | ||
| 70 | + <span class="circle"></span> <span class="check"></span> | ||
| 71 | + </label> | ||
| 72 | + </div> | ||
| 73 | + </td> | ||
| 74 | + <td style="text-align: center; padding: 10px;"> | ||
| 75 | + <div class="radio radio-primary condensed" style="text-align: center;"> | ||
| 76 | + <label> | ||
| 77 | + <input type='radio' value="" name='itembuscarapida' /> | ||
| 78 | + <span class="circle"></span> <span class="check"></span> | ||
| 79 | + </label> | ||
| 80 | + </div> | ||
| 81 | + </td> | ||
| 82 | + <td style="text-align: center; padding: 10px;"></td> | ||
| 83 | + <td style="text-align: center; padding: 10px;"></td> | ||
| 84 | + <tr> | ||
| 85 | +</table> |
ferramentas/etiqueta/template_mst.html
| 1 | -<div class='container-fluid' > | ||
| 2 | - <button onclick="i3GEOF.etiqueta.ativa()" class='btn btn-primary btn-sm btn-raised'>{{{aplica}}}</button> | ||
| 3 | - <button onclick="i3GEOF.etiqueta.desativa()" class='btn btn-primary btn-sm btn-raised'>{{{desativaEtiquetas}}}</button> | ||
| 4 | -</div> | ||
| 5 | -<div class='container-fluid customScrollBarXY' style="height: calc(100% - 55px);"> | ||
| 6 | - <div id='i3GEOFetiquetaComboCabeca' class='form-group condensed' style='width:100%'> | ||
| 7 | - | ||
| 8 | - </div> | ||
| 9 | - <!-- ver templateLista_mst.html --> | ||
| 10 | - <div id='i3GEOetiquetalistai'></div> | ||
| 11 | - <h5 class="alert alert-info">{{{selecionaItem}}}</h5> | 1 | +<div id='{{idContainer}}' class='container-fluid' style='text-align: left; display: block; overflow: auto; height: calc(100% - 85px);'> |
| 2 | + <div class='container-fluid'> | ||
| 3 | + <div class="form-group condensed"> | ||
| 4 | + <button onclick="i3GEOF.etiqueta.ativa(this)" class='btn btn-primary btn-sm btn-raised'><span class="glyphicon glyphicon-repeat normal-right-spinner hidden"></span> {{{aplica}}}</button> | ||
| 5 | + </div> | ||
| 6 | + </div> | ||
| 7 | + <!-- ver templateLista_mst.html --> | ||
| 8 | + <div id='i3GEOetiquetalistai' class='container-fluid ' style='margin-top: 20px;'></div> | ||
| 9 | + <h5 class="alert alert-info">{{{selecionaItem}}}</h5> | ||
| 12 | </div> | 10 | </div> |
| 13 | \ No newline at end of file | 11 | \ No newline at end of file |
js/tema.js
| @@ -765,7 +765,7 @@ i3GEO.tema = | @@ -765,7 +765,7 @@ i3GEO.tema = | ||
| 765 | "etiqueta", | 765 | "etiqueta", |
| 766 | "etiqueta", | 766 | "etiqueta", |
| 767 | "dependencias.php", | 767 | "dependencias.php", |
| 768 | - "i3GEOF.etiqueta.start()"); | 768 | + temp); |
| 769 | }, | 769 | }, |
| 770 | /** | 770 | /** |
| 771 | * Function: funcaojstip | 771 | * Function: funcaojstip |