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 += "
Tipo (preencha apenas se for do tipo WMS): "
+ ins += ""
ins += ""
@@ -180,33 +83,27 @@ function montaDivTemas(i)
ins += " >WMS
"
ins += "
Permite acesso via WMS/WFS? "
- ins += "
"
ins += "
Permite o download na aplicação datadownload.htm? "
- ins += ""
+ ins += ""
ins += core_combosimnao(i.download_tema)
ins += "
"
ins += "
Permite acesso via kml? "
- ins += ""
+ ins += ""
ins += core_combosimnao(i.kml_tema)
ins += "
"
return(ins)
}
-function excluiLinha(id,row)
-{
- var mensagem = " excluindo o registro do id= "+id;
- var sUrl = "../php/menutemas.php?funcao=excluirRegistro&id="+id+"&tabela=temas";
- core_excluiLinha(sUrl,row,mensagem)
-}
-function gravaDadosTema(id,recordid)
+function gravaDadosTema(id)
{
var campos = new Array("nome","codigo","desc","link","tags","tipo","ogc","download","kml")
var par = ""
for (i=0;i