Commit 1fbe5763cb3ed2975d96d61688c5c6a89a0b0ca5
1 parent
50014451
Exists in
master
and in
7 other branches
Inclusão de favoritos na listagem de mapfiles no editor do sistema de administração
Showing
3 changed files
with
114 additions
and
55 deletions
Show diff stats
admin/admin.db
No preview for this file type
793 Bytes
admin/js/editormapfile.js
@@ -32,7 +32,7 @@ i3geo/admin/js/editormapfile.js | @@ -32,7 +32,7 @@ i3geo/admin/js/editormapfile.js | ||
32 | 32 | ||
33 | 33 | ||
34 | contaN = 0; | 34 | contaN = 0; |
35 | -//TODO incluir favoritos | 35 | +favoritosNode = ""; |
36 | objcontype = [ | 36 | objcontype = [ |
37 | {texto:"MS_INLINE",valor:"0"}, | 37 | {texto:"MS_INLINE",valor:"0"}, |
38 | {texto:"MS_SHAPEFILE",valor:"1"}, | 38 | {texto:"MS_SHAPEFILE",valor:"1"}, |
@@ -215,34 +215,28 @@ Monta a árvore | @@ -215,34 +215,28 @@ Monta a árvore | ||
215 | 215 | ||
216 | <PEGALAYERS> | 216 | <PEGALAYERS> |
217 | */ | 217 | */ |
218 | -function montaArvore() | ||
219 | -{ | ||
220 | - YAHOO.example.treeExample = new function() | ||
221 | - { | 218 | +function montaArvore(){ |
219 | + YAHOO.example.treeExample = new function(){ | ||
222 | tree = ""; | 220 | tree = ""; |
223 | - function changeIconMode() | ||
224 | - {buildTree();} | ||
225 | - function loadNodeData(node, fnLoadComplete) | ||
226 | - { | 221 | + function changeIconMode(){ |
222 | + buildTree(); | ||
223 | + } | ||
224 | + function loadNodeData(node, fnLoadComplete){ | ||
227 | if(node.data.codigoMap == undefined){ | 225 | if(node.data.codigoMap == undefined){ |
228 | fnLoadComplete.call(); | 226 | fnLoadComplete.call(); |
229 | return; | 227 | return; |
230 | } | 228 | } |
231 | var sUrl = "../php/editormapfile.php?funcao=pegaLayers&codigoMap="+node.data.codigoMap; | 229 | var sUrl = "../php/editormapfile.php?funcao=pegaLayers&codigoMap="+node.data.codigoMap; |
232 | - var callback = | ||
233 | - { | ||
234 | - success: function(oResponse) | ||
235 | - { | 230 | + var callback = { |
231 | + success: function(oResponse){ | ||
236 | var dados = YAHOO.lang.JSON.parse(oResponse.responseText); | 232 | var dados = YAHOO.lang.JSON.parse(oResponse.responseText); |
237 | montaRaizTema(node,dados); | 233 | montaRaizTema(node,dados); |
238 | oResponse.argument.fnLoadComplete(); | 234 | oResponse.argument.fnLoadComplete(); |
239 | }, | 235 | }, |
240 | - failure: function(oResponse) | ||
241 | - { | 236 | + failure: function(oResponse){ |
242 | oResponse.argument.fnLoadComplete(); | 237 | oResponse.argument.fnLoadComplete(); |
243 | }, | 238 | }, |
244 | - argument: | ||
245 | - { | 239 | + argument: { |
246 | "node": node, | 240 | "node": node, |
247 | "fnLoadComplete": fnLoadComplete | 241 | "fnLoadComplete": fnLoadComplete |
248 | }, | 242 | }, |
@@ -250,11 +244,12 @@ function montaArvore() | @@ -250,11 +244,12 @@ function montaArvore() | ||
250 | }; | 244 | }; |
251 | YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); | 245 | YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); |
252 | } | 246 | } |
253 | - function buildTree() | ||
254 | - { | 247 | + function buildTree(){ |
255 | tree = new YAHOO.widget.TreeView("tabela"); | 248 | tree = new YAHOO.widget.TreeView("tabela"); |
256 | tree.setDynamicLoad(loadNodeData, 0); | 249 | tree.setDynamicLoad(loadNodeData, 0); |
257 | var root = tree.getRoot(); | 250 | var root = tree.getRoot(); |
251 | + favoritosNode = new YAHOO.widget.TextNode('Favoritos', root, true); | ||
252 | + favoritosNode.isLeaf = false; | ||
258 | if(letraAtual == ""){ | 253 | if(letraAtual == ""){ |
259 | var tempNode = new YAHOO.widget.TextNode('Todos', root, false); | 254 | var tempNode = new YAHOO.widget.TextNode('Todos', root, false); |
260 | tempNode.isLeaf = true; | 255 | tempNode.isLeaf = true; |
@@ -268,54 +263,117 @@ function montaArvore() | @@ -268,54 +263,117 @@ function montaArvore() | ||
268 | } | 263 | } |
269 | buildTree(); | 264 | buildTree(); |
270 | }(); | 265 | }(); |
271 | - montaNosRaiz("nao"); | 266 | + montaFavoritos(); |
267 | + montaNosRaiz("nao"); | ||
268 | + tree.draw(); | ||
269 | +} | ||
270 | +favoritosArray = []; | ||
271 | +retornaFavoritosArray(); | ||
272 | +function retornaFavoritosArray(){ | ||
273 | + var temp = i3GEO.util.pegaCookie("I3GEOfavoritosEditorMapfile"); | ||
274 | + if(temp){ | ||
275 | + favoritosArray = temp.split(","); | ||
276 | + } | ||
277 | + else{ | ||
278 | + favoritosArray = []; | ||
279 | + } | ||
280 | + return favoritosArray; | ||
281 | +} | ||
282 | +function registraFavoritos(codigoTema){ | ||
283 | + favoritosArray.remove(codigoTema); | ||
284 | + favoritosArray.push(codigoTema); | ||
285 | + i3GEO.util.insereCookie("I3GEOfavoritosEditorMapfile", favoritosArray.toString(",")); | ||
286 | + montaFavoritos(); | ||
287 | + tree.draw(); | ||
288 | +} | ||
289 | +function removeFavoritos(codigoTema,redesenha){ | ||
290 | + var temp = tree.getNodeByProperty("id",codigoTema+"favorito"); | ||
291 | + if(temp){ | ||
292 | + tree.removeNode(temp); | ||
293 | + } | ||
294 | + favoritosArray.remove(codigoTema); | ||
295 | + i3GEO.util.insereCookie("I3GEOfavoritosEditorMapfile", favoritosArray.toString(",")); | ||
296 | + if(redesenha){ | ||
272 | tree.draw(); | 297 | tree.draw(); |
298 | + } | ||
273 | } | 299 | } |
274 | -function montaNosRaiz(redesenha) | ||
275 | -{ | ||
276 | - var root = tree.getRoot(); | ||
277 | - var nos = new Array(); | ||
278 | - var conteudo = ""; | 300 | +function montaFavoritos(){ |
301 | + var mapfile, i, j, conteudo, iconePlus, d, tempNode; | ||
302 | + for (i=0, j=$mapfiles.length; i<j; i++){ | ||
303 | + mapfile = $mapfiles[i]; | ||
304 | + if(!tree.getNodeByProperty("id",mapfile.codigo+"favorito")){ | ||
305 | + if(i3GEO.util.in_array(mapfile.codigo,favoritosArray)){ | ||
306 | + iconePlus = true; | ||
307 | + if(mapfile.extensao != "map"){ | ||
308 | + iconePlus = false; | ||
309 | + } | ||
310 | + conteudo = montaTextoTemaMapfile(mapfile); | ||
311 | + d = {html:conteudo,tipo:"favorito",id_tema:mapfile.id_tema,id:mapfile.codigo+"favorito",codigoMap:mapfile.codigo}; | ||
312 | + tempNode = new YAHOO.widget.HTMLNode(d, favoritosNode, false, iconePlus); | ||
313 | + tempNode.isLeaf = true; | ||
314 | + tempNode.enableHighlight = false; | ||
315 | + } | ||
316 | + } | ||
317 | + } | ||
318 | +} | ||
319 | +function montaTextoTemaMapfile(mapfile){ | ||
320 | + var conteudo = "", i, iconePlus = true; | ||
321 | + if(mapfile.extensao != "map"){ | ||
322 | + iconePlus = false; | ||
323 | + conteudo += "<b>("+mapfile.extensao+") </b>"; | ||
324 | + } | ||
325 | + | ||
326 | + i = "margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px"; | ||
327 | + conteudo += " <img style="+i+" onclick=\"excluirMapfile('"+mapfile.codigo+"')\" title=excluir src=\"../imagens/01.png\" />"; | ||
328 | + conteudo += " <img style="+i+" onclick=\"filtraLetra('"+mapfile.codigo+"')\" title='filtrar lista' src=\"../imagens/view-filter.png\" />"; | ||
329 | + if(i3GEO.util.in_array(mapfile.codigo,favoritosArray)){ | ||
330 | + conteudo += " <img style="+i+" onclick=\"removeFavoritos('"+mapfile.codigo+"',true)\" title='retira dos favoritos' src=\"../imagens/bookmarks.png\" />"; | ||
331 | + } | ||
332 | + else{ | ||
333 | + conteudo += " <img style="+i+" onclick=\"registraFavoritos('"+mapfile.codigo+"')\" title='favorito' src=\"../imagens/bookmarks.png\" />"; | ||
334 | + } | ||
335 | + if(iconePlus){ | ||
336 | + conteudo += " <img style="+i+" onclick=\"clonarMapfile('"+mapfile.codigo+"')\" title='cria uma copia' src=\"../imagens/clonar.png\" />"; | ||
337 | + } | ||
338 | + conteudo += " <img style="+i+" onclick=\"limparCacheMapfile('"+mapfile.codigo+"')\" title='limpa o cache de imagens se houver' src=\"../imagens/limparcache.png\" />"; | ||
339 | + conteudo += " <img style="+i+" onclick=\"editorTemaMapfile('"+mapfile.codigo+"')\" title='editar tema associado' src=\"../imagens/03.png\" />"; | ||
340 | + if(iconePlus){ | ||
341 | + conteudo += "<a style='margin-left:2px;border:solid white 0px;text-decoration:none;' href='../php/editortexto.php?mapfile="+mapfile.codigo+"' target=_self > <img title='Editor de textos' style=\"border:0px solid white;width:12px;position:relative;cursor:pointer;top:2px\" src=\"../imagens/06.png\" /></a>"; | ||
342 | + } | ||
343 | + //opcao de download se for gvsig | ||
344 | + if(mapfile.extensao === "gvp"){ | ||
345 | + conteudo += " <img style="+i+" onclick=\"downloadGvp('"+mapfile.codigo+"')\" title='download' src=\"../imagens/down1.gif\" />"; | ||
346 | + } | ||
347 | + if(mapfile.extensao === "map" || mapfile.extensao === "gvp"){ | ||
348 | + conteudo += " <img style="+i+" onclick=\"testarMapfile('"+mapfile.codigo+"','"+mapfile.extensao+"')\" title='testar!' src=\"../imagens/41.png\" />"; | ||
349 | + conteudo += " <img style="+i+" onclick=\"testarMapfileRapido('"+mapfile.codigo+"','"+mapfile.extensao+"')\" title='teste rapido' src=\"../imagens/41r.png\" />"; | ||
350 | + } | ||
351 | + conteudo += " <img style="+i+";width:20px; onclick=\"javascript:window.open('../../interface/black_editor.php?&temaEdicao="+mapfile.codigo+"')\" title='editar no i3Geo' src=\"../imagens/i3geo2editor.jpg\" />"; | ||
352 | + conteudo += " <img style="+i+";width:20px; onclick=\"javascript:window.open('../../ms_criamapa.php?temasa="+mapfile.codigo+"&layers="+mapfile.codigo+"')\" title='testar no i3Geo' src=\"../imagens/i3geo2.jpg\" />"; | ||
353 | + conteudo += "<b> "+mapfile.codigo+"</b> <span style=color:gray id='idNome_"+mapfile.codigo+"'>"+mapfile.nome+"</span>"; | ||
354 | + conteudo += "<br><img src=''style='display:none;' id='testeRapido"+mapfile.codigo+"' />"; | ||
355 | + if(mapfile.imagem != "" && $i("mostraMini").checked == true){ | ||
356 | + conteudo += "</b><br><img src='../../temas/miniaturas/"+mapfile.imagem+"'/>"; | ||
357 | + } | ||
358 | + return conteudo; | ||
359 | +} | ||
360 | +function montaNosRaiz(redesenha){ | ||
361 | + var root = tree.getRoot(), nos = new Array(), conteudo = "", iconePlus = true; | ||
279 | for (var i=0, j=$mapfiles.length; i<j; i++) | 362 | for (var i=0, j=$mapfiles.length; i<j; i++) |
280 | { | 363 | { |
281 | - conteudo = ""; | ||
282 | - var iconePlus = true; | 364 | + iconePlus = true; |
283 | if($mapfiles[i].extensao != "map"){ | 365 | if($mapfiles[i].extensao != "map"){ |
284 | iconePlus = false; | 366 | iconePlus = false; |
285 | - conteudo += "<b>("+$mapfiles[i].extensao+") </b>"; | ||
286 | - } | ||
287 | - conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"excluirMapfile('"+$mapfiles[i].codigo+"')\" title=excluir src=\"../imagens/01.png\" />"; | ||
288 | - conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"filtraLetra('"+$mapfiles[i].codigo+"')\" title='filtrar lista' src=\"../imagens/view-filter.png\" />"; | ||
289 | - if(iconePlus){ | ||
290 | - conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"clonarMapfile('"+$mapfiles[i].codigo+"')\" title='cria uma copia' src=\"../imagens/clonar.png\" />"; | ||
291 | - } | ||
292 | - conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"limparCacheMapfile('"+$mapfiles[i].codigo+"')\" title='limpa o cache de imagens se houver' src=\"../imagens/limparcache.png\" />"; | ||
293 | - conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"editorTemaMapfile('"+$mapfiles[i].codigo+"')\" title='editar tema associado' src=\"../imagens/03.png\" />"; | ||
294 | - if(iconePlus){ | ||
295 | - conteudo += "<a style='margin-left:2px;border:solid white 0px;text-decoration:none;' href='../php/editortexto.php?mapfile="+$mapfiles[i].codigo+"' target=_self > <img title='Editor de textos' style=\"border:0px solid white;width:12px;position:relative;cursor:pointer;top:2px\" src=\"../imagens/06.png\" /></a>"; | ||
296 | - } | ||
297 | - //opcao de download se for gvsig | ||
298 | - if($mapfiles[i].extensao === "gvp"){ | ||
299 | - conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"downloadGvp('"+$mapfiles[i].codigo+"')\" title='download' src=\"../imagens/down1.gif\" />"; | ||
300 | - } | ||
301 | - if($mapfiles[i].extensao === "map" || $mapfiles[i].extensao === "gvp"){ | ||
302 | - conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"testarMapfile('"+$mapfiles[i].codigo+"','"+$mapfiles[i].extensao+"')\" title='testar!' src=\"../imagens/41.png\" />"; | ||
303 | - conteudo += " <img style=\"margin-left:2px;width:12px;position:relative;cursor:pointer;top:2px\" onclick=\"testarMapfileRapido('"+$mapfiles[i].codigo+"','"+$mapfiles[i].extensao+"')\" title='teste rapido' src=\"../imagens/41r.png\" />"; | ||
304 | - } | ||
305 | - conteudo += " <img width=20px style=\"margin-left:2px;position:relative;cursor:pointer;top:2px\" onclick=\"javascript:window.open('../../interface/black_editor.php?&temaEdicao="+$mapfiles[i].codigo+"')\" title='editar no i3Geo' src=\"../imagens/i3geo2editor.jpg\" />"; | ||
306 | - conteudo += " <img width=20px style=\"margin-left:2px;position:relative;cursor:pointer;top:2px\" onclick=\"javascript:window.open('../../ms_criamapa.php?temasa="+$mapfiles[i].codigo+"&layers="+$mapfiles[i].codigo+"')\" title='testar no i3Geo' src=\"../imagens/i3geo2.jpg\" />"; | ||
307 | - conteudo += "<b> <span>"+$mapfiles[i].codigo+" <span style=color:gray id='idNome_"+$mapfiles[i].codigo+"'>"+$mapfiles[i].nome+"</span></span>"; | ||
308 | - conteudo += "</b><br><img src=''style='display:none;' id='testeRapido"+$mapfiles[i].codigo+"' />"; | ||
309 | - if($mapfiles[i].imagem != "" && $i("mostraMini").checked == true){ | ||
310 | - conteudo += "</b><br><img src='../../temas/miniaturas/"+$mapfiles[i].imagem+"'/>"; | ||
311 | } | 367 | } |
368 | + conteudo = montaTextoTemaMapfile($mapfiles[i]); | ||
312 | var d = {html:conteudo,tipo:"mapfile",id_tema:$mapfiles[i].id_tema,id:$mapfiles[i].codigo,codigoMap:$mapfiles[i].codigo}; | 369 | var d = {html:conteudo,tipo:"mapfile",id_tema:$mapfiles[i].id_tema,id:$mapfiles[i].codigo,codigoMap:$mapfiles[i].codigo}; |
313 | var tempNode = new YAHOO.widget.HTMLNode(d, root, false,iconePlus); | 370 | var tempNode = new YAHOO.widget.HTMLNode(d, root, false,iconePlus); |
314 | tempNode.enableHighlight = false; | 371 | tempNode.enableHighlight = false; |
315 | nos.push(tempNode); | 372 | nos.push(tempNode); |
316 | } | 373 | } |
317 | - if(redesenha=="sim") | ||
318 | - tree.draw(); | 374 | + if(redesenha=="sim"){ |
375 | + tree.draw(); | ||
376 | + } | ||
319 | return nos; | 377 | return nos; |
320 | } | 378 | } |
321 | function testarMapfileRapido(codigoMap,extensao) | 379 | function testarMapfileRapido(codigoMap,extensao) |
@@ -541,6 +599,7 @@ Exclui um mapfile | @@ -541,6 +599,7 @@ Exclui um mapfile | ||
541 | */ | 599 | */ |
542 | function excluirMapfile(codigoMap) | 600 | function excluirMapfile(codigoMap) |
543 | { | 601 | { |
602 | + removeFavoritos(codigoMap,false); | ||
544 | var mensagem = " excluindo "+codigoMap; | 603 | var mensagem = " excluindo "+codigoMap; |
545 | var no = tree.getNodeByProperty("id",codigoMap); | 604 | var no = tree.getNodeByProperty("id",codigoMap); |
546 | var sUrl = "../php/editormapfile.php?funcao=excluirMapfile&codigoMap="+codigoMap; | 605 | var sUrl = "../php/editormapfile.php?funcao=excluirMapfile&codigoMap="+codigoMap; |