From d54e872ddc7c3bdd03e31b4b1b0332d1bbf94b6b Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 13 Dec 2010 12:54:56 +0000 Subject: [PATCH] Incluidas opções para abrir os editores do sistema de administração nas ferramentas de identificação e lista de WMS --- admin/admin.db | Bin 70656 -> 0 bytes admin/js/core.js | 7 ++++++- admin/js/identifica.js | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------- admin/js/webservices.js | 19 +++++++++++++------ admin/php/admin.php | 31 ------------------------------- admin/php/identifica.php | 5 ++++- admin/php/webservices.php | 6 +++++- admin/php/xml.php | 28 +++++++++++++--------------- classesjs/classe_arvoredecamadas.js | 8 +++----- classesjs/classe_i3geo.js | 2 ++ classesjs/classe_janela.js | 2 +- classesphp/classe_menutemas.php | 1 + classesphp/funcoes_gerais.php | 32 ++++++++++++++++++++++++++++++++ classesphp/mapa_controle.php | 4 ++++ classesphp/mapa_inicia.php | 6 ++++-- classesphp/wscliente.php | 8 ++++---- ferramentas/conectarwms/index.htm | 30 ++++++++++++++++++------------ ferramentas/conectarwms/index.js | 20 +++++++++++++++++++- ferramentas/identifica/index.js.php | 44 ++++++++++++++++++++++++++++++++++++++------ 19 files changed, 304 insertions(+), 99 deletions(-) diff --git a/admin/admin.db b/admin/admin.db index 40c41a8..5a062af 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/admin/js/core.js b/admin/js/core.js index 3014116..0bc59b1 100644 --- a/admin/js/core.js +++ b/admin/js/core.js @@ -1026,7 +1026,12 @@ function core_gravaLinha(mensagem,row,sUrl,nomeFuncao) var rec = myDataTable.getRecordSet().getRecord(row); var linha = myDataTable.getTrEl(rec); if(nomeFuncao != "") - {eval(nomeFuncao+"()")} + { + eval(nomeFuncao+"()") + try + {myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])} + catch(e){} + } else { myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0]) diff --git a/admin/js/identifica.js b/admin/js/identifica.js index ec75986..869bff8 100644 --- a/admin/js/identifica.js +++ b/admin/js/identifica.js @@ -47,6 +47,10 @@ function montaTabela(dados) YAHOO.example.InlineCellEditing = new function() { // Custom formatter for "address" column to preserve line breaks + var formatMais = function(elCell, oRecord, oColumn) + { + elCell.innerHTML = "
"; + }; var formatTexto = function(elCell, oRecord, oColumn, oData) { elCell.innerHTML = "

" + oData + "

"; @@ -61,7 +65,7 @@ function montaTabela(dados) }; var myColumnDefs = [ {key:"excluir",label:"excluir",formatter:formatExclui}, - {label:"salvar",formatter:formatSalva}, + {key:"mais",label:"editar",formatter:formatMais}, {label:"id",key:"id_i", formatter:formatTexto}, {label:"nome",resizeable:true,key:"nome_i", formatter:formatTexto, editor:"textbox"}, {label:"publicado?",key:"publicado_i",editor:"radio" ,editorOptions:{radioOptions:["SIM","NAO"],disableBtns:false}}, @@ -76,6 +80,7 @@ function montaTabela(dados) }; myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource); // Set up editing flow + /* myDataTable.highlightEditableCell = function(oArgs) { var elCell = oArgs.target; @@ -96,6 +101,7 @@ function montaTabela(dados) }; myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell); myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell); + */ myDataTable.subscribe('cellClickEvent',function(ev) { var target = YAHOO.util.Event.getTarget(ev); @@ -110,9 +116,28 @@ function montaTabela(dados) var record = this.getRecord(target); excluiLinha(record.getData('id_i'),target); } - else + if (column.key == 'mais') { - this.onEventShowCellEditor(ev); + var record = this.getRecord(target); + core_carregando("ativa"); + core_carregando("buscando dados..."); + $clicouId = record.getData('id_i'); + $recordid = record.getId(); + var sUrl = "../php/identifica.php?funcao=pegafuncoes&id_i="+record.getData('id_i'); + 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 @@ -128,6 +153,7 @@ function montaTabela(dados) { this.cancelCellEditor(); }); + /* myDataTable.subscribe("editorSaveEvent", function(oArgs) { if(oArgs.newData != oArgs.oldData) @@ -135,21 +161,119 @@ function montaTabela(dados) linha.style.color = "blue"; linha.style.textDecoration = "blink"; }); + */ }; core_carregando("desativa"); } -function gravaLinha(row) +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_i",size:"50",value:i.nome_i,tipo:"text",div:""}, + {titulo:"Programa:",id:"Eabrir_i",size:"50",value:i.abrir_i,tipo:"text",div:""}, + {titulo:"Abrir como:",id:"Etarget_i",size:"50",value:i.target_i,tipo:"text",div:""} + ] + } + var ins = "" + ins += core_geraLinhas(param) + + ins += "

Publicado?
" + ins += "