Commit bfb6a03d8affba49e62cd4bbad06db71671e52c3

Authored by Edmar Moretti
1 parent 06b8a201

Inclusão de ícone de edição da árvore de temas diretamente na interface do mapa.…

… Adaptação dos menus de administração para poderem funcionar dentro da interface do mapa.
admin/admin.db
No preview for this file type
admin/html/arvore.html
... ... @@ -24,7 +24,6 @@
24 24 <div style="margin:20px">
25 25 <div style=width:80%;text-align:center;>
26 26 <h1>Administração do i3geo - Árvore de temas <img src="../imagens/04.png" style="cursor:pointer" id=botaoAjuda /></h1>
27   -
28 27 </div>
29 28 <div id="ajuda" style=display:none >
30 29 <div class="hd">Ajuda</div>
... ...
admin/html/identifica.html
... ... @@ -39,7 +39,7 @@
39 39 </div>
40 40 <input onclick="adicionaLinha()" type=button id=adiciona value="Adicionar um novo sistema" />
41 41 <br>
42   -<p>Sistemas existentes: (clique na célula para editar e salve a linha editada)</p>
  42 +<p></p>
43 43 <div id="tabela" style="left:-5px;"></div>
44 44 </div>
45 45 <div id=logajax style="display:block" ></div>
... ...
admin/html/menus.html 0 → 100644
... ... @@ -0,0 +1,100 @@
  1 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2 +<html>
  3 +<head>
  4 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  5 + <title>Lista de menus</title>
  6 + <style type="text/css">
  7 + /*margin and padding on body element
  8 + can introduce errors in determining
  9 + element position and are not recommended;
  10 + we turn them off as a foundation for YUI
  11 + CSS treatments. */
  12 + body {
  13 + margin:0;
  14 + padding:0;
  15 + }
  16 + </style>
  17 + <script type="text/javascript" src="../js/core.js"></script>
  18 + <script type="text/javascript" src="../js/menu.js"></script>
  19 +</head>
  20 +<body class=" yui-skin-sam">
  21 +<div style="margin:20px">
  22 +<div style=width:80%;text-align:center;>
  23 +<h1>Administração do i3geo - Menus <img src="../imagens/04.png" style="cursor:pointer" id=botaoAjuda /></h1>
  24 +
  25 +</div>
  26 +<div id="ajuda" style=display:none >
  27 + <div class="hd">Ajuda</div>
  28 + <div class="bd" style="height:144px;overflow:auto">
  29 + <p>Este formulário permite editar a lista de menus que será utilizada pelo i3Geo.
  30 + <p>A árvore é composta de menus, grupos, sub-grupos e temas. Vc deve criar os menus,
  31 + a lista de grupos e a lista de sub-grupos. Ao criar um menu, esse é mostrado imediatamente na árvore.
  32 + <p>Menus ou nós da árvore marcados como não publicados são mostrados em vermelho e aparecem apenas para os administradores.
  33 + <p>Em cada nó da árvore podem ser associados os temas, mesmo na raiz de um dos níveis.
  34 + Os temas são arquivos mapfiles armazenados em i3geo/temas e registrados no sistema de administração.
  35 + <p>A criação de mapfiles e a vinculação tema-mapfile é feita por meio do editor de mapfiles, e consiste
  36 + na determinação de um nome para cada mapfile. Esse nome é listado ao ser adicionado um tema na árvore.
  37 + </div>
  38 + <div class="ft"></div>
  39 +</div>
  40 +<br>
  41 +<p class=paragrafo >
  42 + Idioma:
  43 + <select id="idioma" onchange="initMenu()">
  44 + <option value="pt" selected >Português</option>
  45 + <option value="en" >Inglês</option>
  46 + <option value="es" >Espanhol</option>
  47 + <option value="it" >Italiano</option>
  48 + </select>
  49 +</p>
  50 +<input type=button id=adicionaNovoMenu value="Adicionar um novo menu" style="left:-5px;" /><p><br>
  51 +<div id="tabela" style="left:-5px;"> </div>
  52 +</div>
  53 +<div id=logajax style="display:block" ></div>
  54 +<script>
  55 +/*
  56 +Title: Editor da lista de menus
  57 +
  58 +HTML da interface de administração da lista de menus
  59 +
  60 +Veja também:
  61 +
  62 +<core.js>
  63 +
  64 +<arvore.js>
  65 +
  66 +<menu.js>
  67 +
  68 +<grupos.js>
  69 +
  70 +<subgrupos.js>
  71 +
  72 +Licenca:
  73 +
  74 +GPL2
  75 +
  76 +i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet
  77 +
  78 +Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil
  79 +Desenvolvedor: Edmar Moretti edmar.moretti@mma.gov.br
  80 +
  81 +Este programa é software livre; você pode redistribuí-lo
  82 +e/ou modificá-lo sob os termos da Licença Pública Geral
  83 +GNU conforme publicada pela Free Software Foundation;
  84 +
  85 +Este programa é distribuído na expectativa de que seja útil,
  86 +porém, SEM NENHUMA GARANTIA; nem mesmo a garantia implícita
  87 +de COMERCIABILIDADE OU ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA.
  88 +Consulte a Licença Pública Geral do GNU para mais detalhes.
  89 +Você deve ter recebido uma cópia da Licença Pública Geral do
  90 +GNU junto com este programa; se não, escreva para a
  91 +Free Software Foundation, Inc., no endereço
  92 +59 Temple Street, Suite 330, Boston, MA 02111-1307 USA.
  93 +
  94 +Arquivo:
  95 +
  96 +i3geo/admin/html/menus.html
  97 +*/
  98 +initEditorMenu()
  99 +</script>
  100 +</body>
... ...
admin/index.html
... ... @@ -79,7 +79,8 @@ essa cria&amp;ccedil;&amp;atilde;o podem ser obtidos no item &quot;Outras op&amp;ccedil;ões&quot;.&lt;/p&gt;
79 79 </div>
80 80 <table class=lista1 >
81 81 <tr onclick="ajuda('a2',this)"><td><div class=ajuda ></div></td><td>Ajuda</td></tr>
82   -<tr onclick="abre('html/arvore.html')"><td><div class=aplicar ></div></td><td>Editar a &aacute;rvore dos menus</td></tr>
  82 +<tr onclick="abre('html/arvore.html')"><td><div class=aplicar ></div></td><td>Editar a &aacute;rvore completa dos menus</td></tr>
  83 +<tr onclick="abre('html/menus.html')"><td><div class=aplicar ></div></td><td>Editar a lista de menus</td></tr>
