Commit 8aa2d9e47df2bcaa52c7dd9075f94c27d198e025
1 parent
eff84171
Exists in
master
Inclusão de favoritos na listagem de mapfiles no editor do sistema de administração
Showing
2 changed files
with
114 additions
and
55 deletions
Show diff stats
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; | ... | ... |