Changeset 7780


Ignore:
Timestamp:
01/22/13 12:13:53 (7 years ago)
Author:
adriano
Message:

Ticket #3317 - correcao para clique simples abrir a janela de edicao de sinalizacao

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/js/draw_api.js

    r7774 r7780  
    22192219                                $('#td_message_followup_' + messageClickedId + ', ' +  
    22202220                                'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited") 
    2221                                 .css({"background-image":"url(../prototype/modules/mail/img/flagEditor.png)"}); 
    2222                                 $('#td_message_followup_' + messageClickedId + ', ' +  
    2223                                 'tr[role="'+messageClickedId+'_'+msg_folder+'"] #td_message_followup_search_' + messageClickedId).find(".flag-edited").css("background", followupColor); 
     2221                                .css({"background-image":"url(../prototype/modules/mail/img/flagEditor.png)"}).css("background", followupColor); 
     2222                                 
    22242223                                $(tr_element).addClass('selected_msg').find(':checkbox').trigger('click'); 
     2224                                 
     2225                                /** 
     2226                                 * Hack - Força a atualização da seleção da mensagem, devido a problema na  
     2227                                 * function de seleção atribuida ao evento onclick do checkbox 
     2228                                 */ 
     2229                                updateSelectedMsgs(true,messageClickedId); 
     2230                                 
    22252231                                configureFollowupflag(); 
    22262232                        } 
  • trunk/prototype/modules/mail/js/followupflag.js

    r7760 r7780  
    6969 
    7070        winElement.find('.button').button() 
     71         
    7172        .filter('.menu-configure-followupflag .cancel').click(function(){ 
    7273                winElement.dialog("close"); 
     74                $.each(selectedMessageIds, function(index, value){       
     75                        $('tr#' + value + ' .td-followup-flag').find('img').remove(); 
     76                }); 
     77                 
    7378        }).end() 
    7479         
    7580        .filter('.menu-configure-followupflag .save').click(function(){  
    76         var saveFollowupflagged = function(){ 
    77                 var idFollowupflagged = winElement.find('[name="followupflagId"]').val(); 
     81                var saveFollowupflagged = function(){ 
     82                        var idFollowupflagged = winElement.find('[name="followupflagId"]').val(); 
    7883                        idFollowupflagged = idFollowupflagged.split(','); 
    79                         for(x=0; x<idFollowupflagged.length; x++){ 
     84                        for (x=0; x<idFollowupflagged.length; x++){ 
    8085                                (idFollowupflagged[x] == "false") ? idFollowupflagged[x] = false : idFollowupflagged; 
    8186                        } 
    82                 for(i=0; i<selectedMessageIds.length; i++){ 
    83                                 var isDone = winElement.find('[name="done"]').is(':checked') ? 1 : 0; 
    84                                 var alarmDate = false; 
    85                                 var doneDate  = false; 
    86                                 var folder_name; 
    87                                 var folders = []; 
    88                                 var messages = []; 
    89                                 var roles = get_selected_messages_search_role().split(','); 
    90                                 for (var i=0; i < selectedMessageIds.length; i++ ){ 
    91                                         if (currentTab == 0) { 
    92                                                 folder_name = current_folder; 
    93                                                 var messageNumber = selectedMessageIds[i]; 
    94                                         }else{ 
    95                                                 var tr = $('[role="'+roles[i]+'"]'); 
    96                                                 folder_name = $(tr).attr('name');  
    97                                                 var id = $(tr).attr('id');  
    98                                                 var messageNumber = id.replace(/_[a-zA-Z0-9]+/,""); 
    99                                         } 
    100                                         folders.push(folder_name); 
    101                                          
    102                                                 var followupflagged = DataLayer.merge({ 
    103                                                         uid : User.me.id, 
    104                                                         followupflagId : followupflagId,  
    105                                                         folderName : folder_name,  
    106                                                         messageNumber : messageNumber, 
    107                                                         isDone: isDone, 
    108                                                         isSent: 0, 
    109                                                         backgroundColor : backgroundColor 
    110                                                 }, !!idFollowupflagged[i] ? {id: idFollowupflagged[i]} : {}); 
    111                                          
    112                                         if (alarmDate = winElement.find('[name="alarmDate"]').datepicker("getDate")) { 
    113                                                 if (alarmTime = winElement.find('[name="alarmTime"]').datepicker("getDate")) { 
    114                                                         alarmDate.set({hour:alarmTime.getHours(), minute:alarmTime.getMinutes()}); 
     87                        for(i=0; i<selectedMessageIds.length; i++){ 
     88                                        var isDone = winElement.find('[name="done"]').is(':checked') ? 1 : 0; 
     89                                        var alarmDate = false; 
     90                                        var doneDate  = false; 
     91                                        var folder_name; 
     92                                        var folders = []; 
     93                                        var messages = []; 
     94                                        var roles = get_selected_messages_search_role().split(','); 
     95                                        for (var i=0; i < selectedMessageIds.length; i++ ){ 
     96                                                if (currentTab == 0) { 
     97                                                        folder_name = current_folder; 
     98                                                        var messageNumber = selectedMessageIds[i]; 
     99                                                }else{ 
     100                                                        var tr = $('[role="'+roles[i]+'"]'); 
     101                                                        folder_name = $(tr).attr('name');  
     102                                                        var id = $(tr).attr('id');  
     103                                                        var messageNumber = id.replace(/_[a-zA-Z0-9]+/,""); 
    115104                                                } 
    116                                                 followupflagged.alarmDeadline = alarmDate.toString('yyyy-MM-dd HH:mm:ss'); 
    117                                         } 
    118  
    119                                         if (doneDate = winElement.find('[name="doneDate"]').datepicker("getDate")) { 
    120                                                 if (doneTime = winElement.find('[name="doneTime"]').datepicker("getDate")) { 
    121                                                         doneDate.set({hour:doneTime.getHours(), minute:doneTime.getMinutes()}); 
     105                                                folders.push(folder_name); 
     106                                                 
     107                                                        var followupflagged = DataLayer.merge({ 
     108                                                                uid : User.me.id, 
     109                                                                followupflagId : followupflagId,  
     110                                                                folderName : folder_name,  
     111                                                                messageNumber : messageNumber, 
     112                                                                isDone: isDone, 
     113                                                                isSent: 0, 
     114                                                                backgroundColor : backgroundColor 
     115                                                        }, !!idFollowupflagged[i] ? {id: idFollowupflagged[i]} : {}); 
     116                                                 
     117                                                if (alarmDate = winElement.find('[name="alarmDate"]').datepicker("getDate")) { 
     118                                                        if (alarmTime = winElement.find('[name="alarmTime"]').datepicker("getDate")) { 
     119                                                                alarmDate.set({hour:alarmTime.getHours(), minute:alarmTime.getMinutes()}); 
     120                                                        } 
     121                                                        followupflagged.alarmDeadline = alarmDate.toString('yyyy-MM-dd HH:mm:ss'); 
    122122                                                } 
    123                                                 followupflagged.doneDeadline = doneDate.toString('yyyy-MM-dd HH:mm:ss'); 
     123 
     124                                                if (doneDate = winElement.find('[name="doneDate"]').datepicker("getDate")) { 
     125                                                        if (doneTime = winElement.find('[name="doneTime"]').datepicker("getDate")) { 
     126                                                                doneDate.set({hour:doneTime.getHours(), minute:doneTime.getMinutes()}); 
     127                                                        } 
     128                                                        followupflagged.doneDeadline = doneDate.toString('yyyy-MM-dd HH:mm:ss'); 
     129                                                } 
     130                                                 
     131                                                /** 
     132                                                 * Aplica o ícone correspondente na lista de mensagens do expressoMail 
     133                                                 */ 
     134                                                if(current_folder == folder_name){ 
     135                                                        var flagged = $('#td_message_followup_' + messageNumber + ', tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited"); 
     136                                                } else{ 
     137                                                        var flagged = $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited"); 
     138                                                } 
     139                                                if(isDone){ 
     140                                                        flagged.find("img").attr("src", "../prototype/modules/mail/img/flagChecked.png").css("margin-left","-3px"); 
     141                                                }else{ 
     142                                                        flagged.css({"background-image":"url(../prototype/modules/mail/img/flagEditor.png)"});                   
     143                                                } 
     144                                                 
     145                                                var followupflagName = winElement.find('[name="name"] option:selected').text(); 
     146                                                if(current_folder == folder_name){ 
     147                                                        $('#td_message_followup_' + messageNumber + ', ' +  
     148                                                        'tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).attr('title', followupflagName).find(".flag-edited").css("background", backgroundColor);  
     149                                                }else{ 
     150                                                        $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).attr('title', followupflagName).find(".flag-edited").css("background", backgroundColor);  
     151                                                }   
     152                                                /** 
     153                                                 * Salva ou, caso já exista, atualiza 
     154                                                 */ 
     155                                                DataLayer.put('followupflagged', followupflagged); 
    124156                                        } 
    125157                                         
    126                                         /** 
    127                                          * Aplica o ícone correspondente na lista de mensagens do expressoMail 
    128                                          */ 
    129                                         if(current_folder == folder_name){ 
    130                                                 var flagged = $('#td_message_followup_' + messageNumber + ', tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited"); 
    131                                         } else{ 
    132                                                 var flagged = $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited"); 
    133                                         } 
    134                                         if(isDone){ 
    135                                                 flagged.find("img").attr("src", "../prototype/modules/mail/img/flagChecked.png").css("margin-left","-3px"); 
    136                                         }else{ 
    137                                                 flagged.css({"background-image":"url(../prototype/modules/mail/img/flagEditor.png)"});                   
    138                                         } 
     158                                        DataLayer.commit(false, false, function(data){ 
     159                                                winElement.find('.menu-configure-followupflag .delete').button("option", "disabled", false); 
     160                                                updateCacheFollowupflag(selectedMessageIds, folders, true); 
     161                                                winElement.dialog("close"); 
     162                                                alarmFollowupflagged('followupflagAlarms'); 
     163                                                var fail = 'success'; 
     164                                                $.each(data,function(index,value){ 
     165                                                        if (typeof value == 'string'){ 
     166                                                                fail = value; 
     167                                                        }                                
     168                                                }); 
     169                                                if (fail == '#FollowupflagMessageIdError'){ 
     170                                                         alert('Uma ou mais mensagens não puderam ser sinalizadas. \nDetalhes do erro: mensagem não contém o atributo message-id.'); 
     171                                                } 
     172                                                else if (fail == '#FollowupflagLimitError'){ 
     173                                                         alert('Uma ou mais mensagens não puderam ser sinalizadas. \nDetalhes do erro: limite de flags atingido para esta pasta.');      
     174                                                } 
     175                                                $.each(selectedMessageIds,function(index,value){         
     176                                                        var flagged = DataLayer.get('followupflagged', {filter: [ 
     177                                                                'AND',  
     178                                                                ['=', 'messageNumber', value],  
     179                                                                ['=', 'folderName', folder_name] 
     180                                                        ]}); 
     181                                                        if (!flagged) 
     182                                                                $('#td_message_followup_'+value).find(".flag-edited").css("background","#cccccc").find('img').remove(); 
     183                                                         
     184                                                        $('tr#' + value + ' .td-followup-flag').find('img').remove(); 
     185                                                });                                      
     186                                        }); 
     187                                        winElement.find('.menu-configure-followupflag .save').button("option", "disabled", true); 
    139188                                         
    140                                         var followupflagName = winElement.find('[name="name"] option:selected').text(); 
    141                                         if(current_folder == folder_name){ 
    142                                                 $('#td_message_followup_' + messageNumber + ', ' +  
    143                                                 'tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).attr('title', followupflagName).find(".flag-edited").css("background", backgroundColor);  
    144                                         }else{ 
    145                                                 $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).attr('title', followupflagName).find(".flag-edited").css("background", backgroundColor);  
    146                                         }   
    147                                         /** 
    148                                          * Salva ou, caso já exista, atualiza 
    149                                          */ 
    150                                         DataLayer.put('followupflagged', followupflagged); 
    151                                 } 
    152                                  
    153                                 DataLayer.commit(false, false, function(data){ 
    154                                         winElement.find('.menu-configure-followupflag .delete').button("option", "disabled", false); 
    155                                         updateCacheFollowupflag(selectedMessageIds, folders, true); 
    156                                         winElement.dialog("close"); 
    157                                         alarmFollowupflagged('followupflagAlarms'); 
    158                                         var fail = 'success'; 
    159                                         $.each(data,function(index,value){ 
    160                                                 if (typeof value == 'string'){ 
    161                                                         fail = value; 
    162                                                 }                                
    163                                         }); 
    164                                         if (fail == '#FollowupflagMessageIdError'){ 
    165                                                  alert('Uma ou mais mensagens não puderam ser sinalizadas. \nDetalhes do erro: mensagem não contém o atributo message-id.'); 
    166                                         } 
    167                                         else if (fail == '#FollowupflagLimitError'){ 
    168                                                  alert('Uma ou mais mensagens não puderam ser sinalizadas. \nDetalhes do erro: limite de flags atingido para esta pasta.');      
    169                                         } 
    170                                         $.each(selectedMessageIds,function(index,value){         
    171                                                 var flagged = DataLayer.get('followupflagged', {filter: [ 
    172                                                         'AND',  
    173                                                         ['=', 'messageNumber', value],  
    174                                                         ['=', 'folderName', folder_name] 
    175                                                 ]}); 
    176                                                 if (!flagged) 
    177                                                         $('#td_message_followup_'+value).find(".flag-edited").css("background","#cccccc"); 
    178                                         });                                      
    179                                 }); 
    180                                 winElement.find('.menu-configure-followupflag .save').button("option", "disabled", true); 
    181                                  
    182                  
    183                 } 
    184                 selectAllFolderMsgs(false); 
    185     } 
     189                         
     190                        } 
     191                        selectAllFolderMsgs(false); 
     192                } 
    186193                winElement.find('[name="name"]').next().data("autocomplete")._trigger("change"); 
    187194                var backgroundColor = winElement.find('[name="backgroundColor"]').val(); 
     
    239246                                         
    240247                                        if(current_folder == folder_name){ 
    241                                                 $('#td_message_followup_' + messageNumber + ', ' +  
     248                                                flag = $('#td_message_followup_' + messageNumber + ', ' +  
    242249                                                  'tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).attr('title', '').find(".flag-edited").css("background", '#CCC'); 
    243250                                                $('#td_message_followup_' + messageNumber + ', ' +  
     
    245252                                                        .css({"background-image":"url(../prototype/modules/mail/img/flagEditor.png)"}); 
    246253                                        }else{ 
    247                                                 $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).attr('title', '').find(".flag-edited").css("background", '#CCC'); 
     254                                                flag = $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).attr('title', '').find(".flag-edited").css("background", '#CCC'); 
    248255                                                $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited") 
    249256                                                        .css({"background-image":"url(../prototype/modules/mail/img/flagEditor.png)"}); 
     
    252259                                } 
    253260                        } 
     261                         
     262                         
    254263                } 
    255264                DataLayer.commit(false, false, function(){ 
    256265                        winElement.dialog("close"); 
    257266                        alarmFollowupflagged('followupflagAlarms'); 
     267                         
     268                        $.each(selectedMessageIds, function(index, value){       
     269                                $('tr#' + value + ' .td-followup-flag').find('img').remove(); 
     270                        }); 
     271                         
     272                        selectAllFolderMsgs(false);      
    258273                }); 
    259                 selectAllFolderMsgs(false); 
     274 
     275 
     276                         
    260277        }); 
    261278         
Note: See TracChangeset for help on using the changeset viewer.