Ignore:
Timestamp:
09/04/12 18:07:11 (12 years ago)
Author:
gustavo
Message:

Ticket #2939 - Melhorias na exibicao das abas e da listagem de email

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sandbox/newExpressoMail/expressoMail1_2/js/main.js

    r7064 r7167  
    8686                current_folder="INBOX"; 
    8787 
    88                 $( "#ptabs span.ui-icon-close" ).live( "click", function() {  
     88                $( "#ptabs ul span.ui-icon.tab-close" ).live( "click", function() {  
    8989                        removeTab($( this ).prev().attr("href")); 
    90  
     90/* 
    9191                        var teste = ""; 
    9292                        var ola = $( this ); 
     
    9797                        }); 
    9898                        $.cookie('open_tabs', teste.substring(0, teste.length-1)); 
     99*/ 
    99100                }); 
    100101 
     
    103104                        helper : function(e, drag){ 
    104105                                var helper = $(drag).clone(); 
    105                                 helper.addClass("ui-corner-all").css("width", "auto").find("span.ui-icon-close").hide().end().find("a").html("Mover "+helper.find("a").html()); 
     106                                helper.addClass("ui-corner-all").css("width", "auto").find("span.ui-icon").hide().end().find("a").html("Mover "+helper.find("a").html()); 
    106107                                return helper; 
    107108                        }, 
    108                         placeholder: 'ui-state-highlight', 
     109                        placeholder: 'ui-state-highlight-prognus', 
    109110                        forcePlaceholderSize: true 
    110111                }).disableSelection(); 
    111  
     112/* 
    112113                if($.cookie('open_tabs')){       
    113114                        $.Zebra_Dialog("Gostaria de recuperar suas mensagens que estavam abertas?", { 
     
    156157                        }); 
    157158                } 
    158  
     159*/ 
    159160                if( (window.google && google.gears) && !google.gears.factory.getPermission()) 
    160161                    preferences.use_local_messages=0; 
     
    205206                DataLayer.get("folder", true); 
    206207                cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);      
    207                  
    208                 if($.cookie('collapse_folders') == "true"){ 
    209                         if(!is_ie) 
    210                                 $("#folderscol").addClass( "hidden"); 
    211                         else 
    212                                 $("#folderscol").hide(); 
    213                         $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-e").children().attr('title', "Expandir"); 
    214                         refresh(); 
    215                         //resizeWindow(); 
    216                 }        
    217                 else{ 
    218                         $(".collapse_folders").addClass("ui-icon ui-icon-triangle-1-w").children().attr('title', "Ocultar"); 
    219                         refresh(); 
    220                         //resizeWindow(); 
    221                 } 
    222                  
     208 
    223209                $(".collapse_folders_td").attr('title', "Ocultar/Expandir").click(function(){ 
    224                         if($("#folderscol").css("display") != "none"){ 
    225                                 if(!is_ie) 
    226                                         $("#folderscol").addClass( "hidden"); 
    227                                 else 
    228                                         $("#folderscol").hide(); 
    229                                          
    230                                 $(".collapse_folders").removeClass("ui-icon-triangle-1-w"); 
    231                                 $(".collapse_folders").addClass("ui-icon-triangle-1-e"); 
    232                                 $(".collapse_folders").parent().attr('title', "Expandir"); 
    233                                 $.cookie('collapse_folders', "true"); 
     210                        $(this).find("span").toggle(); 
     211                        $("#folderscol").toggle("blind", {direction: "horizontal"}, "normal", function(){ 
    234212                                refresh(); 
    235                                 resizeWindow(); 
    236                         }else{ 
    237                                 if(!is_ie) 
    238                                         $("#folderscol").removeClass( "hidden"); 
    239                                 else 
    240                                         $("#folderscol").show(); 
    241                                 $(".collapse_folders").removeClass("ui-icon-triangle-1-e"); 
    242                                 $(".collapse_folders").addClass("ui-icon-triangle-1-w"); 
    243                                 $(".collapse_folders").parent().attr('title', "Ocultar"); 
    244                                 $.cookie('collapse_folders', "false"); 
    245                                 refresh(); 
    246                                 //resizeWindow(); 
    247                         } 
    248                         //resizeWindow(); 
    249                          
     213                                resizeWindow();  
     214                        }); 
    250215                }).hover( 
    251216                        function(){ 
     
    569534                else { 
    570535                        var sbj = msg_info.subject.length < 21 ? msg_info.subject : msg_info.subject.substr(0,21) + "..."; 
     536                        //console.log(msg_info); 
    571537                        var content = $(DataLayer.render("../prototype/modules/mail/templates/email.ejs", {info : msg_info, ID : id_msg_read})); 
    572538 
    573                         createTab(sbj, content.html(), id_msg_read, function(content){ 
    574                 content.find(".message-flags").find(".message-important-flag").button({ 
    575                         icons: { 
    576                                 primary: "ui-icon-notice" 
    577                         }, 
    578                     text: false 
    579                 }).end().find(".message-unread-flag").button({ 
    580                         icons: { 
    581                                 primary: "ui-icon-mail-closed" 
    582                         }, 
    583                     text: false 
    584                 }).end().find(".message-spam-flag").button({ 
    585                         icons: { 
    586                                 primary: "ui-icon-alert" 
    587                         }, 
    588                     text: false  
    589                 }).end().find(".message-followup-flag").button({ 
    590                         icons: { 
    591                                 primary: "ui-icon-flag" 
    592                         }, 
    593                     text: false 
    594                 }); 
    595                 content.find(".message-flags").buttonset(); 
    596  
    597                 content.find(".messages-controll").find(".message-prev").button({ 
    598                         icons: { 
    599                                 primary: "ui-icon-carat-1-w" 
    600                         }, 
    601                     text: false 
    602                 }).next().button({ 
    603                         icons: { 
    604                                 primary: "ui-icon-carat-1-e" 
    605                         }, 
    606                     text: false 
    607                 }); 
    608                 content.find(".messages-controll").buttonset(); 
    609                 content.find(".message-tags").button({ 
    610                     icons: { 
    611                         primary: "ui-icon-tag", 
    612                         secondary: "ui-icon-triangle-1-s" 
    613                     }, 
    614                     text: false 
    615                 }).next().button({ 
    616                     icons: { 
    617                         secondary: "ui-icon-triangle-1-s" 
    618                     }, 
    619                     text: true 
    620                 }).next().button({ 
    621                     icons: { 
    622                         primary: "ui-icon-trash" 
    623                     }, 
    624                     text: false 
    625                 }); 
    626                 content.find(".messages-preferences").button({ 
    627                     icons: { 
    628                         primary: "ui-icon-gear", 
    629                         secondary: "ui-icon-triangle-1-s" 
    630                     }, 
    631                     text: false 
    632                 }).css("width", "45px"); 
     539                        createTab(sbj, 'message', content.html(), id_msg_read, function(content){ 
     540                                buildMessageButtons(content); 
    633541            }); 
     542            return; 
    634543 
    635544                        //$(".message-flags").buttonset(); 
     
    709618        } 
    710619        setTimeout('resizeWindow()',300); 
     620} 
     621 
     622function buildMessageButtons(content){ 
     623        var data = getTabData(); 
     624        //FLAGS BUTTON SET  
     625    content.find(".message-flags").find(".message-important-flag").button({ 
     626        icons: { 
     627                primary: "ui-icon-notice" 
     628        }, 
     629        text: false 
     630    }).click(function(){ 
     631        var checked = $(this).attr("checked") == "checked" ? true : false; 
     632        set_message_flag(data.id, checked ? "flagged" : "unflagged", undefined, data.folder); 
     633        write_msg(get_lang('Message marked as ') + get_lang( checked ? "Important" : "Normal")); 
     634        refresh(); 
     635    }).end().find(".message-unread-flag").button({ 
     636        icons: { 
     637                primary: "ui-icon-mail-closed" 
     638        }, 
     639        text: false 
     640    }).click(function(){ 
     641        var checked = $(this).attr("checked") == "checked" ? true : false; 
     642        set_message_flag(data.id, checked ? "unseen" : "seen", undefined, data.folder); 
     643        write_msg(get_lang('Message marked as ') + get_lang( checked ? "Unseen" : "Seen")); 
     644        refresh(); 
     645    }).end().find(".message-spam-flag").button({ 
     646        icons: { 
     647                primary: "ui-icon-alert" 
     648        }, 
     649        text: false      
     650    }).click(function(){ 
     651        var checked = $(this).attr("checked") == "checked" ? true : false; 
     652        checked ? spam(data.folder, data.id,'null') : nospam(data.id,'null', data.folder); 
     653        removeTab(); 
     654        refresh(); 
     655    }).end().find(".message-followup-flag").button({ 
     656        icons: { 
     657                primary: "ui-icon-flag" 
     658        }, 
     659        text: false 
     660    }); 
     661    content.find(".message-flags").buttonset(); 
     662 
     663    //MESSAGES ACTION NEXT PREV BUTTON SET 
     664    content.find(".messages-controll").find(".message-prev").button({ 
     665        icons: { 
     666                primary: "ui-icon-carat-1-w" 
     667        }, 
     668        text: false 
     669    }).click(function(){ 
     670 
     671    }).next().button({ 
     672        icons: { 
     673                primary: "ui-icon-carat-1-e" 
     674        }, 
     675        text: false 
     676    }); 
     677    content.find(".messages-controll").buttonset(); 
     678 
     679    // 
     680    content.find(".message-forward").button({ 
     681        icons:{ 
     682                primary: "ui-icon-arrowreturnthick-1-e" 
     683        }, 
     684        text : false 
     685    }); 
     686 
     687        var teste = content.find(".message-reply-menu-content").clone(); 
     688        content.find(".message-reply-menu-content").remove(); 
     689 
     690    content.find(".button.message-reply").button({ 
     691        icons:{ 
     692                primary: "ui-icon-arrowreturnthick-1-w" 
     693        }, 
     694        text : false 
     695    }).next().button({ 
     696        icons:{ 
     697                primary: "ui-icon-triangle-1-s" 
     698        }, 
     699        text : false 
     700    }).parent().buttonset(); 
     701 
     702        content.find("span.message-reply").append(teste); 
     703 
     704        content.find(".message-reply").next().menuPlugin({ 
     705                content : content.find(".message-reply-menu-content").html(), 
     706                positionOpts: { 
     707                        posX: 'left',  
     708                        posY: 'bottom', 
     709                        offsetX: -140, 
     710                        offsetY: 0, 
     711                        directionH: 'right', 
     712                        directionV: 'down',  
     713                        detectH: true, // do horizontal collision detection   
     714                        detectV: true, // do vertical collision detection 
     715                        linkToFront: false 
     716                }, 
     717                flyOut: true, 
     718                showSpeed: 100, 
     719                crumbDefaultText: '>' 
     720        }); 
     721 
     722 
     723    content.find(".button.message-edit").button({ 
     724        icons:{ 
     725                primary: "ui-icon-pencil" 
     726        }, 
     727        text : false 
     728    }); 
     729    //BUTTON MORE AND TAGS 
     730    content.find(".message-tags").button({ 
     731        icons: { 
     732            primary: "ui-icon-tag", 
     733            secondary: "ui-icon-triangle-1-s" 
     734        }, 
     735        text: false 
     736    }).next().next().button({ 
     737        icons: { 
     738            secondary: "ui-icon-triangle-1-s" 
     739        }, 
     740        text: true 
     741        }); 
     742 
     743        content.find(".message-more").menuPlugin({ 
     744                content : content.find(".message-more-menu-content").html(), 
     745                flyOut: true, 
     746                positionOpts: { 
     747                        posX: 'left',  
     748                        posY: 'bottom', 
     749                        offsetX: -140, 
     750                        offsetY: 0, 
     751                        directionH: 'right', 
     752                        directionV: 'down',  
     753                        detectH: true, // do horizontal collision detection   
     754                        detectV: true, // do vertical collision detection 
     755                        linkToFront: false 
     756                }, 
     757                showSpeed: 100, 
     758                crumbDefaultText: '>' 
     759        }); 
     760                 
     761        content.find(".message-tags-menu-content ul li").remove(); 
     762        $.each(getLabels(), function(key,value){ 
     763                content.find(".message-tags-menu-content ul") 
     764                .append("<li id='"+key+"'><a href='#'>"+value.name+"</a></li>").find("li:last").click(function(){ 
     765                        if(typeof(value.callback) != "function"){ 
     766                                var isLabel = key.match(/label(.*)/); 
     767                                if (isLabel && isLabel.length > 1) { 
     768                                        labeledMessages(isLabel[1]); 
     769                                } 
     770                        } 
     771                }); 
     772        }); 
     773 
     774        content.find(".message-tags").menuPlugin({ 
     775                content : content.find(".message-tags-menu-content").html(), 
     776                flyOut: true, 
     777                positionOpts: { 
     778                        posX: 'left',  
     779                        posY: 'bottom', 
     780                        offsetX: -140, 
     781                        offsetY: 0, 
     782                        directionH: 'right', 
     783                        directionV: 'down',  
     784                        detectH: true, // do horizontal collision detection   
     785                        detectV: true, // do vertical collision detection 
     786                        linkToFront: false 
     787                }, 
     788                showSpeed: 100, 
     789                crumbDefaultText: '>' 
     790        }); 
     791    //REMOVE MESSAGE BUTTON 
     792    content.find(".message-remove").button({ 
     793        icons: { 
     794            primary: "ui-icon-trash" 
     795        }, 
     796        text: false 
     797    }).click(function(){ 
     798        proxy_mensagens.delete_msgs(data.folder,data.id,'null'); 
     799        removeTab(); 
     800        refresh(); 
     801    }); 
     802 
     803    //PREFERENCES BUTTON 
     804    content.find(".messages-preferences").button({ 
     805        icons: { 
     806            primary: "ui-icon-gear", 
     807            secondary: "ui-icon-triangle-1-s" 
     808        }, 
     809        text: false 
     810    }).css("width", "45px"); 
     811 
     812    //MESSAGE DETAILS  
     813    content.find(".message-hide-show-details").click(function(){ 
     814        $(this).find("span").toggle(); 
     815        content.find(".message-details").toggle("blind"); 
     816    }).hover( 
     817                function(){ 
     818                        $(this).addClass("message-detail-hover"); 
     819                }, 
     820                function(){ 
     821                        $(this).removeClass("message-detail-hover"); 
     822                } 
     823        ); 
     824 
    711825} 
    712826 
     
    9781092                                        return move_search_msgs('content_id_'+currentTab,userTrashFolder,special_folders['Trash']);  
    9791093                                         
    980                                 if(currentTab.toString().indexOf("_r") != -1)  
    981                                         msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));  
     1094//                              if(currentTab.toString().indexOf("_r") != -1)  
     1095//                                      msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r"));  
    9821096                          
    9831097                        if (!archive && (parseInt(preferences.save_deleted_msg)) && (folder != userTrashFolder)){  
     
    13711485                                delete_border(data.border_ID,'false'); 
    13721486                } 
    1373                 if(folder == get_current_folder()){ 
     1487//              if(folder === get_current_folder()){ 
    13741488                        var n_total_msg = parseInt(Element('tot_m').innerHTML) - data.msgs_number.length; 
    13751489                        draw_paging(n_total_msg); 
    13761490                        Element('tot_m').innerHTML = n_total_msg; 
    1377                 } 
     1491//              } 
    13781492                refresh(); 
    13791493        } 
     
    13991513 
    14001514        // se a aba estiver aberta e selecionada, apenas a msg da aba ï¿œ movida 
    1401         if(currentTab.toString().indexOf("_r") != -1 && currentTab == border_ID) 
     1515        /*if(currentTab.toString().indexOf("_r") != -1 && currentTab == border_ID) 
    14021516        { 
    14031517                //se a aba for aberta atraves de uma pesquisa 
     
    14061520                else 
    14071521                    msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf('_r')); 
    1408         } 
     1522        }*/ 
    14091523        refresh(); 
    14101524        if (parseInt(msgs_number) > 0 || msgs_number.length > 0){ 
     
    14301544                                        delete selectedPagingMsgs[value]; 
    14311545                                    }); 
    1432                                     totalFolderMsgs -= msgs_number.split(",").length; 
     1546                                    totalFolderMsgs -= msgs_number+"".split(",").length; 
    14331547 
    14341548                                    //TESTE 
     
    15951709 
    15961710         if( !id_msgs ){ 
    1597               write_msg( "Todas as mensagens jï¿œ foram arquivadas anteriormente." ); 
     1711              write_msg( "Todas as mensagens já foram arquivadas anteriormente." ); 
    15981712              return; 
    15991713          } 
     
    22732387        $("#border_id_" + new_border_ID).attr("title", title); 
    22742388//      set_border_caption("border_id_" + new_border_ID, title); 
    2275 //      resizeWindow(); 
     2389        resizeWindow(); 
    22762390        return new_border_ID; //Preciso retornar o ID da nova mensagem. 
    22772391} 
     
    32703384// Get checked messages 
    32713385function set_messages_flag(flag, msgs_to_set){   
    3272         if(currentTab != 0 && currentTab.indexOf("search_local")  >= 0){ 
    3273                 return set_messages_flag_search_local(flag); 
    3274         } 
    3275         if (currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
     3386        if(indexTab() != 0){ 
    32763387                return set_messages_flag_search(flag); 
    32773388        } 
     
    33653476        if (msgs_to_set == 'get_selected_messages') 
    33663477                var msgs_to_set = this.get_selected_messages(); 
    3367         else 
     3478        else{ 
    33683479                folder = Element("input_folder_"+msgs_to_set+"_r").value; 
    3369          
     3480    } 
     3481 
    33703482        if (msgs_to_set) 
    33713483                $.ajax({ 
     
    33973509 
    33983510// By message number 
    3399 function set_message_flag(msg_number, flag, func_after_flag_change){ 
     3511function set_message_flag(msg_number, flag, func_after_flag_change, folder){ 
    34003512        var msg_number_folder = Element("new_input_folder_"+msg_number+"_r"); //Mensagens respondidas/encaminhadas 
    34013513        if(!msg_number_folder) 
     
    34403552        $.ajax({ 
    34413553                  url: 'controller.php?' + $.param( {action: '$this.imap_functions.set_messages_flag', 
    3442                                                       folder: ( msg_number_folder ?  msg_number_folder.value : get_current_folder() ), 
     3554                                                      folder: folder ? folder : ( msg_number_folder ?  msg_number_folder.value : get_current_folder() ), 
    34433555                                                      msgs_to_set: msg_number, 
    34443556                                                      flag: flag, 
     
    39144026        } 
    39154027 
    3916         if(currentTab.toString().indexOf("_r") != -1) 
     4028        /*if(currentTab.toString().indexOf("_r") != -1) 
    39174029                msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
    39184030        else if(msgs_number == 'selected') 
    39194031                msgs_number = get_selected_messages(); 
    3920  
     4032        */ 
    39214033        //TODO: REFATORAR O Cï¿œDIGO PARA EVITAR recodificaᅵᅵo 
    39224034        if(currentTab == 0) 
     
    39524064        } 
    39534065 
    3954         if(currentTab.toString().indexOf("_r") != -1) 
    3955                 msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
    3956         else if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
    3957                 var content_search = document.getElementById('content_id_'+currentTab);mount_url_folder(["INBOX",special_folders['Trash']]), 'Trash', 
    3958                 move_search_msgs('content_id_'+currentTab,  mount_url_folder(["INBOX",special_folders["Spam"]]), special_folders['Spam']); 
    3959                 refresh(); 
    3960                 return; 
    3961         }else if(msgs_number == 'selected') 
    3962                 msgs_number = get_selected_messages(); 
    3963  
    3964         //TODO: REFATORAR O Cï¿œDIGO PARA EVITAR recodificaᅵᅵo 
    3965         if(currentTab == 0) 
    3966                 msgs_number = get_selected_messages(); 
    3967  
     4066        if(!msgs_number){ 
     4067                if(currentTab.toString().indexOf("_r") != -1) 
     4068                        msgs_number = currentTab.toString().substr(0,currentTab.toString().indexOf("_r")); 
     4069                else if(currentTab != 0 && currentTab.indexOf("search_")  >= 0){ 
     4070                        var content_search = document.getElementById('content_id_'+currentTab);mount_url_folder(["INBOX",special_folders['Trash']]), 'Trash', 
     4071                        move_search_msgs('content_id_'+currentTab,  mount_url_folder(["INBOX",special_folders["Spam"]]), special_folders['Spam']); 
     4072                        refresh(); 
     4073                        return; 
     4074                }else if(msgs_number == 'selected') 
     4075                        msgs_number = get_selected_messages(); 
     4076 
     4077                //TODO: REFATORAR O Cï¿œDIGO PARA EVITAR recodificaᅵᅵo 
     4078                if(currentTab == 0) 
     4079                        msgs_number = get_selected_messages(); 
     4080        } 
    39684081        if(parseInt(msgs_number) > 0 || msgs_number.length > 0) 
    39694082                cExecute ("$this.imap_functions.spam&folder="+folder+"&spam=true"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+0+"&cyrus_delimiter="+cyrus_delimiter, handler_move_msgs); 
     
    45684681            var border_id = form.abaID;   
    45694682            //Defininindo pasta a ser salva mensagem 
    4570                         var user_selected = $('#content_id_'+border_id).find('.from-select option:selected').text(); 
     4683                        var user_selected = $('#ptabs_'+border_id).find('.from-select option:selected').text(); 
    45714684                        var str_begin_name = user_selected.indexOf('<') + 1; 
    45724685                        var str_end_name = user_selected.indexOf('@'); 
     
    45984711                        form.type =  RichTextEditor.plain[border_id] ? 'plain' : 'html';             
    45994712            form.attachments = listAttachment(border_id); 
     4713            uidsSave[border_id] = []; 
    46004714            form.uidsSave = uidsSave[border_id].toString(); 
    46014715            return( form ); 
     
    46844798 
    46854799 
     4800function addAttachment(ID, att) 
     4801{ 
     4802    if(typeof(msgAttachments[ID]) == 'undefined') 
     4803            msgAttachments[ID] = []; 
     4804 
     4805        msgAttachments[ID].push(att); 
     4806} 
     4807 
     4808function delAttachment(ID, att) 
     4809{ 
     4810     
     4811    if(msgAttachments[ID] == undefined) return; 
     4812    var len = msgAttachments[ID].length; 
     4813    for(var i = 0; i < len; i++) 
     4814    { 
     4815        if(msgAttachments[ID][i] == att) 
     4816        { 
     4817            delete msgAttachments[ID][i]; 
     4818            break; 
     4819        } 
     4820    }   
     4821} 
     4822 
     4823function listAttachment(ID) 
     4824{ 
     4825   return (typeof(msgAttachments[ID]) == 'undefined') ? '' : JSON.stringify(msgAttachments[ID]);  
     4826} 
Note: See TracChangeset for help on using the changeset viewer.