83 84 </table>
84 85 </div>
85 86 </fieldset>
... ...
admin/js/arvore.js
... ... @@ -5,6 +5,12 @@ Funções que controlam a interface do editor da árvore de temas
5 5  
6 6 Atuam no controle dos nós da árvore
7 7  
  8 +Pode-se enviar parâmetros pela URL utilizada na inclusão desse script
  9 +
  10 +Exemplo:
  11 +
  12 +http://localhost/i3geo/admin/html/arvore.html?id_menu=1&id_grupo=10&id_subgrupo=3
  13 +
8 14 Licenca:
9 15  
10 16 GPL2
... ... @@ -32,6 +38,21 @@ Arquivo:
32 38 i3geo/admin/js/arvore.js
33 39 */
34 40 YAHOO.namespace("example.container");
  41 +//
  42 +//obtem os parametros da url
  43 +//
  44 +$id_menu = "";
  45 +$id_grupo = "";
  46 +$id_subgrupo = "";
  47 +try{
  48 + var u = window.location.href.split("?")[1];
  49 + u = u.split("&");
  50 + for(i=0;i<u.length;i++){
  51 + var p = u[i].split("=");
  52 + eval("$"+p[0]+"='"+p[1]+"';");
  53 + }
  54 +}
  55 +catch(e){}
