if(typeof(i3GEOadmin) === 'undefined'){ var i3GEOadmin = {}; } i3GEOadmin.conexao = { dados: "", letra: "", dataTable: null, colunas: ["codigo_estat_conexao","bancodedados","host","porta","usuario","senha","fonte"], formatTexto: function(elCell, oRecord, oColumn, oData){ if(oData === ""){ oData = ""; } elCell.innerHTML = "

" + oData + "

"; }, formatExclui: function(elCell, oRecord, oColumn){ if(oRecord.getData("fonte") == "metaestat"){ elCell.innerHTML = "
"; } }, formatMais: function(elCell, oRecord, oColumn){ if(oRecord.getData("fonte") == "metaestat"){ elCell.innerHTML = "
"; } }, formatSenha: function(elCell, oRecord, oColumn){ elCell.innerHTML = "A senha deve ser editada diretamente no banco de dados de administração (tabela i3geo_admin.i3geoestat_conexao). Veja o i3geo/ms_configura.php para saber qual é o banco."; }, defColunas: function(){ return [ {key:"excluir",label:"excluir",formatter:i3GEOadmin.conexao.formatExclui}, {key:"mais",label:"editar",formatter:i3GEOadmin.conexao.formatMais}, {label:"código",key:"codigo_estat_conexao", formatter:i3GEOadmin.conexao.formatTexto}, {label:"Banco de dados",resizeable:true,key:"bancodedados", formatter:i3GEOadmin.conexao.formatTexto}, {label:"Host",resizeable:true,key:"host", formatter:i3GEOadmin.conexao.formatTexto}, {label:"Porta",key:"porta",formatter:i3GEOadmin.conexao.formatTexto}, {label:"Usuário",key:"usuario",formatter:i3GEOadmin.conexao.formatTexto}, {label:"Fonte",key:"fonte",formatter:i3GEOadmin.conexao.formatTexto}, {label:"Senha",key:"senha",formatter:i3GEOadmin.conexao.formatSenha} ]; }, /* * Inicializa o menu */ inicia: function(){ YAHOO.namespace("conexao"); YAHOO.namespace("admin.container"); core_ativaPainelAjuda("ajuda","botaoAjuda"); var temp = function(o){ i3GEOadmin.conexao.obtem(); return; }; core_ativaBotaoAdicionaLinha("../php/metaestat.php?funcao=alterarConexao","adicionaNovaLinha",temp); i3GEOadmin.conexao.obtem(); }, /* * Obtém a lista de menus */ obtem: function(){ i3GEOadmin.conexao.dados = ""; core_carregando("ativa"); core_pegaDados("buscando endereços...","../php/metaestat.php?funcao=listaConexao","i3GEOadmin.conexao.tabela"); }, tabela: function(dados){ if(i3GEOadmin.conexao.dados == ""){ i3GEOadmin.conexao.dados = dados; } core_listaDeLetras("letras","i3GEOadmin.conexao.filtra",false,300); YAHOO.example.InlineCellEditing = new function(){ // Custom formatter for "address" column to preserve line breaks var myDataSource = new YAHOO.util.DataSource(dados); myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; myDataSource.responseSchema = { fields: i3GEOadmin.conexao.colunas }; //i3GEOadmin.conexao.dataTable = new YAHOO.widget.DataTable("tabela", i3GEOadmin.conexao.defColunas(), myDataSource); i3GEOadmin.conexao.dataTable = new YAHOO.widget.ScrollingDataTable("tabela", i3GEOadmin.conexao.defColunas(), myDataSource,{width:"100%"}); i3GEOadmin.conexao.dataTable.subscribe('postRenderEvent',function(){ //abre o editor if(i3GEOadmin.conexao.dados[0].bancodedados == ""){ var rec = i3GEOadmin.conexao.dataTable.getRecordSet().getRecord(0); i3GEOadmin.conexao.editor([i3GEOadmin.conexao.dados[0]],i3GEOadmin.conexao.dados[0].codigo_estat_conexao,rec.getId()); } } ); i3GEOadmin.conexao.dataTable.subscribe('cellClickEvent',function(ev){ var sUrl, callback,$clicouId, $recordid, target = YAHOO.util.Event.getTarget(ev), column = this.getColumn(target), registro = this.getRecord(target); if(YAHOO.conexao.panelCK) { YAHOO.conexao.panelCK.destroy(); YAHOO.conexao.panelCK = null; } if (column.key == 'excluir'){ if(registro.getData('fonte')){ alert("Nao pode ser editado. Veja em ms_configura.php"); return; } //i3GEOadmin.conexao.exclui(registro.getData('codigo_estat_conexao'),target); } if (column.key == 'mais'){ core_carregando("ativa"); core_carregando("buscando dados..."); $clicouId = registro.getData('codigo_estat_conexao'); $recordid = registro.getId(); sUrl = "../php/metaestat.php?funcao=listaConexao&codigo_estat_conexao="+$clicouId; callback = { success:function(o){ try{ i3GEOadmin.conexao.editor(YAHOO.lang.JSON.parse(o.responseText),$clicouId,$recordid); } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; core_makeRequest(sUrl,callback); } }); }; core_carregando("desativa"); }, editor: function(dados,id,recordid){ function on_editorCheckBoxChange(p_oEvent){ if(p_oEvent.newValue.get("value") == "OK"){ i3GEOadmin.conexao.salva(id,recordid); } YAHOO.conexao.panelEditor2.destroy(); YAHOO.conexao.panelEditor2 = null; }; if(!$i("janela_editor2")){ var editorBotoes,ins, novoel = document.createElement("div"); novoel.id = "janela_editor2"; ins = '
Editor
'; ins += "
"; ins += "
"; novoel.innerHTML = ins; document.body.appendChild(novoel); editorBotoes = new YAHOO.widget.ButtonGroup({id:"okcancel_checkbox_id2", name: "okcancel_checkbox_id2", container: "okcancel_checkbox2" }); editorBotoes.addButtons([ { label: "Salva", value: "OK", checked: false}, { label: "Cancela", value: "CANCEL", checked: false } ]); editorBotoes.on("checkedButtonChange", on_editorCheckBoxChange); YAHOO.conexao.panelEditor2 = new YAHOO.widget.Panel("janela_editor2", { modal:true,fixedcenter:true,close:false,width:"400px", height:"360px",overflow:"auto", visible:false,constraintoviewport:true } ); YAHOO.conexao.panelEditor2.render(); } YAHOO.conexao.panelEditor2.show(); $i("editor_bd2").innerHTML = i3GEOadmin.conexao.formulario(dados); core_carregando("desativa"); }, formulario: function(i){ var param = { "linhas":[ {titulo:"Banco de dados:",id:"Ebancodedados",size:"50",value:i.bancodedados,tipo:"text",div:""}, {titulo:"Servidor:",id:"Ehost",size:"50",value:i.host,tipo:"text",div:""}, {titulo:"Porta:",id:"Eporta",size:"50",value:i.porta,tipo:"text",div:""}, {titulo:"Usuário:",id:"Eusuario",size:"50",value:i.usuario,tipo:"text",div:""} ] }, ins = ""; ins += core_geraLinhas(param); return(ins); }, atualizaFiltro: function(dados){ i3GEOadmin.conexao.dados = dados; i3GEOadmin.conexao.filtra(i3GEOadmin.conexao.letra); }, filtra: function(letra){ i3GEOadmin.conexao.letra = letra; if(i3GEOadmin.conexao.dados == ""){ core_carregando("ativa"); core_pegaDados("buscando endereços...","../php/metaestat.php?funcao=listaConexao","i3GEOadmin.conexao.atualizaFiltro"); return; } var i,temp, n = i3GEOadmin.conexao.dados.length, novo; if(letra == "Todos"){ novo = i3GEOadmin.conexao.dados; } else{ novo = []; for(i=0;iNão foi possível excluir. Verifique se não existem registros vinculados"); setTimeout("core_carregando('desativa')",3000); } else{ var rec = i3GEOadmin.conexao.dataTable.getRecordSet().getRecord(recordid); i3GEOadmin.conexao.dataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)); i3GEOadmin.conexao.dados = ""; core_carregando("desativa"); } } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; core_makeRequest(sUrl,callback); } };