/* Licenca: GPL2 i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation; Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto com este programa; se não, escreva para a Free Software Foundation, Inc., no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */ i3GEOadmin.mapfile = { //variavel global indicando o elemento que recebera a lista de menus ondeLista: "", favoritosArray: [], formAdiciona: "", parametrosSalvar: "", init: function(onde,palavra){ i3GEOadmin.mapfile.ondeLista = onde; i3GEOadmin.mapfile.lista(palavra); i3GEOadmin.mapfile.retornaFavoritosArray(); }, /* Function: lista Obtém a lista */ lista: function(palavra,validar){ if(!validar){ validar = ""; } i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapfile.ondeLista); $.post( "exec.php?funcao=lista", "&palavra=" + palavra + "&validar=" + validar ) .done( function(data, status){ //valor do filtro atual var filtro = i3GEOadmin.core.valorFiltro(); //objeto json com os dados viondos do banco var json = jQuery.parseJSON(data); var templateLista = $("#templateLista").html(); templateLista = templateLista.replace("{{{templateFormLista}}}",$("#templateFormLista").html()); var html = Mustache.to_html( "{{#data}}" + templateLista + "{{/data}}", $.extend( {}, i3GEOadmin.mapfile.dicionario, { "data": json } ) ); i3GEOadmin.mapfile.ondeLista.html(html); i3GEOadmin.mapfile.montaFavoritos(); $("#totalMapfiles").html(json.length); //filtro html = Mustache.to_html( "{{#data}}" + $("#templateFiltro").html() + "{{/data}}", {"data":json} ); $("#filtro").html("" + html); $("#filtro").combobox(); $(".ui-autocomplete-input").attr( "title", "Filtro" ); if(filtro != ""){ i3GEOadmin.core.defineFiltro(filtro); i3GEOadmin.core.filtra(i3GEOadmin.mapfile.pegaFiltro()); } //monta um template para o modal de inclusao if(i3GEOadmin.mapfile.formAdiciona == ""){ html = Mustache.to_html( $("#templateManterTema").html(), $.extend( {}, i3GEOadmin.mapfile.dicionario, { "codigo": "", "escondido": "hidden", "excluir": i3GEOadmin.mapfile.dicionario.cancelar, "onExcluir": "i3GEOadmin.core.fechaModalGeral",//funcao "onSalvar": "i3GEOadmin.mapfile.adiciona", "metaestatnao": "selected", "acessopublico": "checked", "criaMapfileTxt": i3GEOadmin.mapfile.dicionario.criaMapfile, "criaMapfileDescTxt": i3GEOadmin.mapfile.dicionario.criaMapfileDesc } ) ); i3GEOadmin.mapfile.formAdiciona = html; } $.material.init(); } ) .fail(function(data){ i3GEOadmin.mapfile.ondeLista.html(""); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); }); }, editarDialogo: function(id){ i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); //deve-se usar o codigo e nao o id_tema $.post( "exec.php?funcao=listaunico", "codigo=" + id ) .done( function(data, status){ var json = jQuery.parseJSON(data); var html = Mustache.to_html( "{{#data}}" + $("#templateManterTema").html() + "{{/data}}", $.extend( {}, i3GEOadmin.mapfile.dicionario, { "data": json["dados"], "onExcluir": "i3GEOadmin.mapfile.excluirDialogo",//funcao "onSalvar": "i3GEOadmin.mapfile.salvarAlteracaoDialogo", "criaMapfileTxt": i3GEOadmin.mapfile.dicionario.editaMapfile, "criaMapfileDescTxt": i3GEOadmin.mapfile.dicionario.editaMapfileDesc } ) ); i3GEOadmin.core.abreModalGeral(html); } ) .fail( function(data){ i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } ); }, salvarAlteracaoDialogo: function(codigo,id){ i3GEOadmin.mapfile.parametrosSalvar = $("#form-edicao-" + codigo).serialize(); var hash = { "mensagem": i3GEOadmin.mapfile.dicionario.confirma, "onBotao1": "i3GEOadmin.mapfile.salva('"+id+"')", "botao1": i3GEOadmin.mapfile.dicionario.sim, "onBotao2": "i3GEOadmin.mapfile.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.mapfile.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, salva: function(id){ var parametros = i3GEOadmin.mapfile.parametrosSalvar; i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( "exec.php?funcao=alterar", "id_tema=" + id + "&"+parametros ) .done( function(data, status){ i3GEOadmin.mapfile.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapfile.ondeLista); i3GEOadmin.mapfile.lista("",""); } ) .fail( function(data){ i3GEOadmin.mapfile.parametrosSalvar = ''; i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } ); }, adicionaDialogo: function(){ i3GEOadmin.core.abreModalGeral(i3GEOadmin.mapfile.formAdiciona); }, // os parametros sao obtidos do formulario aberto do modal adiciona: function(){ var parametros = $("#modalGeral form").serialize(); i3GEOadmin.core.fechaModalGeral(); i3GEOadmin.core.modalAguarde(true); $.post( "exec.php?funcao=adicionar", parametros ) .done( function(data, status){ var json = jQuery.parseJSON(data); i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.iconeAguarde(i3GEOadmin.mapfile.ondeLista); i3GEOadmin.mapfile.favoritosArray.push(json.codigo); i3GEOadmin.mapfile.lista("",""); } ) .fail( function(data){ i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } ); }, excluirDialogo: function(id){ var hash = { "mensagem": i3GEOadmin.mapfile.dicionario.confirma, "onBotao1": "i3GEOadmin.mapfile.excluir('"+id+"')", "botao1": i3GEOadmin.mapfile.dicionario.sim, "onBotao2": "i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.mapfile.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, excluir: function(id){ i3GEOadmin.core.modalAguarde(true); $.post( "exec.php?funcao=excluir", "codigo="+id ) .done( function(data, status){ i3GEOadmin.core.modalAguarde(false); i3GEOadmin.mapfile.lista("",""); i3GEOadmin.mapfile.registraFavoritos(id); } ) .fail( function(data){ i3GEOadmin.core.modalAguarde(false); i3GEOadmin.core.mostraErro(data.status + " " +data.statusText); } ); }, salvarDialogo: function(id){ i3GEOadmin.mapfile.parametrosSalvar = $("#form-edicao-" + id).serialize(); //console.info(i3GEOadmin.mapfile.parametrosSalvar); var hash = { "mensagem": i3GEOadmin.mapfile.dicionario.confirma, "onBotao1": "i3GEOadmin.mapfile.salvar('"+id+"')", "botao1": i3GEOadmin.mapfile.dicionario.sim, "onBotao2": "i3GEOadmin.mapfile.parametrosSalvar = '';i3GEOadmin.core.fechaModalConfirma();", "botao2": i3GEOadmin.mapfile.dicionario.nao }; i3GEOadmin.core.abreModalConfirma(hash); }, retornaFavoritosArray: function(){ var temp = i3GEO.util.pegaCookie("I3GEOfavoritosEditorMapfile"); if(temp){ i3GEOadmin.mapfile.favoritosArray = temp.split(","); } else{ i3GEOadmin.mapfile.favoritosArray = []; } return i3GEOadmin.mapfile.favoritosArray; }, registraFavoritos: function(codigoTema){ i3GEOadmin.mapfile.favoritosArray.remove("NaN"); if(i3GEO.util.in_array(codigoTema,i3GEOadmin.mapfile.favoritosArray)){ i3GEOadmin.mapfile.favoritosArray.remove(codigoTema); } else { i3GEOadmin.mapfile.favoritosArray.push(codigoTema); } i3GEO.util.insereCookie("I3GEOfavoritosEditorMapfile", i3GEOadmin.mapfile.favoritosArray.toString(",")); i3GEOadmin.mapfile.montaFavoritos(); }, montaFavoritos: function(){ //o try aqui e necessario para evitar seletor com erro. Eventualmente. try { var mapfile, i, conteudo = [], n, codigo, h; n = i3GEOadmin.mapfile.favoritosArray.length; for (i=0; i