From 4f3432d229c9f02aa7357aaba539832af86917a3 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 21 Aug 2012 04:17:48 +0000 Subject: [PATCH] --- admin/html/menus.html | 2 +- admin/js/arvore.js | 4 ++-- admin/js/core.js | 12 ++++++++---- admin/js/grupos.js | 367 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------- admin/js/menu.js | 456 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- admin/php/menutemas.php | 48 +++++++++++++++++++++++++++++++++--------------- 6 files changed, 481 insertions(+), 408 deletions(-) diff --git a/admin/html/menus.html b/admin/html/menus.html index 39cc6f6..24c4dfd 100644 --- a/admin/html/menus.html +++ b/admin/html/menus.html @@ -122,7 +122,7 @@ body { cabecalhoGeral("cabecalhoPrincipal", "menus"); temp = function() { document.getElementById("formulario").style.display = "block"; - initEditorMenu(); + i3GEOadmin.menus.inicia(); }; i3GEO.login.verificaOperacao("admin/html/menus", i3GEO.configura.locaplic, temp, "sessao"); diff --git a/admin/js/arvore.js b/admin/js/arvore.js index c0751a7..0d7046a 100644 --- a/admin/js/arvore.js +++ b/admin/js/arvore.js @@ -65,13 +65,13 @@ function initMenu(){ if($i("editor_bd")){return;} core_montaEditor("","600px","500px","pegaMenus","Menu"); $i("editor_bd").innerHTML = '



'; - initEditorMenu(); + i3GEOadmin.menus.inicia(); }, editorDeGrupos = function(){ if($i("editor_bd")){return;} core_montaEditor("","600px","500px","","Grupos"); $i("editor_bd").innerHTML = '

Clique nas células da tabela para editar a característica de cada item. Finalize com "enter". Após editar, salve o item.




'; - initEditorGrupos(); + i3GEOadmin.grupos.inicia(); }, editorDeSubGrupos = function() { if($i("editor_bd")){return;} diff --git a/admin/js/core.js b/admin/js/core.js index 3697c8b..dfb7688 100644 --- a/admin/js/core.js +++ b/admin/js/core.js @@ -1235,7 +1235,7 @@ row - objeto row de um datatable mensagem - */ -function core_excluiLinha(sUrl,row,mensagem,cabecalho) +function core_excluiLinha(sUrl,row,mensagem,cabecalho,tabela) { if(!cabecalho){ cabecalho = ""; @@ -1260,7 +1260,12 @@ function core_excluiLinha(sUrl,row,mensagem,cabecalho) } else { - myDataTable.deleteRow(row); + if(tabela){ + tabela.deleteRow(row); + } + else{ + myDataTable.deleteRow(row); + } core_carregando("desativa"); } } @@ -1271,8 +1276,7 @@ function core_excluiLinha(sUrl,row,mensagem,cabecalho) }; core_makeRequest(sUrl,callback); }; - var handleNo = function() - { + var handleNo = function(){ this.hide(); }; var mensagem = "Exclui o registro?"; diff --git a/admin/js/grupos.js b/admin/js/grupos.js index 6128863..e0d0ff5 100644 --- a/admin/js/grupos.js +++ b/admin/js/grupos.js @@ -29,164 +29,237 @@ Arquivo: i3geo/admin/js/grupos.js */ + /* -Function: initEditorGrupos +Title: menu.js -Inicializa o editor +Funções que controlam a interface do editor de menus - -*/ -function initEditorGrupos() -{ - core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraGrupos","adicionaNovoGrupo","pegaGrupos_G"); - pegaGrupos_G(); -} -/* -Function: pegaGrupos_G +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@mma.gov.br + +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; -Obtém a lista de grupos +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. + +Arquivo: - +i3geo/admin/js/menus.js */ -function pegaGrupos_G() -{ - dados_G = ""; - core_carregando("ativa"); - core_pegaDados("buscando grupos...","../php/menutemas.php?funcao=pegaGrupos","montaTabela_G"); + +if(typeof(i3GEOadmin) === 'undefined'){ + var i3GEOadmin = {}; } -function filtraDadosLetras_G(letra){ - var i,temp, - n = dados_G.length, - novo = []; - if(letra == "Todos"){ - novo = dados_G; - } - else{ - for(i=0;i"; + }, + formatSalva: function(elCell, oRecord, oColumn){ + elCell.innerHTML = "
"; + }, + formatExclui: function(elCell, oRecord, oColumn){ + elCell.innerHTML = "
"; + }, + formatMais: function(elCell, oRecord, oColumn){ + elCell.innerHTML = "
"; + }, + defColunas: function(){ + return [ + {key:"excluir",label:"excluir",formatter:i3GEOadmin.grupos.formatExclui}, + {key:"mais",label:"editar",formatter:i3GEOadmin.grupos.formatMais}, + {label:"id",key:"id_grupo", formatter:i3GEOadmin.grupos.formatTexto}, + {label:"nome",resizeable:true,key:"nome_grupo", formatter:i3GEOadmin.grupos.formatTexto}, + {label:"descrição",resizeable:true,key:"desc_grupo", formatter:i3GEOadmin.grupos.formatTexto}, + {label:"en",resizeable:true,key:"en", formatter:i3GEOadmin.grupos.formatTexto}, + {label:"es",resizeable:true,key:"es", formatter:i3GEOadmin.grupos.formatTexto}, + {label:"it",resizeable:true,key:"it", formatter:i3GEOadmin.grupos.formatTexto} + ]; + }, + /* + * Inicializa o menu + */ + inicia: function(){ + YAHOO.namespace("grupos"); + core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraGrupos","adicionaNovoGrupo","i3GEOadmin.grupos.obtem"); + i3GEOadmin.grupos.obtem(); + }, + /* + * Obtém a lista de menus + */ + obtem: function(){ + i3GEOadmin.grupos.dados = ""; + core_carregando("ativa"); + core_pegaDados("buscando grupos...","../php/menutemas.php?funcao=pegaGrupos","i3GEOadmin.grupos.tabela"); + }, + tabela: function(dados){ + if(i3GEOadmin.grupos.dados == ""){ + i3GEOadmin.grupos.dados = dados; + } + core_listaDeLetras("letras_G","i3GEOadmin.grupos.filtra"); + 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.grupos.colunas + }; + i3GEOadmin.grupos.dataTable = new YAHOO.widget.DataTable("tabela", i3GEOadmin.grupos.defColunas(), myDataSource); + i3GEOadmin.grupos.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.grupos.panelCK) { + YAHOO.grupos.panelCK.destroy(); + YAHOO.grupos.panelCK = null; } - elCell.innerHTML = "

