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 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 += "&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 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 += "&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 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;
... ...