/* Title: grupos.js Funções que controlam a interface do editor de grupos 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/grupos.js */ /* Function: initEditorGrupos Inicializa o editor */ function initEditorGrupos() { core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraGrupos","adicionaNovoGrupo","pegaGrupos_G") pegaGrupos_G() } /* Function: pegaGrupos_G Obtém a lista de grupos */ function pegaGrupos_G() { core_carregando("ativa"); core_pegaDados("buscando grupos...","../php/menutemas.php?funcao=pegaGrupos","montaTabela_G") } function montaTabela_G(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 = "Clique para editar, tecle enter e depois salve"; } elCell.innerHTML = "

" + oData + "

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

" + oData + "

"; }; var formatSalva = function(elCell, oRecord, oColumn) { elCell.innerHTML = "
"; }; var formatExclui = function(elCell, oRecord, oColumn) { elCell.innerHTML = "
"; }; var 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; var column = myDataTable.getColumn(oArgs.target); //if(column.editor != "null") if(!YAHOO.lang.isNull(column.editor)) { YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted'); } }; myDataTable.unhighlightEditableCell = function(oArgs) { var elCell = oArgs.target; if(elCell.style.cursor="pointer") { YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted'); } }; myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell); myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell); 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_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()) linha.style.color = "blue"; linha.style.textDecoration = "blink"; }); }; core_carregando("desativa"); } /* Function: gravaLinha_G Aplica as alterações feitas em um registro */ 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);