/* Title: menu.js Funções que controlam a interface do editor de menus 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; 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: initEditorMenu Inicializa o editor */ function initEditorMenu() { YAHOO.namespace("example.container"); core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraMenus&publicado_menu=&perfil=&nome=&desc=&id=&aberto=","adicionaNovoMenu","pegaMenus_M") pegaMenus_M() } /* Function: pegaMenus_M Obtém a lista de menus */ function pegaMenus_M() { core_carregando("ativa"); core_pegaDados("buscando menus...","../php/menutemas.php?funcao=pegaMenus","montaTabela_M") } function montaTabela_M(dados) { YAHOO.example.InlineCellEditing = new function() { // Custom formatter for "address" column to preserve line breaks var formatTexto = function(elCell, oRecord, oColumn, oData) { if(oData === ""){ oData = ""; } elCell.innerHTML = "

" + oData + "

"; }; var formatSalva = function(elCell, oRecord, oColumn) { elCell.innerHTML = "
"; }; 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})} ]; //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"] }; 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.example.container.panelCK) { YAHOO.example.container.panelCK.destroy(); YAHOO.example.container.panelCK = null; } if (column.key == 'excluir') { var record = this.getRecord(target); excluiLinha_M(record.getData('id_menu'),target); } if (column.key == 'mais') { var record = this.getRecord(target); core_carregando("ativa"); core_carregando("buscando dados..."); $clicouId = record.getData('id_menu'); $recordid = record.getId(); var sUrl = "../php/menutemas.php?funcao=pegamenus&id_menu="+record.getData('id_menu'); var callback = { success:function(o) { try { montaEditor_M(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_M(dados,id,recordid) { function on_editorCheckBoxChange(p_oEvent) { var ins = ""; if(p_oEvent.newValue.get("value") == "OK") { gravaDados_M(id,recordid); } YAHOO.example.container.panelEditor2.destroy(); YAHOO.example.container.panelEditor2 = null; }; if(!$i("janela_editor2")) { var novoel = document.createElement("div"); novoel.id = "janela_editor2"; var ins = '
Editor
'; ins += "
"; ins += "
"; novoel.innerHTML = ins; document.body.appendChild(novoel); var 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.example.container.panelEditor2 = new YAHOO.widget.Panel("janela_editor2", { fixedcenter:true,close:false,width:"400px", height:"480px",overflow:"auto", visible:false,constraintoviewport:true } ); YAHOO.example.container.panelEditor2.render(); } YAHOO.example.container.panelEditor2.show(); $i("editor_bd2").innerHTML = montaDiv_M(dados[0]) core_carregando("desativa"); } function montaDiv_M(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:""} ] }; var ins = "" ins += core_geraLinhas(param) ins += "

Publicado para todos verem?
" ins += "