Ignore:
Timestamp:
03/06/12 14:20:00 (12 years ago)
Author:
marcieli
Message:

Ticket #2486 - Estilo de botões e menu no ExpressoMail?. Criar sinalizador customizado.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/mail/js/followupflag.js

    r5625 r5640  
    163163         
    164164        .filter('.menu-configure-followupflag .save').click(function(){  
     165                var saveFollowupflagged = function(){ 
     166                                var isDone = winElement.find('[name="done"]').is(':checked') ? 1 : 0; 
     167                                var alarmDate = false; 
     168                                var doneDate  = false; 
     169                                var folder_name; 
     170                                var folders = []; 
     171                                var messages = []; 
     172                                var roles = get_selected_messages_search_role().split(','); 
     173                                for (var i=0; i < selectedMessageIds.length; i++ ){ 
     174                                        if (currentTab == 0) { 
     175                                                folder_name = current_folder; 
     176                                                var messageNumber = selectedMessageIds[i]; 
     177                                        }else{ 
     178                                                var tr = $('[role="'+roles[i]+'"]'); 
     179                                                folder_name = $(tr).attr('name');  
     180                                                var id = $(tr).attr('id');  
     181                                                var messageNumber = id.replace(/_[a-zA-Z0-9]+/,""); 
     182                                        } 
     183                                        folders.push(folder_name); 
     184                                         
     185                                        var idFollowupflagged = winElement.find('[name="followupflagId"]').val(); 
     186                                        var followupflagged = DataLayer.merge({ 
     187                                                uid : User.me.id, 
     188                                                followupflagId : followupflagId,  
     189                                                folderName : folder_name,  
     190                                                messageNumber : messageNumber, 
     191                                                isDone: isDone, 
     192                                                backgroundColor : backgroundColor 
     193                                        }, !!idFollowupflagged ? {id: idFollowupflagged} : {}); 
     194                                         
     195                                        if (alarmDate = winElement.find('[name="alarmDate"]').datepicker("getDate")) { 
     196                                                if (alarmTime = winElement.find('[name="alarmTime"]').datepicker("getDate")) { 
     197                                                        alarmDate.set({hour:alarmTime.getHours(), minute:alarmTime.getMinutes()}); 
     198                                                } 
     199                                                followupflagged.alarmDeadline = alarmDate.toString('yyyy-MM-dd hh:mm:ss'); 
     200                                        } 
     201 
     202                                        if (doneDate = winElement.find('[name="doneDate"]').datepicker("getDate")) { 
     203                                                if (doneTime = winElement.find('[name="doneTime"]').datepicker("getDate")) { 
     204                                                        doneDate.set({hour:doneTime.getHours(), minute:doneTime.getMinutes()}); 
     205                                                } 
     206                                                followupflagged.doneDeadline = doneDate.toString('yyyy-MM-dd hh:mm:ss'); 
     207                                        } 
     208                                         
     209                                        /** 
     210                                         * Aplica o ícone correspondente na lista de mensagens do expressoMail 
     211                                         */ 
     212                                        if(current_folder == folder_name){ 
     213                                                var flagged = $('#td_message_followup_' + messageNumber + ', tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited"); 
     214                                        } else{ 
     215                                                var flagged = $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited"); 
     216                                        } 
     217                                        if(isDone){ 
     218                                                flagged.find("img").attr("src", "../prototype/modules/mail/img/flagChecked.png").css("margin-left","-3px"); 
     219                                        }else{ 
     220                                                flagged.find("img").attr("src", "../prototype/modules/mail/img/flagEditor.png").css("margin-left","0");                  
     221                                        } 
     222                                         
     223 
     224                                        if(current_folder == folder_name){ 
     225                                                $('#td_message_followup_' + messageNumber + ', ' +  
     226                                                'tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited").css("background", backgroundColor);  
     227                                        }else{ 
     228                                                $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited").css("background", backgroundColor);  
     229                                        }   
     230                                        /** 
     231                                         * Salva ou, caso já exista, atualiza 
     232                                         */ 
     233                                        DataLayer.put('followupflagged', followupflagged); 
     234                                } 
    165235                                 
     236                                DataLayer.commit(false, false, function(data){ 
     237                                        followupflags = DataLayer.get('followupflagged',{criteria:{order: 'id'}}, true);                 
     238                                        var id = followupflags[followupflags.length - 1].id; 
     239                                        winElement.find('[name="followupflagId"]').val(id); 
     240                                        winElement.find('.menu-configure-followupflag .save').button("option", "disabled", true); 
     241                                        winElement.find('.menu-configure-followupflag .delete').button("option", "disabled", false); 
     242                                        updateCacheFollowupflag(selectedMessageIds, folders, true); 
     243                                }); 
     244                 
     245                }                
    166246                var backgroundColor = winElement.find('[name="backgroundColor"]').val(); 
    167247                var followupflagId  = winElement.find('[name="name"] option:selected').val(); 
    168248                if (followupflagId == 'custom') { 
    169249                        DataLayer.put('followupflag', {name:winElement.find('[name="name"] option:selected').text(), uid:User.me.id}); 
    170                         DataLayer.commit(); 
    171                          
    172                         followupflags = DataLayer.get('followupflag',{criteria:{order: 'id'}}, true);            
    173                         followupflagId = followupflags[followupflags.length - 1].id; 
    174                         winElement.find('[name="name"] option[value="custom"]').val(followupflagId); 
    175                 } 
    176                  
    177                  
    178                 var isDone = winElement.find('[name="done"]').is(':checked') ? 1 : 0; 
    179                 var alarmDate = false; 
    180                 var doneDate  = false; 
    181                 var folder_name; 
    182                 var folders = []; 
    183                 var messages = []; 
    184                 var roles = get_selected_messages_search_role().split(','); 
    185                 for (var i=0; i < selectedMessageIds.length; i++ ){ 
    186                         if (currentTab == 0) { 
    187                                 folder_name = current_folder; 
    188                                 var messageNumber = selectedMessageIds[i]; 
    189                         }else{ 
    190                                 var tr = $('[role="'+roles[i]+'"]'); 
    191                                 folder_name = $(tr).attr('name');  
    192                                 var id = $(tr).attr('id');  
    193                                 var messageNumber = id.replace(/_[a-zA-Z0-9]+/,""); 
    194                         } 
    195                         folders.push(folder_name); 
    196                          
    197                         var idFollowupflagged = winElement.find('[name="followupflagId"]').val(); 
    198                         var followupflagged = DataLayer.merge({ 
    199                                 uid : User.me.id, 
    200                                 followupflagId : followupflagId,  
    201                                 folderName : folder_name,  
    202                                 messageNumber : messageNumber, 
    203                                 isDone: isDone, 
    204                                 backgroundColor : backgroundColor 
    205                         }, !!idFollowupflagged ? {id: idFollowupflagged} : {}); 
    206                          
    207                         if (alarmDate = winElement.find('[name="alarmDate"]').datepicker("getDate")) { 
    208                                 if (alarmTime = winElement.find('[name="alarmTime"]').datepicker("getDate")) { 
    209                                         alarmDate.set({hour:alarmTime.getHours(), minute:alarmTime.getMinutes()}); 
    210                                 } 
    211                                 followupflagged.alarmDeadline = alarmDate.toString('yyyy-MM-dd hh:mm:ss'); 
    212                         } 
    213  
    214                         if (doneDate = winElement.find('[name="doneDate"]').datepicker("getDate")) { 
    215                                 if (doneTime = winElement.find('[name="doneTime"]').datepicker("getDate")) { 
    216                                         doneDate.set({hour:doneTime.getHours(), minute:doneTime.getMinutes()}); 
    217                                 } 
    218                                 followupflagged.doneDeadline = doneDate.toString('yyyy-MM-dd hh:mm:ss'); 
    219                         } 
    220                          
    221                         /** 
    222                          * Aplica o ícone correspondente na lista de mensagens do expressoMail 
    223                          */ 
    224                         if(current_folder == folder_name){ 
    225                                 var flagged = $('#td_message_followup_' + messageNumber + ', tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited"); 
    226                         } else{ 
    227                                 var flagged = $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited"); 
    228                         } 
    229                         if(isDone){ 
    230                                 flagged.find("img").attr("src", "../prototype/modules/mail/img/flagChecked.png").css("margin-left","-3px"); 
    231                         }else{ 
    232                                 flagged.find("img").attr("src", "../prototype/modules/mail/img/flagEditor.png").css("margin-left","0");                  
    233                         } 
    234                          
    235  
    236                         if(current_folder == folder_name){ 
    237                                 $('#td_message_followup_' + messageNumber + ', ' +  
    238                                 'tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited").css("background", backgroundColor);  
    239                         }else{ 
    240                                 $('tr[role="'+messageNumber+'_'+folder_name+'"] #td_message_followup_search_' + messageNumber).find(".flag-edited").css("background", backgroundColor);  
    241                         }   
    242                         /** 
    243                          * Salva ou, caso já exista, atualiza 
    244                          */ 
    245                         DataLayer.put('followupflagged', followupflagged); 
    246                 } 
    247                  
    248                 DataLayer.commit(false, false, function(data){ 
    249                         followupflags = DataLayer.get('followupflagged',{criteria:{order: 'id'}}, true);                 
    250                         var id = followupflags[followupflags.length - 1].id; 
    251                         winElement.find('[name="followupflagId"]').val(id); 
    252                         winElement.find('.menu-configure-followupflag .save').button("option", "disabled", true); 
    253                         winElement.find('.menu-configure-followupflag .delete').button("option", "disabled", false); 
    254                         updateCacheFollowupflag(selectedMessageIds, folders, true); 
    255                 }); 
     250                        DataLayer.commit(false, false, function(data){ 
     251                                DataLayer.remove('followupflag', false); 
     252                                DataLayer.get('followupflag');           
     253                                followupflags = DataLayer.get('followupflag',{criteria:{order: 'id'}}, true);            
     254                                followupflagId = followupflags[followupflags.length - 1].id; 
     255                                winElement.find('[name="name"] option[value="custom"]').val(followupflagId); 
     256                                saveFollowupflagged(); 
     257                        }); 
     258                }else{ 
     259                        saveFollowupflagged(); 
     260                }        
     261 
    256262        }).end() 
    257263         
Note: See TracChangeset for help on using the changeset viewer.