From cc24d4e8015d3d3529d0c45a345681bb25b67d47 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Mon, 3 Nov 2008 16:37:57 +0000 Subject: [PATCH] Integração do editor de temas com o editor de mapfiles --- admin/js/editormapfile.js | 1 + admin/js/listatemas.js | 144 ++++++++++++++++++++---------------------------------------------------------------------------------------------------------------------------- 2 files changed, 21 insertions(+), 124 deletions(-) diff --git a/admin/js/editormapfile.js b/admin/js/editormapfile.js index 5e3cffd..249d56b 100644 --- a/admin/js/editormapfile.js +++ b/admin/js/editormapfile.js @@ -178,6 +178,7 @@ function montaNosRaiz(redesenha) for (var i=0, j=$mapfiles.length; i" + conteudo += " " conteudo += "  "+$mapfiles[i]+"" var d = {html:conteudo,id:$mapfiles[i],codigoMap:$mapfiles[i]}; diff --git a/admin/js/listatemas.js b/admin/js/listatemas.js index 8781d7f..f1922c7 100644 --- a/admin/js/listatemas.js +++ b/admin/js/listatemas.js @@ -1,105 +1,15 @@ -YAHOO.namespace("example.container"); -function initMenu() +function editorTemaMapfile(mapfile) { - core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraTemas","adiciona") - core_carregando("ativa"); - core_ativaPainelAjuda("ajuda","botaoAjuda"); - core_pegaPerfis("pegaTemas()"); -} -function pegaTemas() -{ - core_pegaDados("buscando temas...","../php/menutemas.php?funcao=pegaTemas2","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_tema", formatter:formatTextoId}, - {label:"codigo (mapfile)",key:"codigo_tema", formatter:formatTextoId}, - {label:"nome",key:"nome_tema", formatter:formatTextoId}, - ]; - myDataSource = new YAHOO.util.DataSource(dados); - myDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY; - myDataSource.responseSchema = - { - fields: ["nome_tema","codigo_tema","id_tema"] - }; - 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_tema'),target); - } - if (column.key == 'mais') - { - var record = this.getRecord(target); - core_carregando("ativa"); - core_carregando("buscando dados..."); - $clicouId = record.getData('id_tema'); - $recordid = record.getId(); - var sUrl = "../php/menutemas.php?funcao=pegaTemas&id_tema="+record.getData('id_tema'); - var callback = - { - success:function(o) - { - try - { - montaEditorTema(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"); + core_pegaDados("buscando dados...","../php/menutemas.php?funcao=pegaTemaPorMapfile&codigo_tema="+mapfile,"montaEditorTema") } -function montaEditorTema(dados,id,recordid) +function montaEditorTema(dados) { function on_editorCheckBoxChange(p_oEvent) { var ins = ""; if(p_oEvent.newValue.get("value") == "OK") { - gravaDadosTema(id,recordid); + gravaDadosTema(dados.id_tema); } else { @@ -122,7 +32,7 @@ function montaEditorTema(dados,id,recordid) { label: "Cancela", value: "CANCEL", checked: false } ]); editorBotoes.on("checkedButtonChange", on_editorCheckBoxChange); - YAHOO.example.container.panelEditorTema = new YAHOO.widget.Panel("janela_editor", { fixedcenter:true,close:false,width:"400px", height:"400px",overflow:"auto", visible:false,constraintoviewport:true } ); + YAHOO.example.container.panelEditorTema = new YAHOO.widget.Panel("janela_editor", { fixedcenter:true,close:true,width:"400px", height:"400px",overflow:"auto", visible:false,constraintoviewport:true } ); YAHOO.example.container.panelEditorTema.render(); } YAHOO.example.container.panelEditorTema.show(); @@ -132,15 +42,11 @@ function montaEditorTema(dados,id,recordid) // //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); + core_comboTags("comboTags","tags_tema","registraTagTema"); } -function registraTag(valor) +function registraTagTema(valor) { - var inp = $i("Etags_tema") + var inp = $i("tags_tema") var tags = inp.value if(tags == "") inp.value = valor @@ -151,27 +57,24 @@ function montaDivTemas(i) { var param = { "linhas":[ - {titulo:"Nome do tema:",id:"Enome_tema",size:"50",value:i.nome_tema,tipo:"text",div:""} + {titulo:"Nome do tema que será mostrado na árvore de menus:",id:"nome_tema",size:"50",value:i.nome_tema,tipo:"text",div:""} ] } var ins = "" ins += core_geraLinhas(param) - - ins += "

Mapfile (código do mapfile que será utilizado para criar a camada no i3geo):" - ins += "

Buscando...
"; ins += "

Descrição:
"; - ins += "

" + ins += "

" ins += "

Link para a fonte:
"; - ins += "

" + ins += "

" ins += "

Tags (separe com espaço). Você pode digitar novos tags ou pegar da lista abaixo:" - ins += "
" + ins += "
" ins += "

Buscando...
"; - ins += "

Tipo:
" - ins += "" ins += "