Changeset 5533 for trunk/expressoMail1_2/js/doiMenuData.js
- Timestamp:
- 02/22/12 18:04:20 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/doiMenuData.js
r5497 r5533 8 8 } 9 9 10 $.contextMenu({11 selector: ".table_box tbody tr",12 callback: function(key, options) {13 //TODO - default actions14 //TODO - aply labels actions15 16 },17 items: {18 "flagSeen": {"name": get_lang("Mark as") + " " + get_lang('seen'), "icon": "seen", callback: function(key, opt){ proxy_mensagens.proxy_set_messages_flag('seen','get_selected_messages'); }},19 "flagUnseen": {"name": get_lang("Mark as") + " " + get_lang('unseen'), "icon": "unseen", callback: function(key, opt){ proxy_mensagens.proxy_set_messages_flag('unseen','get_selected_messages'); }},20 "flagFlagged": {"name": get_lang("Mark as") + " " + get_lang('important'), "icon": "important", callback: function(key, opt){ proxy_mensagens.proxy_set_messages_flag('flagged','get_selected_messages'); }},21 "flagUnflagged": {"name": get_lang("Mark as") + " " + get_lang('normal'), callback: function(key, opt){ proxy_mensagens.proxy_set_messages_flag('unflagged','get_selected_messages'); }},22 23 24 "sep2": "---------",25 "move": {"name": get_lang("Move to")+"...", "icon": "move", callback: function(key, opt){ wfolders.makeWindow('', 'move_to'); }},26 "remove": {"name": get_lang("Delete"), "icon": "delete", callback: function(key, opt){ proxy_mensagens.delete_msgs('null','selected','null'); }},27 "export": {"name": get_lang("Export"), "icon": "export", callback: function(key, opt){ proxy_mensagens.export_all_messages(); }}28 }29 });30 31 10 32 11 /** 33 * Cria a lista de itens para o menu ferramentas12 * Cria a lista de marcadores para o submenu "Marcadores" 34 13 */ 14 function getLabels(){ 15 var labels = DataLayer.get('label',{criteria:{order: 'name'}}); 16 var menuLabelItems = {}; 17 for(var i=0; i<labels.length; i++) { 18 menuLabelItems["label"+labels[i].id] = { 19 "name" : labels[i].name, 20 } 21 } 22 return menuLabelItems; 23 } 24 25 /** 26 * Carrega o menu de opção de uma mensagem 27 */ 28 function loadMenu(){ 29 var labelItems = getLabels(); 30 $.contextMenu({ 31 selector: ".table_box tbody tr", 32 callback: function(key, options) { 33 //TODO - default actions 34 35 /** 36 * Aply labels to selected messages 37 */ 38 var isLabel = key.match(/label(.*)/); 39 if (isLabel && isLabel.length > 1) { 40 var label = { 41 id: isLabel[1] 42 } 43 var lableleds = new Array(); 44 45 if(currentTab == 0){ 46 var messages = get_selected_messages().split(','); 47 }else{ 48 var messages = get_selected_messages_search().split(','); 49 } 50 51 for (var i=0; i < messages.length; i++) { 52 var hasLabel = DataLayer.get('labeled', [ 53 'AND', 54 ['=', 'labelId', label.id], 55 ['=', 'folderName', current_folder], 56 ['=', 'messageNumber', messages[i]] 57 ]); 58 if (!hasLabel) { 59 lableleds.push( 60 DataLayer.put('labeled', { 61 labelId:label.id, 62 folderName:current_folder, 63 messageNumber:messages[i] 64 }) 65 ); 66 67 } 68 } 69 DataLayer.commit(); 70 for (var i=0; i < messages.length; i++) { 71 updateLabelsColumn({msg_number:messages[i], labels:false}); 72 } 73 } 74 }, 75 items: { 76 "flagSeen": {"name": get_lang("Mark as") + " " + get_lang('seen'), "icon": "seen", callback: function(key, opt){ proxy_mensagens.proxy_set_messages_flag('seen','get_selected_messages'); }}, 77 "flagUnseen": {"name": get_lang("Mark as") + " " + get_lang('unseen'), "icon": "unseen", callback: function(key, opt){ proxy_mensagens.proxy_set_messages_flag('unseen','get_selected_messages'); }}, 78 "flagFlagged": {"name": get_lang("Mark as") + " " + get_lang('important'), "icon": "important", callback: function(key, opt){ proxy_mensagens.proxy_set_messages_flag('flagged','get_selected_messages'); }}, 79 "flagUnflagged": {"name": get_lang("Mark as") + " " + get_lang('normal'), callback: function(key, opt){ proxy_mensagens.proxy_set_messages_flag('unflagged','get_selected_messages'); }}, 80 81 "sep1": "---------", 82 "label": { "name": get_lang("Labels"), "items": labelItems}, 83 "follouwpflag":{"name": get_lang("Follow up"), callback: function(key, opt){ configureFollowupflag(); } }, 84 85 "sep2": "---------", 86 "move": {"name": get_lang("Move to")+"...", "icon": "move", callback: function(key, opt){ wfolders.makeWindow('', 'move_to'); }}, 87 "remove": {"name": get_lang("Delete"), "icon": "delete", callback: function(key, opt){ proxy_mensagens.delete_msgs('null','selected','null'); }}, 88 "export": {"name": get_lang("Export"), "icon": "export", callback: function(key, opt){ proxy_mensagens.export_all_messages(); }} 89 } 90 }); 91 } 92 /*FIM*/ 93 loadMenu(); 94 35 95 if (!expresso_offline) { 36 96 var menuToolsItems = { … … 40 100 "i04": {"name": get_lang("Edit folders"), "icon": "edit-folder", callback: folderbox }, 41 101 "i05": {"name": get_lang("Share mailbox"), "icon": "share-mailbox", callback: sharebox }, 42 43 "i08": {"name": get_lang("Empty trash"), "icon": "empty-trash", callback: function(key, opt){ empty_trash_imap () }}102 "i06": {"name": get_lang("Labels"), "icon": "tag", callback: configureLabels }, 103 "i08": {"name": get_lang("Empty trash"), "icon": "empty-trash", callback: function(key, opt){ empty_trash_imap }} 44 104 }; 45 105 … … 56 116 } 57 117 58 /**59 * Aplica o menu ferramentas60 */61 118 $.contextMenu({ 62 119 selector: "#link_tools", … … 70 127 events: { 71 128 show: function(opt) { 72 /**73 * Modifica cor do elemento de trigger para o menu74 */75 129 var $trigger = $(opt.selector).css({'background-color': '#EEEEEE', 'border': '1px solid #CCCCCC'}); 76 130 $('.context-menu-list.context-menu-root').css({'width': $trigger.css('width') }); … … 78 132 }, 79 133 hide: function(opt) { 80 /**81 * Modifica cor do elemento de trigger para o menu82 */83 134 $(opt.selector).css({'background-color': '', 'border': 'none'}); 84 135 return true; … … 86 137 }, 87 138 callback: function(key, options) { 88 //TODO - default actions139 89 140 }, 90 141 items: menuToolsItems 91 142 }); 92 143 144 145 function updateLabelsColumn(messageInfo) { 146 $('#td_message_labels_' + messageInfo.msg_number +', #td_message_labels_search_' + messageInfo.msg_number) 147 .html('<img src="../prototype/modules/mail/img/tag.png">'); 148 149 var menuItems = {}; 150 if (messageInfo.labels) { 151 menuItems = messageInfo.labels; 152 } else { 153 var labeleds = DataLayer.get('labeled', { 154 filter: [ 155 'AND', 156 ['=', 'folderName', current_folder], 157 ['=', 'messageNumber', messageInfo.msg_number] 158 ], 159 criteria: {deepness: 2} 160 }); 161 if (labeleds) { 162 for (var i=0; i < labeleds.length; i++) 163 menuItems[labeleds[i].label.id] = labeleds[i].label; 164 } else { 165 //não tem labels 166 return false; 167 } 168 } 169 170 $.contextMenu( 'destroy', '#td_message_labels_' + messageInfo.msg_number +', #td_message_labels_search_' + messageInfo.msg_number); 171 172 $.contextMenu({ 173 selector: '#td_message_labels_' + messageInfo.msg_number +', #td_message_labels_search_' + messageInfo.msg_number, 174 trigger: 'hover', 175 delay:100, 176 autoHide:true, 177 callback: function(key, options) { 178 //alert($(this).attr('id')); 179 }, 180 items: menuItems 181 }); 182 } 183 184 /** 185 * TODO 186 * * ao clicar com o botao direito em cima da mensagem, selecionar a mensagem 187 * * clarear a cor do menu ferramentas 188 * * pintar o botao ferramentas, quando clicado, da cor do menu 189 * 190 */
Note: See TracChangeset
for help on using the changeset viewer.