var callback = { success:function(o){ try { //guarda os dados auxiliares para montagem de combos dadosAuxiliares = YAHOO.lang.JSON.parse(o.responseText); } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; core_makeRequest("../php/metaestat.php?funcao=listaDadosTabelasAuxiliares",callback); function initEditor(){ YAHOO.namespace("admin.container"); var temp = function(o){ pegaDados(); return; }; core_ativaBotaoAdicionaLinha("../php/metaestat.php?funcao=alterarTipoRegiao","adicionaNovaLinha",temp); pegaDados(); } function pegaDados(){ core_carregando("ativa"); core_pegaDados("buscando dados...","../php/metaestat.php?funcao=listaTipoRegiao","montaTabela"); } function pegaDadosAgregacoes(codigo_tipo_regiao){ core_carregando("ativa"); core_carregando("buscando dados..."); sUrl = "../php/metaestat.php?funcao=listaAgregaRegiao&codigo_tipo_regiao="+codigo_tipo_regiao; callback = { success:function(o){ try{ iniciaEditorAgregacoes(YAHOO.lang.JSON.parse(o.responseText),codigo_tipo_regiao); } catch(e){core_handleFailure(e,o.responseText);} }, failure:core_handleFailure, argument: { foo:"foo", bar:"bar" } }; core_makeRequest(sUrl,callback); } function montaTabela(dados){ YAHOO.namespace("editorregiao"); YAHOO.editorregiao.InlineCellEditing = new function() { // Custom formatter for "address" column to preserve line breaks var formatTexto = function(elCell, oRecord, oColumn, oData){ if(oData === ""){ oData = ""; } elCell.innerHTML = "
"; }, formatExclui = function(elCell, oRecord, oColumn){ elCell.innerHTML = ""; }, formatMais = function(elCell, oRecord, oColumn){ elCell.innerHTML = ""; }, formatRel = function(elCell, oRecord, oColumn){ elCell.innerHTML = ""; }, formatShp = function(elCell, oRecord, oColumn){ elCell.innerHTML = ""; }, myColumnDefs = [ {key:"excluir",label:"excluir",formatter:formatExclui}, {key:"shapefile",label:"download",formatter:formatShp}, {key:"rel",label:"agregações",formatter:formatRel}, {key:"mais",label:"propriedades",formatter:formatMais}, {label:"código",key:"codigo_tipo_regiao", formatter:formatTexto}, {label:"Nome",resizeable:true,key:"nome_tipo_regiao", formatter:formatTexto}, {label:"Descrição",resizeable:true,key:"descricao_tipo_regiao", formatter:formatTexto}, {label:"Conexão",key:"codigo_estat_conexao",formatter:formatTexto}, {label:"Esquema",key:"esquemadb",formatter:formatTexto}, {label:"Tabela",key:"tabela",formatter:formatTexto}, {label:"Geometria",key:"colunageo",formatter:formatTexto}, {label:"Centróide",key:"colunacentroide",formatter:formatTexto}, {label:"Data",key:"data",formatter:formatTexto}, {label:"Região",key:"identificador",formatter:formatTexto}, {label:"Nomes",resizeable:false,key:"colunanomeregiao",formatter:formatTexto}, {label:"Colunas visíveis (separa com vírgula)",resizeable:false,key:"colunasvisiveis",formatter:formatTexto}, {label:"Apelidos",resizeable:false,key:"apelidos",formatter:formatTexto}, {label:"SRID",key:"srid",formatter:formatTexto} ]; var myDataSource = new YAHOO.util.DataSource(dados); myDataTable = new YAHOO.widget.ScrollingDataTable("tabela", myColumnDefs, myDataSource,{width:"100%"}); myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; myDataSource.responseSchema = { fields: ["codigo_tipo_regiao","nome_tipo_regiao","descricao_tipo_regiao","esquemadb","tabela","colunageo","colunacentroide","data","identificador","codigo_estat_conexao","colunanomeregiao","colunasvisiveis","apelidos","srid"] }; /** * @FIXME nao funciona qd ativado */ /* myDataTable.subscribe('postRenderEvent',function(){ //abre o editor var dados = myDataTable.getDataSource(); if(dados.liveData[0].nome_tipo_regiao == ""){ var rec = myDataTable.getRecordSet().getRecord(0); montaEditor([dados.liveData[0]],dados.liveData[0].codigo_tipo_regiao,rec.getId()); } }); */ myDataTable.subscribe( 'cellClickEvent', function(ev){ var record,$clicouId,$recordid,sUrl,callback, target = YAHOO.util.Event.getTarget(ev), column = this.getColumn(target); if(YAHOO.admin.container.panelCK){ YAHOO.admin.container.panelCK.destroy(); YAHOO.admin.container.panelCK = null; } if (column.key == 'excluir'){ record = this.getRecord(target); excluiLinha(record.getData('codigo_tipo_regiao'),target); } if (column.key == 'mais'){ record = this.getRecord(target); core_carregando("ativa"); core_carregando("buscando dados..."); $clicouId = record.getData('codigo_tipo_regiao'); $recordid = record.getId(); sUrl = "../php/metaestat.php?funcao=listaTipoRegiao&codigo_tipo_regiao="+record.getData('codigo_tipo_regiao'); callback = { success:function(o){ try{ montaEditor(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); } if (column.key == 'rel'){ record = this.getRecord(target); $clicouId = record.getData('codigo_tipo_regiao'); $recordid = record.getId(); pegaDadosAgregacoes(record.getData('codigo_tipo_regiao')); } if (column.key == 'shapefile'){ if(window.confirm("Confirma o download?")){ record = this.getRecord(target); sUrl = "../php/metaestat.php?funcao=regiao2shp&codigo_tipo_regiao="+record.getData('codigo_tipo_regiao'); window.open(sUrl,"blank"); } } } ); }; core_carregando("desativa"); } function iniciaEditorAgregacoes(dados,codigo_tipo_regiao){ core_carregando("desativa"); //if($i("editor_bd")){return;} core_montaEditor("","550px","250px","","Agregações"); $i("editor_bd").innerHTML = '" + oData + "
"; }, formatExclui = function(elCell, oRecord, oColumn){ elCell.innerHTML = ""; }, formatMais = function(elCell, oRecord, oColumn){ elCell.innerHTML = ""; }, myColumnDefs = [ {key:"excluir",label:"excluir",formatter:formatExclui}, {key:"mais",label:"editar",formatter:formatMais}, {label:"código",key:"id_agregaregiao", formatter:formatTexto}, {label:"Tipo de limite",resizeable:true,key:"codigo_tipo_regiao", formatter:formatTexto}, {label:"Pai",resizeable:true,key:"codigo_tipo_regiao_pai", formatter:formatTexto}, {label:"Coluna de ligacao",key:"colunaligacao_regiaopai",formatter:formatTexto} ]; var myDataSource = new YAHOO.util.DataSource(dados); myDataTable = new YAHOO.widget.DataTable("tabelaAgrega", myColumnDefs, myDataSource); myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; myDataSource.responseSchema = { fields: ["id_agregaregiao","codigo_tipo_regiao","codigo_regiao_pai","colunaligacao_regiaopai"] }; myDataTable.subscribe( 'cellClickEvent', function(ev){ var record,$clicouId,$recordid,sUrl,callback, target = YAHOO.util.Event.getTarget(ev), column = this.getColumn(target); if(YAHOO.admin.container.panelCK){ YAHOO.admin.container.panelCK.destroy(); YAHOO.admin.container.panelCK = null; } if (column.key == 'excluir'){ record = this.getRecord(target); excluiLinhaAgregacao(record.getData('id_agregaregiao'),target); } if (column.key == 'mais'){ record = this.getRecord(target); core_carregando("ativa"); core_carregando("buscando dados..."); $clicouId = record.getData('id_agregaregiao'); $recordid = record.getId(); sUrl = "../php/metaestat.php?funcao=listaAgregaRegiao&id_agregaregiao="+$clicouId; callback = { success:function(o){ try{ montaEditorAgregacoes(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"); } function montaEditor(dados,id,recordid){ function on_editorCheckBoxChange(p_oEvent){ if(p_oEvent.newValue.get("value") == "OK"){ gravaDados(id,recordid); } YAHOO.admin.container.panelEditor2.destroy(); YAHOO.admin.container.panelEditor2 = null; }; if(!$i("janela_editor2")){ var ins,editorBotoes, novoel = document.createElement("div"); novoel.id = "janela_editor2"; ins = '" + oData + "