35 56 /*
36 57 Function: initMenu
37 58  
... ... @@ -43,14 +64,14 @@ function initMenu()
43 64 {
44 65 if($i("editor_bd")){return;}
45 66 core_montaEditor("","600px","500px","pegaMenus")
46   - $i("editor_bd").innerHTML = '<input type=button id=adicionaNovoMenu value="Adicionar um novo menu" style="left:-5px;" /><p>Antes de fechar o formulário, salve as alterações feitas. Clique na célula para editar.<br><div id="tabela" style="left:-5px;"> </div>'
  67 + $i("editor_bd").innerHTML = '<input type=button id=adicionaNovoMenu value="Adicionar um novo menu" style="left:-5px;" /><br><br><div id="tabela" style="left:-5px;"> </div>'
47 68 initEditorMenu()
48 69 };
49 70 var editorDeGrupos = function()
50 71 {
51 72 if($i("editor_bd")){return;}
52 73 core_montaEditor("","600px","500px")
53   - $i("editor_bd").innerHTML = '<input type=button id=adicionaNovoGrupo value="Adicionar um novo grupo" style="left:-5px;" /><p>Antes de fechar o formulário, salve as alterações feitas. Clique na célula para editar.<br><div id="tabela" style="left:-5px;"> </div>'
  74 + $i("editor_bd").innerHTML = '<input type=button id=adicionaNovoGrupo value="Adicionar um novo grupo" style="left:-5px;" /><p><br><div id="tabela" style="left:-5px;"> </div>'
54 75 initEditorGrupos()
55 76 };
56 77 var editorDeSubGrupos = function()
... ... @@ -144,7 +165,7 @@ function montaArvore(dados)
144 165 buildTree();
145 166 }();
146 167 montaNosMenus(dados)
147   - tree.draw();
  168 + tree.draw();
148 169 }
149 170 function temaIconMode()
150 171 {
... ... @@ -157,17 +178,22 @@ function temaIconMode()
157 178 //
158 179 function montaNosMenus(dados,redesenha)
159 180 {
  181 + //verifica se foi passado um id pela url
160 182 var root = tree.getRoot();
161 183 for (var i=0, j=dados.length; i<j; i++)
162 184 {
163   - var cor = "";
164   - if(dados[i].publicado_menu == "NAO")
165   - var cor = "style='color:red'";
166   - var conteudo = "<b>&nbsp;<span "+cor+" >"+dados[i].nome_menu+"</span>"
167   - var d = {html:conteudo,id_menu:dados[i].id_menu,tipo:"menu"};
168   - var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true);
  185 + if($id_menu == "" || $id_menu == dados[i].id_menu){
  186 + var cor = "";
  187 + if(dados[i].publicado_menu == "NAO")
  188 + var cor = "style='color:red'";
  189 + var conteudo = "<b>&nbsp;<span "+cor+" >"+dados[i].nome_menu+"</span>"
  190 + var d = {html:conteudo,id_menu:dados[i].id_menu,tipo:"menu"};
  191 + var tempNode = new YAHOO.widget.HTMLNode(d, root, false,true);
  192 + }
169 193 }
170 194 if(redesenha){tree.draw();}
  195 + if($id_menu !== "")
  196 + {tempNode.expand();}
171 197 }
172 198 //
173 199 //adiciona os grupos em um menu
... ... @@ -190,21 +216,28 @@ function montaNosGrupos(idmenu,no,dados,redesenha)
190 216 if(!tree.getNodeByProperty("etiquetaGrupo","menu_"+idmenu))
191 217 {
192 218 var temp = "menu_"+idmenu
193   - var d = {tipo:"etiqueta","etiquetaGrupo":temp,html:"<i>Grupos</i>"}
  219 + var d = {tipo:"etiqueta","etiquetaGrupo":temp,html:"<i style=color:gray >Grupos</i>"}
194 220 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
195 221 tempNodeR.isLeaf = false;
196   -
197   - var conteudo = "<span onclick=\"novoGrupo('"+idmenu+"')\" style=\"cursor:pointer;\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /> Adicionar um novo</span>"
  222 + if($id_grupo !== "" || $id_menu !== "")
  223 + {tempNodeR.expand();}
  224 + var conteudo = "<span onclick=\"novoGrupo('"+idmenu+"')\" style=\"cursor:pointer;\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray > Adicionar um novo</i></span>"
198 225 var d = {html:conteudo};
199 226 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
200   - tempNode.isLeaf = true;
  227 + tempNode.isLeaf = true;
  228 + if($id_grupo !== "")
  229 + {tempNode.expand();}
201 230 }
202 231 for (var i=0, j=dados.grupos.length; i<j; i++)
203 232 {
204   - var conteudo = montaConteudoNo(dados.grupos[i].id_n1,dados.grupos[i].publicado,dados.grupos[i].nome_grupo,"grupo")
205   - var d = {idmenu:idmenu,html:conteudo,id_n1:dados.grupos[i].id_n1,tipo:"grupo"}
206   - var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
207   - tempNode.setDynamicLoad(loadSubgruposData, temaIconMode, idmenu);
  233 + if($id_grupo == "" || $id_grupo == dados.grupos[i].id_n1){
  234 + var conteudo = montaConteudoNo(dados.grupos[i].id_n1,dados.grupos[i].publicado,dados.grupos[i].nome_grupo,"grupo")
  235 + var d = {idmenu:idmenu,html:conteudo,id_n1:dados.grupos[i].id_n1,tipo:"grupo"}
  236 + var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
  237 + tempNode.setDynamicLoad(loadSubgruposData, temaIconMode, idmenu);
  238 + if($id_grupo !== "")
  239 + {tempNode.expand();}
  240 + }
208 241 }
209 242 if(redesenha){tree.draw();}
210 243 }
... ... @@ -274,21 +307,29 @@ function montaNosSubgrupos(idmenu,no,dados,redesenha)
274 307 {return;}
275 308 if(!tree.getNodeByProperty("etiquetaTemasSubGrupo",no.data.id_n1))
276 309 {
277   - var d = {tipo:"etiqueta",etiquetaTemasSubGrupo:no.data.id_n1,html:"<i>Sub-grupos</i>"}
  310 + var d = {tipo:"etiqueta",etiquetaTemasSubGrupo:no.data.id_n1,html:"<i style=color:gray >Sub-grupos</i>"}
278 311 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
279 312 tempNodeR.isLeaf = false;
  313 + if($id_subgrupo !== "" || $id_grupo !== "")
  314 + {tempNodeR.expand();}
280 315  
281   - var conteudo = "<span style=\"cursor:pointer;\" onclick=\"novoSubGrupo('"+idmenu+"','"+no.data.id_n1+"')\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i> Adicionar um novo</i></span>"
  316 + var conteudo = "<span style=\"cursor:pointer;\" onclick=\"novoSubGrupo('"+idmenu+"','"+no.data.id_n1+"')\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray > Adicionar um novo</i></span>"
282 317 var d = {html:conteudo}
283 318 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
284   - tempNode.isLeaf = true;
  319 + tempNode.isLeaf = true;
  320 + if($id_subgrupo !== "")
  321 + {tempNode.expand();}
285 322 }
286 323 for (var i=0, j=dados.subgrupos.length; i<j; i++)
287 324 {
288   - var conteudo = montaConteudoNo(dados.subgrupos[i].id_n2,dados.subgrupos[i].publicado,dados.subgrupos[i].nome_subgrupo,"subgrupo")
289   - var d = {idmenu:idmenu,html:conteudo,id_n2:dados.subgrupos[i].id_n2,tipo:"subgrupo"}
290   - var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
291   - tempNode.setDynamicLoad(loadTemasData, temaIconMode);
  325 + if($id_subgrupo == "" || $id_subgrupo == dados.subgrupos[i].id_n2){
  326 + var conteudo = montaConteudoNo(dados.subgrupos[i].id_n2,dados.subgrupos[i].publicado,dados.subgrupos[i].nome_subgrupo,"subgrupo")
  327 + var d = {idmenu:idmenu,html:conteudo,id_n2:dados.subgrupos[i].id_n2,tipo:"subgrupo"}
  328 + var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
  329 + tempNode.setDynamicLoad(loadTemasData, temaIconMode);
  330 + if($id_subgrupo !== "")
  331 + {tempNode.expand();}
  332 + }
292 333 }
293 334 if(redesenha){tree.draw();}
294 335 }
... ... @@ -296,11 +337,11 @@ function montaTemas(idmenu,no,dados,redesenha)
296 337 {
297 338 if(!tree.getNodeByProperty("etiquetaTemas",no.data.id_n2))
298 339 {
299   - var d = {tipo:"etiqueta",etiquetaTemas:no.data.id_n2,html:"<i>Temas</i>"}
  340 + var d = {tipo:"etiqueta",etiquetaTemas:no.data.id_n2,html:"<i style=color:gray >Temas</i>"}
300 341 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
301 342 tempNodeR.isLeaf = false;
302 343  
303   - var conteudo = "<span onclick=\"novoTema('"+idmenu+"','"+no.data.id_n2+"')\" style=\"cursor:pointer;\"><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i> Adicionar um novo</i></span>"
  344 + var conteudo = "<span onclick=\"novoTema('"+idmenu+"','"+no.data.id_n2+"')\" style=\"cursor:pointer;\"><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray > Adicionar um novo</i></span>"
304 345 var d = {html:conteudo}
305 346 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
306 347 tempNode.isLeaf = true;
... ... @@ -336,10 +377,10 @@ function montaTemasRaiz(no,dados,redesenha)
336 377 if(!tree.getNodeByProperty("etiquetaTemasRaiz","menu_"+no.data.id_menu))
337 378 {
338 379 var temp = "menu_"+no.data.id_menu;
339   - var d = {id_menu:no.data.id_menu,tipo:"etiqueta",etiquetaTemasRaiz:temp,html:"<i>Temas na raiz do menu</i>"}
  380 + var d = {id_menu:no.data.id_menu,tipo:"etiqueta",etiquetaTemasRaiz:temp,html:"<i style=color:gray >Temas na raiz do menu</i>"}
340 381 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
341 382 tempNodeR.isLeaf = false;
342   - var d = {tipo:"etiqueta",html:"<span style=\"cursor:pointer;\" onclick=\"novoTemaRaiz('"+no.data.id_menu+"')\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i>Adicionar um novo</i></span>"}
  383 + var d = {tipo:"etiqueta",html:"<span style=\"cursor:pointer;\" onclick=\"novoTemaRaiz('"+no.data.id_menu+"')\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray >Adicionar um novo</i></span>"}
343 384 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
344 385 tempNode.isLeaf = true;
345 386 }
... ... @@ -364,10 +405,10 @@ function montaTemasRaizGrupo(idmenu,no,dados,redesenha)
364 405 if(!tree.getNodeByProperty("etiquetaTemasGrupo","grupo_"+no.data.id_n1))
365 406 {
366 407 var temp = "grupo_"+no.data.id_n1;
367   - var d = {etiquetaTemasGrupo:temp,tipo:"etiqueta",html:"<i>Temas na raiz do grupo:</i>"};
  408 + var d = {etiquetaTemasGrupo:temp,tipo:"etiqueta",html:"<i style=color:gray >Temas na raiz do grupo:</i>"};
368 409 var tempNodeR = new YAHOO.widget.HTMLNode(d, no, false,true);
369 410 tempNodeR.isLeaf = false;
370   - var d = {tipo:"etiqueta",html:"<span onclick=\"novoTemaRaizGrupo('"+idmenu+"','"+no.data.id_n1+"')\" style=\"cursor:pointer;\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i>Adicionar um novo</i></span>"};
  411 + var d = {tipo:"etiqueta",html:"<span onclick=\"novoTemaRaizGrupo('"+idmenu+"','"+no.data.id_n1+"')\" style=\"cursor:pointer;\" ><img style=\"position:relative;top:2px\" src=\"../imagens/05.png\" /><i style=color:gray >Adicionar um novo</i></span>"};
371 412 var tempNode = new YAHOO.widget.HTMLNode(d, tempNodeR, false,true);
372 413 tempNode.isLeaf = true;
373 414 }
... ... @@ -630,7 +671,7 @@ function editar(tipo,id)
630 671 }
631 672 function montaDivGrupo(i)
632 673 {
633   - var ins = "<br>Grupo:<br><br>"
  674 + var ins = "<br>Escolha o grupo para esse nó:<br><br>"
634 675 ins += "<div id=comboGrupo >Buscando...</div>"
635 676 ins += "<p>Perfis que podem ver: </p>"
636 677 ins += "<input size=50 type=text id='En1_perfil' value='"+i.n1_perfil+"' /></p>"
... ... @@ -645,7 +686,7 @@ function montaDivGrupo(i)
645 686 }
646 687 function montaDivSubGrupo(i)
647 688 {
648   - var ins = "<br>Sub-Grupo:<br><br>"
  689 + var ins = "<br>Escolha o sub-grupo para esse nó:<br><br>"
649 690 ins += "<div id=comboSubGrupo >Buscando...</div>"
650 691 ins += "<p>Perfis que podem ver: </p>"
651 692 ins += "<input size=50 type=text id='En2_perfil' value='"+i.n2_perfil+"' /></p>"
... ... @@ -660,7 +701,7 @@ function montaDivSubGrupo(i)
660 701 }
661 702 function montaDivTema(i)
662 703 {
663   - var ins = "<br>Tema:<br><br>"
  704 + var ins = "<br>Escolha o tema para esse nó:<br><br>"
664 705 ins += "<div id=comboTema >Buscando...</div>"
665 706 ins += "<p>Perfis que podem ver: </p>"
666 707 ins += "<input type=text id='En3_perfil' value='"+i.n3_perfil+"' /></p>"
... ...
admin/js/identifica.js
... ... @@ -79,29 +79,6 @@ function montaTabela(dados)
79 79 fields: ["publicado_i","abrir_i","id_i","nome_i","target_i"]
80 80 };
81 81 myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
82   - // Set up editing flow
83   - /*
84   - myDataTable.highlightEditableCell = function(oArgs)
85   - {
86   - var elCell = oArgs.target;
87   - var column = myDataTable.getColumn(oArgs.target);
88   - //if(column.editor != "null")
89   - if(!YAHOO.lang.isNull(column.editor))
90   - {
91   - YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted');
92   - }
93   - };
94   - myDataTable.unhighlightEditableCell = function(oArgs)
95   - {
96   - var elCell = oArgs.target;
97   - if(elCell.style.cursor="pointer")
98   - {
99   - YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted');
100   - }
101   - };
102   - myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell);
103   - myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell);
104   - */
105 82 myDataTable.subscribe('cellClickEvent',function(ev)
106 83 {
107 84 var target = YAHOO.util.Event.getTarget(ev);
... ... @@ -140,28 +117,7 @@ function montaTabela(dados)
140 117 core_makeRequest(sUrl,callback)
141 118 }
142 119 });
143   - // Hook into custom event to customize save-flow of "radio" editor
144   - myDataTable.subscribe("editorUpdateEvent", function(oArgs)
145   - {
146   - if(oArgs.editor.column.key === "active")
147   - {
148   - this.saveCellEditor();
149   -
150   - }
151   - });
152   - myDataTable.subscribe("editorBlurEvent", function(oArgs)
153   - {
154   - this.cancelCellEditor();
155   - });
156   - /*
157   - myDataTable.subscribe("editorSaveEvent", function(oArgs)
158   - {
159   - if(oArgs.newData != oArgs.oldData)
160   - var linha = myDataTable.getTrEl(oArgs.editor.getRecord())
161   - linha.style.color = "blue";
162   - linha.style.textDecoration = "blink";
163   - });
164   - */
  120 +
