Changeset 7409 for sandbox


Ignore:
Timestamp:
10/10/12 17:48:16 (11 years ago)
Author:
marcosw
Message:

Ticket #3088 - Correção na seleção de msgs locais e paginação

Location:
sandbox/2.5.0-expresso1/expressoMail1_2/js
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/draw_api.js

    r7404 r7409  
    681681        if (/^local_messages/.test(current_folder)) { 
    682682            $(".folders-loading").removeClass("folders-loading"); //remove o icone de loading ao clicar nas pastas locais 
     683            selectAllFolderMsgs(false); 
     684            //Marcosw inicio - criado método para retornar todos os ids de mensagens por folder 
     685            expresso_mail_archive.listAllMessagesByFolder(folder.replace("local_messages_","")); 
     686            populateSelectedMsgs(expresso_mail_archive.allmessagesbyfolder); 
     687            //Marcosw fim 
    683688        } 
    684689        else { //se não, processamento normal da pasta 
     
    22922297        search_box_type = search; 
    22932298        if (typeof(clean_selected) == "undefined"){      
    2294                 $.ajax({                         
     2299                 
     2300        $.ajax({                         
    22952301                        url: "controller.php?" + $.param( {action: "$this.imap_functions.get_range_msgs3",  
    22962302                                folder: get_current_folder(), 
     
    23222328                        } 
    23232329                }); 
     2330         
    23242331        }        
    23252332        proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); 
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/mail_archiver.js

    r7408 r7409  
    170170    this.session = null; 
    171171    this.selectedfolder = null; 
     172    //Marcosw inicio - criado array para guardar todas mensagens de determinada pasta 
     173    this.allmessagesbyfolder = new Array(); 
     174    //Marcosw fim 
    172175} 
    173176 
     
    14001403} 
    14011404 
    1402  
    1403  
    14041405//listMessages operation 
    14051406//OLD local_messages.prototype.get_local_range_msgs = function(folder,msg_range_begin,emails_per_page,sort,sort_reverse,search,preview_msg_subject,preview_msg_tip) { 
     
    14921493} 
    14931494 
     1495//Marcosw inicio - criado métodos para retornar todos os ids de mensagens por folder 
     1496//List all messages by folder given and set a array with all messages ids 
     1497MailArchiver.prototype.listAllMessagesByFolder = function(folderid){ 
     1498    try{ 
     1499        var query_messages = '{"query":{"folder":[{"@id":"'+folderid+'"}], "order":[{"@asc":"date"}]}}'; 
     1500        ArchiveServices.listMessages(expresso_mail_archive.listAllMessagesByFolderOperationOK, expresso_mail_archive.listAllMessagesByFolderOperationFailure, expresso_mail_archive.session.id, query_messages); 
     1501    } 
     1502    catch (e){ 
     1503        expresso_mail_archive.getFaultInfo(); 
     1504    } 
     1505} 
     1506 
     1507//listAllMessages callback OK 
     1508MailArchiver.prototype.listAllMessagesByFolderOperationOK = function(returnService){ 
     1509    var msglist = new Array(); 
     1510    for(var i=0; i< returnService.getReturn().length; i++){ 
     1511        msglist.push(returnService.getReturn()[i]._id); 
     1512    } 
     1513    expresso_mail_archive.allmessagesbyfolder = msglist; 
     1514} 
     1515 
     1516//listAllMessages callback Fail 
     1517MailArchiver.prototype.listAllMessagesByFolderOperationFailure = function(ServiceFault){ 
     1518    window.alert('listAllmessagesByFolder FALHOU!\n' + ServiceFault.getReturn()); 
     1519} 
     1520//Marcosw fim 
     1521 
    14941522MailArchiver.prototype.getFolderMessagesNumber = function(){ 
    14951523    var n = 0; 
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/main.js

    r7389 r7409  
    15231523    }    
    15241524    //Marcosw fim 
     1525 
     1526    //Marcos Início - É preciso fazer as validações para o correto funcionamento da seleção independente de paginação. 
     1527    $.each(msgs_number.split(","), function(index, value){ 
     1528        delete selectedPagingMsgs[value]; 
     1529    }); 
     1530    totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length; 
     1531    selectAllFolderMsgs(false); 
     1532    updateSelectedMsgs(); 
     1533    //Marcos Fim  
    15251534         
    15261535} 
  • sandbox/2.5.0-expresso1/expressoMail1_2/js/messages_controller.js

    r7373 r7409  
    209209                                    expresso_mail_archive.folder_destination = 'trash'; 
    210210                                    expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 
    211                                     //Marcos Início - É preciso remover a aba da mensagem para que a próxima seja exibida 
     211 
     212                                    //Marcos Início - É preciso remover a aba da mensagem para que a próxima seja exibida.  
    212213                                    delete_border(currentTab,'false'); 
    213214                                    //Marcos Fim 
     215 
    214216                                    expresso_mail_archive.getMessage(previous_msg); 
    215217                                } 
     
    278280                    if (((preferences.save_deleted_msg == true)) && (folder.replace('messages_','') != expresso_mail_archive.specialfolders.trash)){ 
    279281                    //Marcosw fim   
    280                       expresso_mail_archive.createFolder("","Trash"); 
    281                       expresso_mail_archive.folder_destination = 'trash'; 
    282                       expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 
     282                        expresso_mail_archive.createFolder("","Trash"); 
     283                        expresso_mail_archive.folder_destination = 'trash'; 
     284                        expresso_mail_archive.moveMessages(expresso_mail_archive.folder_destination, msgs_number); 
    283285                    } 
    284286                    //user does not want to save messages deleted on trash. purge them imediatly 
    285287                    else{ 
    286                       expresso_mail_archive.deleteMessages(msgs_number); 
    287                     }                                     
     288                        expresso_mail_archive.deleteMessages(msgs_number); 
     289                    }      
    288290                } 
    289291            } 
    290292                } 
    291293 
     294        //Marcos Início - É preciso fazer as validações para o correto funcionamento da seleção independente de paginação. 
     295        $.each(msgs_number.split(","), function(index, value){ 
     296            delete selectedPagingMsgs[value]; 
     297        }); 
     298        totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length; 
     299        selectAllFolderMsgs(false); 
     300        updateSelectedMsgs(); 
     301        //Marcos Fim   
    292302 
    293303 
     
    625635                    //Marcosw fim 
    626636                    //Marcos Início - É preciso remover a aba da mensagem copiada 
    627                     delete_border(currentTab,'false');  
     637                    if(currentTab != 0) 
     638                        delete_border(currentTab,'false');  
    628639                    //Marcos fim 
    629640                } 
     
    658669        }        
    659670 
    660  
     671        //Marcos Início - É preciso fazer as validações para o correto funcionamento da seleção independente de paginação. 
     672        $.each(msgs_number.split(","), function(index, value){ 
     673            delete selectedPagingMsgs[value]; 
     674        }); 
     675        totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length; 
     676        selectAllFolderMsgs(false); 
     677        updateSelectedMsgs(); 
     678        //Marcos Fim  
    661679 
    662680                /*if ((this.is_local_folder(folder)) && (this.is_local_folder(new_folder))) { //Move entre pastas não locais... 
Note: See TracChangeset for help on using the changeset viewer.