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 | 32 | |
33 | 33 | |
34 | 34 | contaN = 0; |
35 | -//TODO incluir favoritos | |
35 | +favoritosNode = ""; | |
36 | 36 | objcontype = [ |
37 | 37 | {texto:"MS_INLINE",valor:"0"}, |
38 | 38 | {texto:"MS_SHAPEFILE",valor:"1"}, |
... | ... | @@ -215,34 +215,28 @@ Monta a árvore |
215 | 215 | |
216 | 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 | 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 | 225 | if(node.data.codigoMap == undefined){ |
228 | 226 | fnLoadComplete.call(); |
229 | 227 | return; |
230 | 228 | } |
231 | 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 | 232 | var dados = YAHOO.lang.JSON.parse(oResponse.responseText); |
237 | 233 | montaRaizTema(node,dados); |
238 | 234 | oResponse.argument.fnLoadComplete(); |
239 | 235 | }, |
240 | - failure: function(oResponse) | |
241 | - { | |
236 | + failure: function(oResponse){ | |
242 | 237 | oResponse.argument.fnLoadComplete(); |
243 | 238 | }, |
244 | - argument: | |
245 | - { | |
239 | + argument: { | |
246 | 240 | "node": node, |
247 | 241 | "fnLoadComplete": fnLoadComplete |
248 | 242 | }, |
... | ... | @@ -250,11 +244,12 @@ function montaArvore() |
250 | 244 | }; |
251 | 245 | YAHOO.util.Connect.asyncRequest('GET', sUrl, callback); |
252 | 246 | } |
253 | - function buildTree() | |
254 | - { | |
247 | + function buildTree(){ | |
255 | 248 | tree = new YAHOO.widget.TreeView("tabela"); |
256 | 249 | tree.setDynamicLoad(loadNodeData, 0); |
257 | 250 | var root = tree.getRoot(); |
251 | + favoritosNode = new YAHOO.widget.TextNode('Favoritos', root, true); | |
252 | + favoritosNode.isLeaf = false; | |
258 | 253 | if(letraAtual == ""){ |
259 | 254 | var tempNode = new YAHOO.widget.TextNode('Todos', root, false); |
260 | 255 | tempNode.isLeaf = true; |
... | ... | @@ -268,54 +263,117 @@ function montaArvore() |
268 | 263 | } |
269 | 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 | 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 | 362 | for (var i=0, j=$mapfiles.length; i<j; i++) |
280 | 363 | { |
281 | - conteudo = ""; | |
282 | - var iconePlus = true; | |
364 | + iconePlus = true; | |
283 | 365 | if($mapfiles[i].extensao != "map"){ |
284 | 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 | 369 | var d = {html:conteudo,tipo:"mapfile",id_tema:$mapfiles[i].id_tema,id:$mapfiles[i].codigo,codigoMap:$mapfiles[i].codigo}; |
313 | 370 | var tempNode = new YAHOO.widget.HTMLNode(d, root, false,iconePlus); |
314 | 371 | tempNode.enableHighlight = false; |
315 | 372 | nos.push(tempNode); |
316 | 373 | } |
317 | - if(redesenha=="sim") | |
318 | - tree.draw(); | |
374 | + if(redesenha=="sim"){ | |
375 | + tree.draw(); | |
376 | + } | |
319 | 377 | return nos; |
320 | 378 | } |
321 | 379 | function testarMapfileRapido(codigoMap,extensao) |
... | ... | @@ -541,6 +599,7 @@ Exclui um mapfile |
541 | 599 | */ |
542 | 600 | function excluirMapfile(codigoMap) |
543 | 601 | { |
602 | + removeFavoritos(codigoMap,false); | |
544 | 603 | var mensagem = " excluindo "+codigoMap; |
545 | 604 | var no = tree.getNodeByProperty("id",codigoMap); |
546 | 605 | var sUrl = "../php/editormapfile.php?funcao=excluirMapfile&codigoMap="+codigoMap; | ... | ... |