165 121 };
166 122 core_carregando("desativa");
167 123 }
... ... @@ -232,9 +188,9 @@ function montaDiv(i)
232 188 /*
233 189 Function: gravaDados
234 190  
235   -Aplica as alterações feitas em um WS
  191 +Salva as alterações feitas
236 192  
237   -<ALTERARWS>
  193 +<ALTERARFUNCOES>
238 194 */
239 195 function gravaDados(id,recordid)
240 196 {
... ...
admin/js/menu.js
... ... @@ -38,6 +38,7 @@ Inicializa o editor
38 38 */
39 39 function initEditorMenu()
40 40 {
  41 + YAHOO.namespace("example.container");
41 42 core_ativaBotaoAdicionaLinha("../php/menutemas.php?funcao=alteraMenus&publicado_menu=&perfil=&nome=&desc=&id=&aberto=","adicionaNovoMenu","pegaMenus_M")
42 43 pegaMenus_M()
43 44 }
... ... @@ -70,9 +71,13 @@ function montaTabela_M(dados)
70 71 {
71 72 elCell.innerHTML = "<div class=excluir title='exclui' style='text-align:center' ></div>";//onclick='excluiLinha_M(\""+oRecord.getData("id_menu")+"\",\""+oRecord.getId()+"\")'></div>";
72 73 };
  74 + var formatMais = function(elCell, oRecord, oColumn)
  75 + {
  76 + elCell.innerHTML = "<div class=editar style='text-align:center' ></div>";
  77 + };
73 78 var myColumnDefs = [
74 79 {key:"excluir",label:"excluir",formatter:formatExclui},
75   - {label:"salvar",formatter:formatSalva},
  80 + {key:"mais",label:"editar",formatter:formatMais},
76 81 {label:"id",key:"id_menu", formatter:formatTexto},
77 82 {label:"nome",resizeable:true,key:"nome_menu", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})},
78 83 {label:"en",resizeable:true,key:"en", formatter:formatTexto,editor:new YAHOO.widget.TextboxCellEditor({disableBtns:true})},
... ... @@ -91,25 +96,6 @@ function montaTabela_M(dados)
91 96 fields: ["it","es","en","publicado_menu","perfil_menu","aberto","desc_menu","id_menu","nome_menu"]
92 97 };
93 98 myDataTable = new YAHOO.widget.DataTable("tabela", myColumnDefs, myDataSource);
94   - // Set up editing flow
95   - myDataTable.highlightEditableCell = function(oArgs)
96   - {
97   - var elCell = oArgs.target;
98   - var column = myDataTable.getColumn(oArgs.target);
99   - //if(column.editor != "null")
100   - if(!YAHOO.lang.isNull(column.editor))
101   - {YAHOO.util.Dom.addClass(elCell,'yui-dt-highlighted');}
102   - };
103   - myDataTable.unhighlightEditableCell = function(oArgs)
104   - {
105   - var elCell = oArgs.target;
106   - if(elCell.style.cursor="pointer")
107   - {
108   - YAHOO.util.Dom.removeClass(elCell,'yui-dt-highlighted');
109   - }
110   - };
111   - myDataTable.subscribe("cellMouseoverEvent", myDataTable.highlightEditableCell);
112   - myDataTable.subscribe("cellMouseoutEvent", myDataTable.unhighlightEditableCell);
113 99 myDataTable.subscribe('cellClickEvent',function(ev)
114 100 {
115 101 var target = YAHOO.util.Event.getTarget(ev);
... ... @@ -124,63 +110,155 @@ function montaTabela_M(dados)
124 110 var record = this.getRecord(target);
125 111 excluiLinha_M(record.getData('id_menu'),target);
126 112 }
127   - else
  113 + if (column.key == 'mais')
128 114 {
129   - if (column.key == 'perfil_menu')
  115 + var record = this.getRecord(target);
  116 + core_carregando("ativa");
  117 + core_carregando("buscando dados...");
  118 + $clicouId = record.getData('id_menu');
  119 + $recordid = record.getId();
  120 + var sUrl = "../php/menutemas.php?funcao=pegamenus&id_menu="+record.getData('id_menu');
  121 + var callback =
130 122 {
131   - var record = this.getRecord(target);
132   - var selecionados = record.getData('perfil_menu');
133   - var selecionados = selecionados.split(",");
134   - core_menuCheckBox($perfisArray,$perfisArray,selecionados,target,record,"perfil_menu");
135   - }
136   - else
137   - {this.onEventShowCellEditor(ev);}
  123 + success:function(o)
  124 + {
  125 + try
  126 + {
  127 + montaEditor_M(YAHOO.lang.JSON.parse(o.responseText),$clicouId,$recordid);
  128 + }
  129 + catch(e){core_handleFailure(e,o.responseText);}
  130 + },
  131 + failure:core_handleFailure,
  132 + argument: { foo:"foo", bar:"bar" }
  133 + };
  134 + core_makeRequest(sUrl,callback)
138 135 }
139 136 });
140   - // Hook into custom event to customize save-flow of "radio" editor
141   - myDataTable.subscribe("editorUpdateEvent", function(oArgs)
142   - {
143   - if(oArgs.editor.column.key === "active")
144   - {this.saveCellEditor();}
145   - });
146   - myDataTable.subscribe("editorBlurEvent", function(oArgs)
147   - {
148   - this.cancelCellEditor();
149   - });
150   - myDataTable.subscribe("editorSaveEvent", function(oArgs)
151   - {
152   - if(oArgs.newData != oArgs.oldData)
153   - var linha = myDataTable.getTrEl(oArgs.editor.getRecord())
154   - linha.style.color = "blue";
155   - linha.style.textDecoration = "blink";
156   - });
157   - //destroy
158 137 };
159 138 core_carregando("desativa");
160 139 }
  140 +function montaEditor_M(dados,id,recordid)
  141 +{
  142 + function on_editorCheckBoxChange(p_oEvent)
  143 + {
  144 + var ins = "";
  145 + if(p_oEvent.newValue.get("value") == "OK")
  146 + {
  147 + gravaDados_M(id,recordid);
  148 + }
  149 + else
  150 + {
  151 + YAHOO.example.container.panelEditor.destroy();
  152 + YAHOO.example.container.panelEditor = null;
  153 + }
  154 + };
  155 + if(!$i("janela_editor2"))
  156 + {
  157 + var novoel = document.createElement("div");
  158 + novoel.id = "janela_editor2";
  159 + var ins = '<div class="hd">Editor</div>';
  160 + ins += "<div class='bd' style='height:354px;overflow:auto'>";
  161 + ins += "<div id='okcancel_checkbox2'></div><div id='editor_bd2'></div>";
  162 + novoel.innerHTML = ins;
  163 + document.body.appendChild(novoel);
  164 + var editorBotoes = new YAHOO.widget.ButtonGroup({id:"okcancel_checkbox_id2", name: "okcancel_checkbox_id2", container: "okcancel_checkbox2" });
  165 + editorBotoes.addButtons([
  166 + { label: "Salva", value: "OK", checked: false},
  167 + { label: "Cancela", value: "CANCEL", checked: false }
  168 + ]);
  169 + editorBotoes.on("checkedButtonChange", on_editorCheckBoxChange);
  170 + YAHOO.example.container.panelEditor = new YAHOO.widget.Panel("janela_editor2", { fixedcenter:true,close:false,width:"400px", height:"480px",overflow:"auto", visible:false,constraintoviewport:true } );
  171 + YAHOO.example.container.panelEditor.render();
  172 + }
  173 + YAHOO.example.container.panelEditor.show();
  174 + $i("editor_bd2").innerHTML = montaDiv_M(dados[0])
  175 + core_carregando("desativa");
  176 +}
  177 +function montaDiv_M(i)
  178 +{
  179 + var param = {
  180 + "linhas":[
  181 + {titulo:"Nome:",id:"Enome_menu",size:"50",value:i.nome_menu,tipo:"text",div:""},
  182 + {titulo:"Descricao:",id:"Edesc_menu",size:"50",value:i.desc_menu,tipo:"text",div:""},
  183 + {titulo:"Inglês:",id:"Een",size:"50",value:i.en,tipo:"text",div:""},
  184 + {titulo:"Espanhol:",id:"Ees",size:"50",value:i.es,tipo:"text",div:""},
  185 + {titulo:"Italiano:",id:"Eit",size:"50",value:i.it,tipo:"text",div:""},
  186 + {titulo:"Perfis:",id:"Eperfil_menu",size:"50",value:i.perfil_menu,tipo:"text",div:""}
  187 + ]
  188 + };
  189 + var ins = ""
  190 + ins += core_geraLinhas(param)
  191 + ins += "<p>Publicado?<br>"
  192 + ins += "<select id='Epublicado_menu' />"
  193 + ins += "<option value='' "
  194 + if (i.publicado_menu == ""){ins += "selected";}
  195 + ins += ">---</option>"
  196 + ins += "<option value='SIM' "
  197 + if (i.publicado_menu == "SIM"){ins += "selected";}
  198 + ins += " >sim</option>"
  199 + ins += "<option value='NAO' "
  200 + if (i.publicado_menu == "NAO"){ins += "selected";}
  201 + ins += " >não</option>"
  202 + ins += "</select></p>"
  203 + ins += "<p>Aberto?<br>"
  204 + ins += "<select id='Eaberto' />"
  205 + ins += "<option value='' "
  206 + if (i.aberto == ""){ins += "selected";}
  207 + ins += ">---</option>"
  208 + ins += "<option value='SIM' "
  209 + if (i.aberto == "SIM"){ins += "selected";}
  210 + ins += " >sim</option>"
  211 + ins += "<option value='NAO' "
  212 + if (i.aberto == "NAO"){ins += "selected";}
  213 + ins += " >não</option>"
  214 + ins += "</select></p>"
  215 + return(ins)
  216 +}
