From 55345c100b2ea104f2a8d77b53934a3d799b3eca Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Wed, 1 Oct 2008 20:26:53 +0000 Subject: [PATCH] --- admin/imagens/06.png | Bin 0 -> 485 bytes admin/js/sistemas.js | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ admin/js/webservices.js | 209 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 490 insertions(+), 0 deletions(-) create mode 100644 admin/imagens/06.png create mode 100644 admin/js/sistemas.js create mode 100644 admin/js/webservices.js diff --git a/admin/imagens/06.png b/admin/imagens/06.png new file mode 100644 index 0000000..1d3092b Binary files /dev/null and b/admin/imagens/06.png differ diff --git a/admin/js/sistemas.js b/admin/js/sistemas.js new file mode 100644 index 0000000..c45202e --- /dev/null +++ b/admin/js/sistemas.js @@ -0,0 +1,281 @@ +YAHOO.namespace("example.container"); +function initMenu() +{ + ativaBotaoAdicionaRaiz("../php/sistemas.php?funcao=alterarSistemas","adiciona") + core_carregando("ativa"); + core_ativaPainelAjuda("ajuda","botaoAjuda"); + core_pegaPerfis("pegaSistemas()"); +} +function ativaBotaoAdicionaRaiz(sUrl,idBotao) +{ + var adiciona = function() + { + core_carregando("ativa"); + core_carregando(" adicionando um novo registro"); + var callback = + { + success:function(o) + { + try + { + adicionaNosRaiz(YAHOO.lang.JSON.parse(o.responseText),true); + core_carregando("desativa"); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) + }; + //cria o botão de adição de um novo menu + var adiciona = new YAHOO.widget.Button(idBotao,{ onclick: { fn: adiciona } }); +} +function pegaSistemas() +{ + core_pegaDados("buscando sistemas...","../php/sistemas.php?funcao=pegaSistemas","montaArvore") +} +function montaArvore(dados) +{ + YAHOO.example.treeExample = new function() + { + var currentIconMode; + tree = ""; + function changeIconMode() + { + var newVal = parseInt(this.value); + if (newVal != currentIconMode) + {currentIconMode = newVal;} + buildTree(); + } + function loadNodeData(node, fnLoadComplete) + { + var sUrl = "../php/sistemas.php?funcao=pegaFuncoes&id_sistema="+node.data.id_sistema; + var callback = + { + success: function(oResponse) + { + var dados = YAHOO.lang.JSON.parse(oResponse.responseText) + adicionaNos(node,dados,false) + oResponse.argument.fnLoadComplete(); + }, + failure: function(oResponse) + { + oResponse.argument.fnLoadComplete(); + }, + argument: + { + "node": node, + "fnLoadComplete": fnLoadComplete + }, + timeout: 7000 + }; + YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); + } + function buildTree() + { + tree = new YAHOO.widget.TreeView("tabela"); + tree.setDynamicLoad(loadNodeData, currentIconMode); + adicionaNosRaiz(dados) + var root = tree.getRoot(); + var tempNode = new YAHOO.widget.TextNode('', root, false); + tempNode.isLeaf = true; + tree.draw(); + core_carregando("desativa"); + } + buildTree(); + }(); +} +function adicionaNos(no,dados,redesenha) +{ + for (var i=0, j=dados.length; i " + conteudo += "  "+dados[i].nome_funcao+"" + var d = {html:conteudo,id_funcao:dados[i].id_funcao,tipo:"funcao"} + var tempNode = new YAHOO.widget.HTMLNode(d, no, false,true); + tempNode.isLeaf = true; + } + if(redesenha){tree.draw();} +} +function adicionaNosRaiz(dados,redesenha) +{ + var root = tree.getRoot(); + for (var i=0, j=dados.length; i" + conteudo += " " + conteudo += "  "+dados[i].nome_sistema + var d = {html:conteudo,id_sistema:dados[i].id_sistema,tipo:"sistema"}; + var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true); + } + if(redesenha){tree.draw();} +} +function editar(tipo,id) +{ + if(tipo == "funcao") + { + core_carregando("ativa"); + core_carregando(" buscando dados"); + var callback = + { + success:function(o) + { + try + { + montaEditorFuncoes(YAHOO.lang.JSON.parse(o.responseText)[0],id); + core_carregando("desativa"); + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + var sUrl = "../php/sistemas.php?funcao=pegaFuncao&id_funcao="+id; + core_makeRequest(sUrl,callback) + } +} +function montaEditorFuncoes(dados,id) +{ + function on_editorCheckBoxChange(p_oEvent) + { + var ins = ""; + if(p_oEvent.newValue.get("value") == "OK") + { + gravaDadosFuncao(id); + } + else + { + YAHOO.example.container.panelEditorFuncao.destroy(); + YAHOO.example.container.panelEditorFuncao = null; + } + }; + if(!YAHOO.example.container.panelEditorFuncao) + { + var novoel = document.createElement("div"); + novoel.id = "janela_editor"; + var ins = '
Editor
'; + ins += "
"; + ins += "
"; + novoel.innerHTML = ins; + document.body.appendChild(novoel); + var editorBotoes = new YAHOO.widget.ButtonGroup({id:"okcancel_checkbox_id", name: "okcancel_checkbox_id", container: "okcancel_checkbox" }); + editorBotoes.addButtons([ + { label: "Salva", value: "OK", checked: false}, + { label: "Cancela", value: "CANCEL", checked: false } + ]); + editorBotoes.on("checkedButtonChange", on_editorCheckBoxChange); + YAHOO.example.container.panelEditorFuncao = new YAHOO.widget.Panel("janela_editor", { fixedcenter:true,close:false,width:"400px", height:"400px",overflow:"auto", visible:false,constraintoviewport:true } ); + YAHOO.example.container.panelEditorFuncao.render(); + } + YAHOO.example.container.panelEditorFuncao.show(); + //carrega os dados na janela + $i("editor_bd").innerHTML = montaDivFuncoes(dados) + core_carregando("desativa"); + // + //preenche a div com a lista de tags + // + //core_comboTags("comboTags","Etags_tema","registraTag"); + // + //preenche a div com a lista de mapfiles + // + //core_comboMapfiles("comboMapfiles","Ecodigo_tema",dados[0].codigo_tema); +} +function registraTag(valor) +{ + var inp = $i("Etags_tema") + var tags = inp.value + if(tags == "") + inp.value = valor + else + inp.value = tags+" "+valor +} +function montaDivFuncoes(i) +{ + var param = + { + "linhas":[ + {titulo:"Nome da função:",id:"Enome_funcao",size:"50",value:i.nome_funcao,tipo:"text",div:""}, + {titulo:"Programa que será executado:",id:"Eabrir_funcao",size:"50",value:i.abrir_funcao,tipo:"text",div:""}, + {titulo:"Largura da janela onde o programa será aberto:",id:"Ew_funcao",size:"5",value:i.w_funcao,tipo:"text",div:""}, + {titulo:"Altura da janela:",id:"Eh_funcao",size:"5",value:i.h_funcao,tipo:"text",div:""}, + {titulo:"Perfis:",id:"Eperfil_funcao",size:"50",value:i.perfil_funcao,tipo:"text",div:""} + ] + } + var ins = "" + ins += core_geraLinhas(param) + return(ins) +} +function excluir(tipo,id) +{ + var mensagem = " excluindo o registro do id= "+id; + if(tipo == "sistema") + { + var no = tree.getNodeByProperty("id_sistema",id) + var sUrl = "../php/sistemas.php?funcao=excluirSistema&id="+id+"&tabela=sistemas"; + } + if(tipo == "funcao") + { + var no = tree.getNodeByProperty("id_funcao",id) + var sUrl = "../php/sistemas.php?funcao=excluirFuncao&id="+id+"&tabela=funcoes"; + } + core_excluiNoTree(sUrl,no,mensagem) +} +function adicionarFuncao(id) +{ + var mensagem = " adicionando função..."; + var no = tree.getNodeByProperty("id_sistema",id) + var sUrl = "../php/sistemas.php?funcao=alterarFuncoes&id_sistema="+id; + var callback = + { + success: function(oResponse) + { + var dados = YAHOO.lang.JSON.parse(oResponse.responseText) + adicionaNos(no,dados,true) + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + + core_makeRequest(sUrl,callback) +} +function gravaDadosFuncao(id) +{ + var campos = new Array("perfil","w","h","abrir","nome") + var par = "" + for (i=0;iNão foi possível excluir. Verifique se não existem menus vinculados a este tema"); + setTimeout("core_carregando('desativa')",3000) + } + else + { + //var rec = myDataTable.getRecordSet().getRecord(recordid); + //myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0]) + var no = tree.getNodeByProperty("id_funcao",id) + no.getContentEl().getElementsByTagName("span")[0].innerHTML = document.getElementById("Enome_funcao").value + core_carregando("desativa"); + } + YAHOO.example.container.panelEditorFuncao.destroy(); + YAHOO.example.container.panelEditorFuncao = null; + } + catch(e){core_handleFailure(e,o.responseText);} + }, + failure:core_handleFailure, + argument: { foo:"foo", bar:"bar" } + }; + core_makeRequest(sUrl,callback) +} +YAHOO.util.Event.addListener(window, "load", initMenu); \ No newline at end of file diff --git a/admin/js/webservices.js b/admin/js/webservices.js new file mode 100644 index 0000000..1d294a4 --- /dev/null +++ b/admin/js/webservices.js @@ -0,0 +1,209 @@ +YAHOO.namespace("example.container"); +function initMenu() +{ + core_ativaBotaoAdicionaLinha("../php/webservices.php?funcao=alterarWS","adiciona") + core_carregando("ativa"); + core_ativaPainelAjuda("ajuda","botaoAjuda"); + pegaWS(); +} +function pegaWS() +{ + core_pegaDados("buscando endereços...","../php/webservices.php?funcao=pegaWS","montaTabela") +} +function montaTabela(dados) +{ + YAHOO.example.InlineCellEditing = new function() + { + // Custom formatter for "address" column to preserve line breaks + var formatTextoId = function(elCell, oRecord, oColumn, oData) + { + elCell.innerHTML = "

" + oData + "

"; + }; + + var formatMais = function(elCell, oRecord, oColumn) + { + elCell.innerHTML = "
"; + }; + var formatExclui = function(elCell, oRecord, oColumn) + { + elCell.innerHTML = "
"; + }; + var myColumnDefs = [ + {key:"excluir",label:"excluir",formatter:formatExclui}, + {key:"mais",label:"editar",formatter:formatMais}, + {label:"id",key:"id_ws", formatter:formatTextoId}, + {label:"tipo",key:"tipo_ws", formatter:formatTextoId}, + {label:"nome",key:"nome_ws", formatter:formatTextoId}, + ]; + myDataSource = new YAHOO.util.DataSource(dados); + myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; + myDataSource.responseSchema = + { + fields: ["id_ws","nome_ws","tipo_ws"] + }; + myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); + // Set up editing flow + myDataTable.subscribe('cellClickEvent',function(ev) + { + var target = YAHOO.util.Event.getTarget(ev); + var column = this.getColumn(target); + if (column.key == 'excluir') + { + var record = this.getRecord(target); + excluiLinha(record.getData('id_ws'),target); + } + if (column.key == 'mais') + { + var record = this.getRecord(target); + core_carregando("ativa"); + core_carregando("buscando dados..."); + $clicouId = record.getData('id_ws'); + $recordid = record.getId(); + var sUrl = "../php/webservices.php?funcao=pegaDados&id_ws="+record.getData('id_ws'); + var 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) + } + + }); + // 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(); + }); + }; + core_carregando("desativa"); +} +function montaEditor(dados,id,recordid) +{ + function on_editorCheckBoxChange(p_oEvent) + { + var ins = ""; + if(p_oEvent.newValue.get("value") == "OK") + { + gravaDados(id,recordid); + } + else + { + YAHOO.example.container.panelEditor.destroy(); + YAHOO.example.container.panelEditor = null; + } + }; + if(!YAHOO.example.container.panelEditor) + { + var novoel = document.createElement("div"); + novoel.id = "janela_editor"; + var ins = '
Editor
'; + ins += "
"; + ins += "
"; + novoel.innerHTML = ins; + document.body.appendChild(novoel); + var editorBotoes = new YAHOO.widget.ButtonGroup({id:"okcancel_checkbox_id", name: "okcancel_checkbox_id", container: "okcancel_checkbox" }); + editorBotoes.addButtons([ + { label: "Salva", value: "OK", checked: false}, + { label: "Cancela", value: "CANCEL", checked: false } + ]); + editorBotoes.on("checkedButtonChange", on_editorCheckBoxChange); + YAHOO.example.container.panelEditor = new YAHOO.widget.Panel("janela_editor", { fixedcenter:true,close:false,width:"400px", height:"400px",overflow:"auto", visible:false,constraintoviewport:true } ); + YAHOO.example.container.panelEditor.render(); + } + YAHOO.example.container.panelEditor.show(); + //carrega os dados na janela + $i("editor_bd").innerHTML = montaDiv(dados[0]) + core_carregando("desativa"); +} +function montaDiv(i) +{ + var param = { + "linhas":[ + {titulo:"Nome:",id:"Enome_ws",size:"50",value:i.nome_ws,tipo:"text",div:""}, + {titulo:"Descrição:",id:"Edesc_ws",size:"50",value:i.desc_ws,tipo:"text",div:""}, + {titulo:"Autor:",id:"Eautor_ws",size:"50",value:i.autor_ws,tipo:"text",div:""}, + {titulo:"Endereço:",id:"Elink_ws",size:"50",value:i.link_ws,tipo:"text",div:""} + ] + } + var ins = "" + ins += core_geraLinhas(param) + + ins += "

Tipo:
" + ins += "