" + oData + "

"; - }, - formatTextoId = function(elCell, oRecord, oColumn, oData){ - elCell.innerHTML = "

" + oData + "

"; - }, - formatSalva = function(elCell, oRecord, oColumn){ - elCell.innerHTML = "
"; - }, - formatExclui = function(elCell, oRecord, oColumn){ - elCell.innerHTML = "
"; - }, - myColumnDefs = [ - {key:"excluir",label:"excluir",formatter:formatExclui}, - {label:"salvar",formatter:formatSalva}, - {label:"id",key:"id_grupo", formatter:formatTextoId}, - {label:"nome",resizeable:true,key:"nome_grupo", formatter:formatTexto, editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, - {label:"descrição",resizeable:true,key:"desc_grupo", formatter:formatTexto, editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, - {label:"en",resizeable:true,key:"en", formatter:formatTexto, editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, - {label:"es",resizeable:true,key:"es", formatter:formatTexto, editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, - {label:"it",resizeable:true,key:"it", formatter:formatTexto, editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})} - ]; - myDataSource = new YAHOO.util.DataSource(dados); - myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; - myDataSource.responseSchema = { - fields: ["it","es","en","desc_grupo","id_grupo","nome_grupo"] - }; - myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); - // Set up editing flow - myDataTable.highlightEditableCell = function(oArgs) { - var elCell = oArgs.target, - column = myDataTable.getColumn(oArgs.target); - //if(column.editor != "null") - if(!YAHOO.lang.isNull(column.editor)){ - YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted'); - } + if (column.key == 'excluir'){ + i3GEOadmin.grupos.exclui(registro.getData('id_grupo'),target); + } + if (column.key == 'mais'){ + core_carregando("ativa"); + core_carregando("buscando dados..."); + $clicouId = registro.getData('id_grupo'); + $recordid = registro.getId(); + sUrl = "../php/menutemas.php?funcao=pegaGrupos&id_grupo="+$clicouId; + callback = { + success:function(o){ + try{ + i3GEOadmin.grupos.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); + } + }); }; - myDataTable.unhighlightEditableCell = function(oArgs){ - var elCell = oArgs.target; - if(elCell.style.cursor="pointer"){ - YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted'); + core_carregando("desativa"); + }, + editor: function(dados,id,recordid){ + function on_editorCheckBoxChange(p_oEvent){ + if(p_oEvent.newValue.get("value") == "OK"){ + i3GEOadmin.grupos.salva(id,recordid); } + YAHOO.grupos.panelEditor2.destroy(); + YAHOO.grupos.panelEditor2 = null; }; - myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell); - myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell); - myDataTable.subscribe('cellClickEvent',function(ev){ - var record,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_G(record.getData('id_grupo'),target); - } - else - {this.onEventShowCellEditor(ev);} - }); - // Hook into custom event to customize save-flow of "radio" editor - myDataTable.subscribe("editorUpdateEvent", function(oArgs){ - if(oArgs.editor.column.key === "active"){ - this.saveCellEditor(); - } - }); - myDataTable.subscribe("editorBlurEvent", function(oArgs){ - this.cancelCellEditor(); - }); - myDataTable.subscribe("editorSaveEvent", function(oArgs){ - if(oArgs.newData != oArgs.oldData){ - var linha = myDataTable.getTrEl(oArgs.editor.getRecord()); - if(linha){ - linha.style.color = "blue"; - linha.style.textDecoration = "blink"; + if(!$i("janela_editor2")){ + var editorBotoes,ins, + novoel = document.createElement("div"); + novoel.id = "janela_editor2"; + ins = '
Editor
'; + ins += "
"; + 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.grupos.panelEditor2 = new YAHOO.widget.Panel("janela_editor2", { modal:true,fixedcenter:true,close:false,width:"400px", height:"480px",overflow:"auto", visible:false,constraintoviewport:true } ); + YAHOO.grupos.panelEditor2.render(); + } + YAHOO.grupos.panelEditor2.show(); + $i("editor_bd2").innerHTML = i3GEOadmin.grupos.formulario(dados[0]); + core_carregando("desativa"); + }, + formulario: function(i){ + var param = { + "linhas":[ + {titulo:"Nome padrão:",id:"Enome_grupo",size:"50",value:i.nome_grupo,tipo:"text",div:""}, + {titulo:"Descricao (opcional):",id:"Edesc_grupo",size:"50",value:i.desc_grupo,tipo:"text",div:""}, + {titulo:"Nome em inglês (opcional):",id:"Een",size:"50",value:i.en,tipo:"text",div:""}, + {titulo:"Espanhol (opcional):",id:"Ees",size:"50",value:i.es,tipo:"text",div:""}, + {titulo:"Italiano (opcional):",id:"Eit",size:"50",value:i.it,tipo:"text",div:""} + ] + }, + ins = ""; + ins += core_geraLinhas(param); + return(ins); + }, + filtra: function(letra){ + var i,temp, + n = i3GEOadmin.grupos.dados.length, + novo = []; + if(letra == "Todos"){ + novo = i3GEOadmin.grupos.dados; + } + else{ + for(i=0;i -*/ -function gravaLinha_G(row) -{ - var r = myDataTable.getRecordSet().getRecord(row); - var id_grupo = r.getData("id_grupo"); - var nome_grupo = r.getData("nome_grupo"); - var desc_grupo = r.getData("desc_grupo"); - var en = r.getData("en"); - var es = r.getData("es"); - var it = r.getData("it"); - core_carregando("ativa"); - var mensagem = " gravando registro do id= "+id_grupo; - var sUrl = "../php/menutemas.php?funcao=alteraGrupos&nome="+nome_grupo+"&desc="+desc_grupo+"&id="+id_grupo+"&en="+en+"&es="+es+"&it="+it; - core_gravaLinha(mensagem,row,sUrl,"pegaGrupos_G"); -} -function excluiLinha_G(id,row) -{ - var mensagem = " excluindo o registro do id= "+id; - var sUrl = "../php/menutemas.php?funcao=excluirRegistro&id="+id+"&tabela=grupos"; - core_excluiLinha(sUrl,row,mensagem); -} -//YAHOO.util.Event.addListener(window, "load", initMenu); \ No newline at end of file + } + i3GEOadmin.grupos.tabela(novo); + }, + exclui: function(id,row){ + var mensagem = " excluindo o registro do id= "+id, + sUrl = "../php/menutemas.php?funcao=excluirRegistro&id="+id+"&tabela=grupos"; + core_excluiLinha(sUrl,row,mensagem,"",i3GEOadmin.grupos.dataTable); + }, + salva: function(id,recordid){ + var i,c,sUrl, callback, + campos = i3GEOadmin.grupos.colunas, + par = "", + n = campos.length; + 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.grupos.dataTable.getRecordSet().getRecord(recordid); + i3GEOadmin.grupos.dataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0]); + core_carregando("desativa"); + } + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback); + } +}; \ No newline at end of file diff --git a/admin/js/menu.js b/admin/js/menu.js index ba3f466..3e5cd7c 100644 --- a/admin/js/menu.js +++ b/admin/js/menu.js @@ -36,251 +36,229 @@ Inicializa o editor */ -function initEditorMenu() -{ - YAHOO.namespace("admin.container"); - core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraMenus&publicado_menu=&perfil=&nome=&desc=&id=&aberto=","adicionaNovoMenu","pegaMenus_M"); - pegaMenus_M(); +if(typeof(i3GEOadmin) === 'undefined'){ + var i3GEOadmin = {}; } -/* -Function: pegaMenus_M - -Obtém a lista de menus - - -*/ -function pegaMenus_M() -{ - dados_M = ""; - core_carregando("ativa"); - core_pegaDados("buscando menus...","../php/menutemas.php?funcao=pegaMenus","montaTabela_M"); -} -function filtraDadosLetras_M(letra){ - var i,temp, - n = dados_M.length, - novo = []; - if(letra == "Todos"){ - novo = dados_M; - } - else{ - for(i=0;i"; - }; - var formatExclui = function(elCell, oRecord, oColumn) - { - elCell.innerHTML = "
";//onclick='excluiLinha_M(\""+oRecord.getData("id_menu")+"\",\""+oRecord.getId()+"\")'>
"; - }; - var formatMais = function(elCell, oRecord, oColumn) - { - elCell.innerHTML = "
"; - }; - var myColumnDefs = [ - {key:"excluir",label:"excluir",formatter:formatExclui}, - {key:"mais",label:"editar",formatter:formatMais}, - {label:"id",key:"id_menu", formatter:formatTexto}, - {label:"nome padrão do menu",resizeable:true,key:"nome_menu", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, - {label:"nome em inglês (opcional)",resizeable:true,key:"en", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, - {label:"nome em espanhol (opcional)",resizeable:true,key:"es", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, - {label:"nome em italiano (opcional)",resizeable:true,key:"it", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})}, - {label:"publicado para todos verem?",key:"publicado_menu",editor:"radio" ,editorOptions:{radioOptions:["SIM","NAO"],disableBtns:false,LABEL_SAVE:"OK"}}, - {label:"perfis",resizeable:true,key:"perfil_menu", formatter:formatTexto,editor:"textbox",editorOptions:{LABEL_SAVE:"OK"}}, - {label:"inicia aberto?",key:"aberto", editor:"radio" ,editorOptions:{radioOptions:["SIM","NAO"],disableBtns:false,LABEL_SAVE:"OK"}}, - {label:"descrição",resizeable:true,key:"desc_menu", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})} + elCell.innerHTML = "

" + oData + "

"; + }, + formatExclui: function(elCell, oRecord, oColumn){ + elCell.innerHTML = "
"; + }, + formatMais: function(elCell, oRecord, oColumn){ + elCell.innerHTML = "
"; + }, + defColunas: function(){ + return [ + {key:"excluir",label:"excluir",formatter:i3GEOadmin.menus.formatExclui}, + {key:"mais",label:"editar",formatter:i3GEOadmin.menus.formatMais}, + {label:"id",key:"id_menu", formatter:i3GEOadmin.menus.formatTexto}, + {label:"nome padrão do menu",resizeable:true,key:"nome_menu", formatter:i3GEOadmin.menus.formatTexto}, + {label:"nome em inglês (opcional)",resizeable:true,key:"en", formatter:i3GEOadmin.menus.formatTexto}, + {label:"nome em espanhol (opcional)",resizeable:true,key:"es", formatter:i3GEOadmin.menus.formatTexto}, + {label:"nome em italiano (opcional)",resizeable:true,key:"it", formatter:i3GEOadmin.menus.formatTexto}, + {label:"publicado para todos verem?",key:"publicado_menu", formatter:i3GEOadmin.menus.formatTexto}, + {label:"perfis",resizeable:true,key:"perfil_menu", formatter:i3GEOadmin.menus.formatTexto}, + {label:"inicia aberto?",key:"aberto", formatter:i3GEOadmin.menus.formatTexto}, + {label:"descrição",resizeable:true,key:"desc_menu", formatter:i3GEOadmin.menus.formatTexto} ]; - //YAHOO.widget.CellEditor.LABEL_SAVE = "Aplicar"; - myDataSource = new YAHOO.util.DataSource(dados); - myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; - myDataSource.responseSchema = - { - fields: ["it","es","en","publicado_menu","perfil_menu","aberto","desc_menu","id_menu","nome_menu"] + }, + /* + * Inicializa o menu + */ + inicia: function(){ + YAHOO.namespace("menus"); + core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraMenus&publicado_menu=&perfil=&nome=&desc=&id=&aberto=","adicionaNovoMenu","i3GEOadmin.menus.obtem"); + i3GEOadmin.menus.obtem(); + }, + /* + * Obtém a lista de menus + */ + obtem: function(){ + i3GEOadmin.menus.dados = ""; + core_carregando("ativa"); + core_pegaDados("buscando menus...","../php/menutemas.php?funcao=pegaMenus","i3GEOadmin.menus.tabela"); + }, + tabela: function(dados){ + if(i3GEOadmin.menus.dados == ""){ + i3GEOadmin.menus.dados = dados; + } + core_listaDeLetras("letras_M","i3GEOadmin.menus.filtra"); + 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.menus.colunas + }; + i3GEOadmin.menus.dataTable = new YAHOO.widget.DataTable("tabela", i3GEOadmin.menus.defColunas(), myDataSource); + i3GEOadmin.menus.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.menus.panelCK) { + YAHOO.menus.panelCK.destroy(); + YAHOO.menus.panelCK = null; + } + if (column.key == 'excluir'){ + i3GEOadmin.menus.exclui(registro.getData('id_menu'),target); + } + if (column.key == 'mais'){ + core_carregando("ativa"); + core_carregando("buscando dados..."); + $clicouId = registro.getData('id_menu'); + $recordid = registro.getId(); + sUrl = "../php/menutemas.php?funcao=pegamenus&id_menu="+$clicouId; + callback = { + success:function(o){ + try{ + i3GEOadmin.menus.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); + } + }); }; - myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); - myDataTable.subscribe('cellClickEvent',function(ev) - { - var target = YAHOO.util.Event.getTarget(ev); - var column = this.getColumn(target); - if(YAHOO.admin.container.panelCK) - { - YAHOO.admin.container.panelCK.destroy(); - YAHOO.admin.container.panelCK = null; + core_carregando("desativa"); + }, + editor: function(dados,id,recordid){ + function on_editorCheckBoxChange(p_oEvent){ + if(p_oEvent.newValue.get("value") == "OK"){ + i3GEOadmin.menus.salva(id,recordid); } - if (column.key == 'excluir') - { - var record = this.getRecord(target); - excluiLinha_M(record.getData('id_menu'),target); + YAHOO.menus.panelEditor2.destroy(); + YAHOO.menus.panelEditor2 = null; + }; + if(!$i("janela_editor2")){ + var editorBotoes,ins, + novoel = document.createElement("div"); + novoel.id = "janela_editor2"; + ins = '
Editor
'; + ins += "
"; + 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.menus.panelEditor2 = new YAHOO.widget.Panel("janela_editor2", { modal:true,fixedcenter:true,close:false,width:"400px", height:"480px",overflow:"auto", visible:false,constraintoviewport:true } ); + YAHOO.menus.panelEditor2.render(); + } + YAHOO.menus.panelEditor2.show(); + $i("editor_bd2").innerHTML = i3GEOadmin.menus.formulario(dados[0]); + core_carregando("desativa"); + }, + formulario: function(i){ + var param = { + "linhas":[ + {titulo:"Nome padrão:",id:"Enome_menu",size:"50",value:i.nome_menu,tipo:"text",div:""}, + {titulo:"Descricao (opcional):",id:"Edesc_menu",size:"50",value:i.desc_menu,tipo:"text",div:""}, + {titulo:"Nome em inglês (opcional):",id:"Een",size:"50",value:i.en,tipo:"text",div:""}, + {titulo:"Espanhol (opcional):",id:"Ees",size:"50",value:i.es,tipo:"text",div:""}, + {titulo:"Italiano (opcional):",id:"Eit",size:"50",value:i.it,tipo:"text",div:""}, + {titulo:"Perfis (opcional):",id:"Eperfil_menu",size:"50",value:i.perfil_menu,tipo:"text",div:""} + ] + }, + ins = ""; + ins += core_geraLinhas(param); + ins += "

Publicado para todos verem?
"; + ins += "