161 217 /*
162   -Function: gravaLinha_M
  218 +Function: gravaDados_M
163 219  
164   -Aplica as alterações em um menu
  220 +Salva as alterações feitas
165 221  
166 222 <ALTERAMENUS>
167 223 */
168   -function gravaLinha_M(row)
  224 +function gravaDados_M(id,recordid)
169 225 {
170   - var r = myDataTable.getRecordSet().getRecord(row);
171   - var publicado_menu = r.getData("publicado_menu");
172   - var perfil_menu = r.getData("perfil_menu");
173   - var aberto = r.getData("aberto")
174   - var desc_menu = r.getData("desc_menu")
175   - var id_menu = r.getData("id_menu")
176   - var nome_menu = r.getData("nome_menu")
177   - var en = r.getData("en");
178   - var es = r.getData("es");
179   - var it = r.getData("it");
  226 + var campos = new Array("publicado_menu","perfil_menu","nome_menu","desc_menu","aberto","en","es","it");
  227 + var par = ""
  228 + for (i=0;i<campos.length;i++)
  229 + {
  230 + par += "&"+campos[i]+"="+($i("E"+campos[i]).value)
  231 + }
  232 + par += "&id_menu="+id
180 233 core_carregando("ativa");
181   - var sUrl = "../php/menutemas.php?funcao=alteraMenus&publicado_menu="+publicado_menu+"&perfil="+perfil_menu+"&nome="+nome_menu+"&desc="+desc_menu+"&id="+id_menu+"&aberto="+aberto+"&en="+en+"&es="+es+"&it="+it+"";
182   - var mensagem = " gravando registro "+id_menu
183   - core_gravaLinha(mensagem,row,sUrl,"pegaMenus_M")
  234 + core_carregando(" gravando o registro do id= "+id);
  235 + var sUrl = "../php/menutemas.php?funcao=alteraMenus"+par;
  236 + var callback =
  237 + {
  238 + success:function(o)
  239 + {
  240 + try
  241 + {
  242 + if(YAHOO.lang.JSON.parse(o.responseText) == "erro")
  243 + {
  244 + core_carregando("<span style=color:red >Não foi possível excluir. Verifique se não existem registros vinculados</span>");
  245 + setTimeout("core_carregando('desativa')",3000)
  246 + }
  247 + else
  248 + {
  249 + var rec = myDataTable.getRecordSet().getRecord(recordid);
  250 + myDataTable.updateRow(rec,YAHOO.lang.JSON.parse(o.responseText)[0])
  251 + core_carregando("desativa");
  252 + }
  253 + YAHOO.example.container.panelEditor.destroy();
  254 + YAHOO.example.container.panelEditor = null;
  255 + }
  256 + catch(e){core_handleFailure(e,o.responseText);}
  257 + },
  258 + failure:core_handleFailure,
  259 + argument: { foo:"foo", bar:"bar" }
  260 + };
  261 + core_makeRequest(sUrl,callback)
184 262 }
185 263 function excluiLinha_M(id,row)
186 264 {
... ...
admin/php/menutemas.php
... ... @@ -70,11 +70,10 @@ switch (strtoupper($funcao))
70 70 {JSON}
71 71 */
72 72 case "PEGAMENUS":
73   - if($idioma == "pt")
74   - {$coluna = "nome_tema";}
  73 + if(isset($id_menu) && $id_menu != "")
  74 + {$dados = pegaDados("SELECT * from i3geoadmin_menus where id_menu = $id_menu order by nome_menu");}
75 75 else
76   - {$coluna = $idioma;}
77   - $dados = pegaDados('SELECT * from i3geoadmin_menus order by nome_menu');
  76 + {$dados = pegaDados('SELECT * from i3geoadmin_menus order by nome_menu');}
78 77 retornaJSON($dados);
79 78 exit;
80 79 break;
... ... @@ -92,7 +91,10 @@ switch (strtoupper($funcao))
92 91 {$coluna = "nome_menu";}
93 92 else
94 93 {$coluna = $idioma;}
95   - $dados = pegaDados("SELECT publicado_menu,perfil_menu,aberto,desc_menu,id_menu,$coluna as nome_menu from i3geoadmin_menus order by nome_menu");
  94 + if(isset($id_menu) && $id_menu != "")
  95 + {$dados = pegaDados("SELECT publicado_menu,perfil_menu,aberto,desc_menu,id_menu,$coluna as nome_menu from i3geoadmin_menus where id_menu = $id_menu order by nome_menu");}
  96 + else
  97 + {$dados = pegaDados("SELECT publicado_menu,perfil_menu,aberto,desc_menu,id_menu,$coluna as nome_menu from i3geoadmin_menus order by nome_menu");}
96 98 retornaJSON($dados);
97 99 exit;
98 100 break;
... ... @@ -172,23 +174,23 @@ switch (strtoupper($funcao))
172 174  
173 175 Parametros:
174 176  
175   - nome
  177 + nome_menu
176 178  
177   - desc
  179 + desc_menu
178 180  
179   - id
  181 + id_menu
180 182  
181 183 aberto
182 184  
183   - perfil
  185 + perfil_menu
184 186  
185 187 publicado_menu
186 188  
187   - en
  189 + en_menu
188 190  
189   - es
  191 + es_menu
190 192  
191   - it
  193 + it_menu
192 194  
193 195 Retorno:
194 196  
... ... @@ -197,7 +199,8 @@ switch (strtoupper($funcao))
197 199 case "ALTERAMENUS":
198 200 if(verificaEditores($editores) == "nao")
199 201 {echo "Vc nao e um editor cadastrado. Apenas os editores definidos em i3geo/ms_configura.php podem acessar o sistema de administracao.";exit;}
200   - retornaJSON(alteraMenus());
  202 + alteraMenus();
  203 + retornaJSON(pegaDados("SELECT * from i3geoadmin_menus where id_menu = $id_menu order by nome_menu"));
201 204 exit;
202 205 break;
203 206 /*
... ... @@ -739,7 +742,7 @@ Altera o registro de um menu. Se id for vazio acrescenta o registro
739 742 */
740 743 function alteraMenus()
741 744 {
742   - global $nome,$desc,$id,$aberto,$perfil,$publicado_menu,$en,$es,$it;
  745 + global $nome_menu,$desc_menu,$id_menu,$aberto,$perfil_menu,$publicado_menu,$en,$es,$it;
743 746 try
744 747 {
745 748 $retorna = "";
... ... @@ -749,9 +752,9 @@ function alteraMenus()
749 752 $nome = utf8_encode($nome);
750 753 $desc = utf8_encode($desc);
751 754 }
752   - if($id != "")
  755 + if($id_menu != "")
753 756 {
754   - $dbhw->query("UPDATE i3geoadmin_menus SET en = '$en', es = '$es', it = '$it', publicado_menu = '$publicado_menu',aberto = '$aberto', nome_menu = '$nome', desc_menu = '$desc', perfil_menu = '$perfil' WHERE id_menu = $id");
  757 + $dbhw->query("UPDATE i3geoadmin_menus SET en = '$en', es = '$es', it = '$it', publicado_menu = '$publicado_menu',aberto = '$aberto', nome_menu = '$nome_menu', desc_menu = '$desc_menu', perfil_menu = '$perfil_mennu' WHERE id_menu = $id_menu");
755 758 }
756 759 else
757 760 {
... ...
classesjs/classe_arvoredetemas.js
... ... @@ -675,8 +675,8 @@ i3GEO.arvoreDeTemas = {
675 675 */
676 676 atualiza: function(){
677 677 if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeTemas.atualiza()");}
678   - this.ARVORE = null;
679   - this.cria(i3GEO.arvoreDeTemas.SID,i3GEO.arvoreDeTemas.LOCAPLIC,i3GEO.arvoreDeTemas.IDHTML);
  678 + i3GEO.arvoreDeTemas.ARVORE = null;
  679 + i3GEO.arvoreDeTemas.cria(i3GEO.arvoreDeTemas.SID,i3GEO.arvoreDeTemas.LOCAPLIC,i3GEO.arvoreDeTemas.IDHTML);
680 680 },
681 681 /*
682 682 Function: montaArvore
... ... @@ -687,7 +687,7 @@ i3GEO.arvoreDeTemas = {
687 687 */
688 688 montaArvore: function() {
689 689 if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeTemas.montaArvore()");}
690   - var newVal,currentIconMode,d,tempNode,retorno,nomeSis,root,insp,outrasOpcoes,dados,c,i,j,conteudo;
  690 + var newVal,currentIconMode,d,tempNode,retorno,nomeSis,root,insp,outrasOpcoes,dados,c,i,j,conteudo,editor;
691 691 YAHOO.example.treeExample = function(){
692 692 function changeIconMode(){
693 693 newVal = parseInt(this.value,10);
... ... @@ -774,7 +774,7 @@ i3GEO.arvoreDeTemas = {
774 774 if(i3GEO.arvoreDeTemas.OPCOESADICIONAIS.navegacaoDir === true){
775 775 tempNode = new YAHOO.widget.HTMLNode(
776 776 {
777   - html:"<a href='../admin' target=blank >Sistema de administração</a>",
  777 + html:"<a style='color:red' title='opção visível apenas para editores' href='../admin' target=blank >Sistema de administração</a>",
778 778 idmenu:""
779 779 },
780 780 root,
... ... @@ -784,7 +784,17 @@ i3GEO.arvoreDeTemas = {
784 784 tempNode.enableHighlight = false;
785 785 tempNode = new YAHOO.widget.HTMLNode(
786 786 {
787   - html:"<a href='../admin/html/arvore.html' target=blank >Editor de menus</a>",
  787 + html:"<a style='color:red' title='opção visível apenas para editores' href='../admin/html/arvore.html' target=blank >Editar árvore</a>",
  788 + idmenu:""
  789 + },
  790 + root,
  791 + false,
  792 + true
  793 + );
  794 + tempNode.enableHighlight = false;
  795 + tempNode = new YAHOO.widget.HTMLNode(
  796 + {
  797 + html:"<span style='color:red;cursor:pointer' title='opção visível apenas para editores' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/menus.html\")' target=blank >Editar menus</span>",
788 798 idmenu:""
789 799 },
790 800 root,
... ... @@ -797,9 +807,13 @@ i3GEO.arvoreDeTemas = {
797 807 //wms
798 808 //
799 809 if(i3GEO.arvoreDeTemas.INCLUIWMS === true){
  810 + if(i3GEO.parametros.editor == "sim")
  811 + {editor = "<img title='Editar lista' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/webservices.html?tipo=WMS\")' style='width:11px;position:relative;left:3px' src='"+i3GEO.configura.locaplic+"/imagens/edit.gif' />";}
  812 + else
  813 + {editor = "";}
800 814 tempNode = new YAHOO.widget.HTMLNode(
801 815 {
802   - html:"<b>&nbsp;OGC-WMS</b>"+" <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=4&idajuda=33' >&nbsp;&nbsp;&nbsp;</a>",
  816 + html:"<b>&nbsp;OGC-WMS</b>"+" <a class=ajuda_usuario target=_blank href='"+i3GEO.configura.locaplic+"/ajuda_usuario.php?idcategoria=4&idajuda=33' >&nbsp;&nbsp;&nbsp;</a>"+editor,
803 817 idwms:"raiz"
804 818 },
805 819 root,
... ... @@ -818,11 +832,15 @@ i3GEO.arvoreDeTemas = {
818 832 {
819 833 if(!dados[i].nomemenu)
820 834 {dados[i].nomemenu = dados[i].idmenu;}
  835 + if(i3GEO.parametros.editor == "sim")
  836 + {editor = "<img title='Editar grupos' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/arvore.html?id_menu="+dados[i].idmenu+"\")' style='width:11px;position:relative;left:3px;top:2px;' src='"+i3GEO.configura.locaplic+"/imagens/edit.gif' />";}
  837 + else
  838 + {editor = "";}
821 839 if(!dados[i].publicado){dados[i].publicado = "sim";}
822 840 if(dados[i].publicado.toLowerCase() != "nao")
823   - {conteudo = "<b>&nbsp;<span title='"+(dados[i].desc)+"'>"+dados[i].nomemenu+"</span>";}
  841 + {conteudo = "<b>&nbsp;<span title='"+(dados[i].desc)+"'>"+dados[i].nomemenu+"</span>"+editor;}
824 842 else
825   - {conteudo = "<b>&nbsp;<span title='nao publicado' style=color:red; >"+dados[i].nomemenu+"</span>";}
  843 + {conteudo = "<b>&nbsp;<span title='nao publicado' ><s>"+dados[i].nomemenu+"</s></span>"+editor;}
826 844 tempNode = new YAHOO.widget.HTMLNode(
827 845 {html:conteudo,idmenu:dados[i].idmenu},
828 846 root,
... ... @@ -855,7 +873,7 @@ i3GEO.arvoreDeTemas = {
855 873 nomeSis = sis[ig].NOME;
856 874 if(sis[ig].PUBLICADO){
857 875 if(sis[ig].PUBLICADO == "NAO" || sis[ig].PUBLICADO == "nao")
858   - {nomeSis = "<span style='color:red' >"+sis[ig].NOME+"</span>";}
  876 + {nomeSis = "<s>"+sis[ig].NOME+"</s>";}
859 877 }
860 878 sisNode = new YAHOO.widget.HTMLNode(
861 879 {html:nomeSis},
... ... @@ -899,7 +917,7 @@ i3GEO.arvoreDeTemas = {
899 917 montaGrupos: function(node){
900 918 if(typeof(console) !== 'undefined'){console.info("i3GEO.arvoreDeTemas.montaGrupos()");}
901 919 var temp=function(){
902   - var grupos,c,raiz,nraiz,mostra,html,i,d;
  920 + var grupos,c,raiz,nraiz,mostra,html,i,d,editor;
903 921 grupos = i3GEO.arvoreDeTemas.GRUPOS.grupos;
904 922 c = grupos.length - 3;
905 923 raiz = grupos[c].temasraiz;
... ... @@ -927,6 +945,10 @@ i3GEO.arvoreDeTemas = {
927 945 {mostra = false;}
928 946 if(i3GEO.arvoreDeTemas.FILTRAOGC && grupos[i].ogc == "nao")
929 947 {mostra = false;}
  948 + if(i3GEO.parametros.editor == "sim")
  949 + {editor = "<img title='Editar subgrupos' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/arvore.html?id_menu="+node.data.idmenu+"&id_grupo="+grupos[i].id_n1+"\")' style='width:11px;position:relative;left:3px;top:2px;' src='"+i3GEO.configura.locaplic+"/imagens/edit.gif' />";}
  950 + else
  951 + {editor = "";}
930 952 if(mostra){
931 953 //se id_n1 existir, significa que os grupos possuem id, pois são oriundos do sistema
932 954 //de administração
... ... @@ -934,12 +956,12 @@ i3GEO.arvoreDeTemas = {
934 956 //sendo necessário o uso da ordem dos grupos como identificador
935 957 if(grupos[i].publicado){
936 958 if(grupos[i].publicado == "NAO"){
937   - grupos[i].nome = "<span title='nao publicado' style=color:red; >"+grupos[i].nome+"</span>";
  959 + grupos[i].nome = "<span title='nao publicado' ><s>"+grupos[i].nome+"</s></span>";
938 960 }
939 961 }
940   - d = {html:grupos[i].nome,idmenu:node.data.idmenu,idgrupo:i};
  962 + d = {html:grupos[i].nome+editor,idmenu:node.data.idmenu,idgrupo:i};
941 963 if(grupos[i].id_n1)
942   - {d = {html:grupos[i].nome,idmenu:node.data.idmenu,idgrupo:grupos[i].id_n1};}
  964 + {d = {html:grupos[i].nome+editor,idmenu:node.data.idmenu,idgrupo:grupos[i].id_n1};}
943 965 tempNode = new YAHOO.widget.HTMLNode(d, node, false,true);
944 966 tempNode.enableHighlight = false;
945 967 tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.montaSubGrupos, 1);
... ... @@ -997,7 +1019,10 @@ i3GEO.arvoreDeTemas = {
997 1019 {mostra = false;}
998 1020 if(i3GEO.arvoreDeTemas.FILTRAOGC && subgrupos[i].ogc == "nao")
999 1021 {mostra = false;}
1000   -
  1022 + if(i3GEO.parametros.editor == "sim")
  1023 + {editor = "<img title='Editar temas' onclick='i3GEO.arvoreDeTemas.abrejanelaIframe(\"900\",\"500\",\""+i3GEO.configura.locaplic+"/admin/html/arvore.html?id_menu="+node.data.idmenu+"&id_grupo="+node.data.idgrupo+"&id_subgrupo="+subgrupos[i].id_n2+"\")' style='width:11px;position:relative;left:3px;top:2px;' src='"+i3GEO.configura.locaplic+"/imagens/edit.gif' />";}
  1024 + else
  1025 + {editor = "";}
1001 1026 if(mostra){
1002 1027 //se id_n2 existir, significa que os grupos possuem id, pois são oriundos do sistema
1003 1028 //de administração
... ... @@ -1005,12 +1030,12 @@ i3GEO.arvoreDeTemas = {
1005 1030 //sendo necessário o uso da ordem dos grupos como identificador
1006 1031 if(subgrupos[i].publicado){
1007 1032 if(subgrupos[i].publicado == "NAO"){
1008   - subgrupos[i].nome = "<span title='nao publicado' style=color:red; >"+subgrupos[i].nome+"</span>";
  1033 + subgrupos[i].nome = "<span title='nao publicado' ><s>"+subgrupos[i].nome+"</s></span>";
1009 1034 }
1010 1035 }
1011   - d = {html:subgrupos[i].nome,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:i};
  1036 + d = {html:subgrupos[i].nome+editor,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:i};
1012 1037 if(subgrupos[i].id_n2)
1013   - {d = {html:subgrupos[i].nome,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:subgrupos[i].id_n2};}
  1038 + {d = {html:subgrupos[i].nome+editor,idmenu:node.data.idmenu,idgrupo:node.data.idgrupo,idsubgrupo:subgrupos[i].id_n2};}
1014 1039 tempNode = new YAHOO.widget.HTMLNode(d, node, false,true);
1015 1040 tempNode.setDynamicLoad(i3GEO.arvoreDeTemas.montaTemas, 1);
1016 1041 tempNode.isLeaf = false;
... ... @@ -1042,7 +1067,7 @@ i3GEO.arvoreDeTemas = {
1042 1067 if(mostra){
1043 1068 if(temas[i].publicado){
1044 1069 if(temas[i].publicado == "NAO"){
1045   - temas[i].nome = "<span title='nao publicado' style=color:red; >"+temas[i].nome+"</span>";
  1070 + temas[i].nome = "<span title='nao publicado' ><s>"+temas[i].nome+"</s></span>";
1046 1071 }
1047 1072 }
1048 1073 tempNode = new YAHOO.widget.HTMLNode(
... ... @@ -1892,6 +1917,24 @@ i3GEO.arvoreDeTemas = {
1892 1917 i3GEO.util.scriptTag(js,"i3GEOF.uploadgpx.criaJanelaFlutuante()","i3GEOF.uploadgpx_script");
1893 1918 }
1894 1919 }
1895   - }
  1920 + },
  1921 + /*
  1922 + Function abrejanelaIframe
  1923 +
  1924 + Abre uma janela flutuante contendo um iframe
  1925 +
  1926 + Parametros:
  1927 +
  1928 + w {string} - largura
  1929 +
  1930 + h {string} - altura
  1931 +
  1932 + s {string} - src do iframe
  1933 + */
  1934 + abrejanelaIframe: function(w,h,s){
  1935 + //var s = window.parent.i3GEO.configura.locaplic+"/admin/html/webservices.html?tipo=GEORSS";
  1936 + var janelaeditor = i3GEO.janela.cria(w,h,s,parseInt(Math.random()*100,10),10,s,"janela"+i3GEO.util.randomRGB(),false);
  1937 + YAHOO.util.Event.addListener(janelaeditor[0].close, "click", i3GEO.arvoreDeTemas.atualiza,janelaeditor[0].panel,{id:janelaeditor[0].id},true);
  1938 + }
1896 1939 };
1897 1940 //YAHOO.log("carregou classe arvoredetemas", "Classes i3geo");
1898 1941 \ No newline at end of file
... ...