Commit 1fbe5763cb3ed2975d96d61688c5c6a89a0b0ca5

Authored by Edmar Moretti
1 parent 50014451

Inclusão de favoritos na listagem de mapfiles no editor do sistema de administração

admin/admin.db
No preview for this file type
admin/imagens/bookmarks.png 0 → 100644

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 += "&nbsp;<img style="+i+" onclick=\"excluirMapfile('"+mapfile.codigo+"')\" title=excluir src=\"../imagens/01.png\" />";
  328 + conteudo += "&nbsp;<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 += "&nbsp;<img style="+i+" onclick=\"removeFavoritos('"+mapfile.codigo+"',true)\" title='retira dos favoritos' src=\"../imagens/bookmarks.png\" />";
  331 + }
  332 + else{
  333 + conteudo += "&nbsp;<img style="+i+" onclick=\"registraFavoritos('"+mapfile.codigo+"')\" title='favorito' src=\"../imagens/bookmarks.png\" />";
  334 + }
  335 + if(iconePlus){
  336 + conteudo += "&nbsp;<img style="+i+" onclick=\"clonarMapfile('"+mapfile.codigo+"')\" title='cria uma copia' src=\"../imagens/clonar.png\" />";
  337 + }
  338 + conteudo += "&nbsp;<img style="+i+" onclick=\"limparCacheMapfile('"+mapfile.codigo+"')\" title='limpa o cache de imagens se houver' src=\"../imagens/limparcache.png\" />";
  339 + conteudo += "&nbsp;<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 >&nbsp;<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 += "&nbsp;<img style="+i+" onclick=\"downloadGvp('"+mapfile.codigo+"')\" title='download' src=\"../imagens/down1.gif\" />";
  346 + }
  347 + if(mapfile.extensao === "map" || mapfile.extensao === "gvp"){
  348 + conteudo += "&nbsp;<img style="+i+" onclick=\"testarMapfile('"+mapfile.codigo+"','"+mapfile.extensao+"')\" title='testar!' src=\"../imagens/41.png\" />";
  349 + conteudo += "&nbsp;<img style="+i+" onclick=\"testarMapfileRapido('"+mapfile.codigo+"','"+mapfile.extensao+"')\" title='teste rapido' src=\"../imagens/41r.png\" />";
  350 + }
  351 + conteudo += "&nbsp;<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 += "&nbsp;<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>&nbsp;"+mapfile.codigo+"</b>&nbsp;<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 += "&nbsp;<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 += "&nbsp;<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 += "&nbsp;<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 += "&nbsp;<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 += "&nbsp;<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 >&nbsp;<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 += "&nbsp;<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 += "&nbsp;<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 += "&nbsp;<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 += "&nbsp;<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 += "&nbsp;<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>&nbsp;<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;