- Timestamp:
- 06/14/12 01:17:45 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/expressoServiceImap/prototype/modules/attach_message/attach_message.js
r6303 r6486 6 6 dashes = /\//gi; 7 7 flags = [ 'Attachment', 'Forwarded' ,'Recent', 'Unseen', 'Answered', 'Draft', 'Deleted', 'Flagged', 'Followupflag', 'Label' ]; 8 9 $.ajaxPrefilter(function( options, originalOptions, jqXHR ){ 10 11 var offlineAction = isOffline.exec( options.url ); 12 13 if( offlineAction ) 14 { 15 offlineAction = offlineAction[1] || ""; 16 17 jqXHR.abort(); 18 19 var params = {}; 20 21 if( offlineAction ) 22 offlineAction += options.data ? "&" + options.data : ""; 23 24 offlineAction = offlineAction.split( breakParams ); 25 26 for( var i = 0; i < offlineAction.length; ) 27 params[ offlineAction[i++] ] = offlineAction[i++]; 28 29 rest = params["q"].split("/"); 30 31 if( !(rest.length % 2) ) 32 var id = rest.pop(); 33 34 var concept = rest.pop(); 35 36 for( var i = 0; i < rest.length; ) 37 params[ rest[i++] ] = rest[ i++ ]; 38 39 switch( concept ) 40 { 41 case "message": 42 { 43 if( id ){ 44 var mail = expresso_local_messages.get_local_mail( id ); 45 mail.eml = expresso_local_messages.get_src( mail.url_export_file ); 46 47 ( options.success || options.complete )( mail ); 48 return; 49 } 50 51 var msgs = expresso_local_messages.get_local_range_msgs( params["folder"].replace(dots, "/").replace("local_messages/", ""), 52 params["rows"] * ( params["page"] - 1 ) + 1, 53 params["rows"], "SORTARRIVAL", (params["sord"] == "desc"), 54 "ALL", 1, 1 ); 55 56 for( var i = 0; i < msgs.length; i++ ) 57 { 58 msgs[i].size = msgs[i].Size; 59 msgs[i].timestamp = msgs[i].udate * 1000; 60 msgs[i].flags = []; 61 62 for( var ii = 0; ii < flags.length; ii++ ) 63 if( f = $.trim( msgs[i][ flags[ii] ] ) ) 64 msgs[i].flags[ msgs[i].flags.length ] = f; 65 66 msgs[i].flags = msgs[i].flags.join(','); 67 } 68 69 ( options.success || options.complete )( {"rows": msgs, 70 "records": msgs.length, 71 "page": params["page"], 72 "total": Math.ceil( msgs.num_msgs / params["rows"] )} ); 73 } 74 } 75 } 76 }); 8 months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec']; 77 9 78 10 var BASE_PATH = '../prototype/'; … … 146 78 } 147 79 148 function numberMonths (months){149 switch(months){150 case 'Jan':151 return 1;152 case 'Feb':153 return 2;154 case 'Mar':155 return 3;156 case 'Apr':157 return 4;158 case 'May':159 return 5;160 case 'June':161 return 6;162 case 'July':163 return 7;164 case 'Aug':165 return 8;166 case 'Sept':167 return 9;168 case 'Oct':169 return 10;170 case 'Nov':171 return 11;172 case 'Dec':173 return 12;174 }175 }176 177 80 NormaliseFrom = function(cellvalue, options, rowObject) { 178 81 rowObject['flags'] = rowObject['flags'].split(","); … … 189 92 date2Time = function (timestamp) { 190 93 date = new Date(); 94 if( typeof timestamp === "string" ) 95 timestamp = parseInt( timestamp, 10 ); 191 96 dat = new Date(timestamp); 192 97 if ((date.getTime() - timestamp) < (24*60*60*1000)) { … … 196 101 if(is_ie){ 197 102 var b = date.toString().split(' '); 198 var c = b[2] + "/" + numberMonths(b[1]) + "/" + b[5];103 var c = b[2] + "/" + months.indexOf(b[1]) + "/" + b[5]; 199 104 return '<span class="datable">' + c + '</span>'; 200 105 }else{ … … 209 114 // jQuery('#foldertree').attr('tabIndex', '1').focus(); 210 115 } 211 212 116 213 117 selectedMessagesCount = function() { … … 231 135 var selectedFolder = {}; 232 136 233 function adaptOffline( data )234 {235 if( preferences.use_local_messages == 1 || expresso_offline)236 {237 var folders = expresso_local_messages.list_local_folders();238 239 var stripParents = /^(.*)\/([^\/]*)/;240 241 $.each( folders, function( i, folder ){242 243 if(typeof(folder) == 'undefined') return;244 245 var id = 'local_messages/' + folder[0];246 247 var parts = stripParents.exec( id );248 249 data[data.length] = {'id' : id,250 'commonName' : parts[2],251 'parentFolder' : parts[1]};252 });253 }254 255 return( data );256 257 }258 259 137 $mailpreview_tabs_label_length = 15; 260 138 … … 263 141 jQuery('#buttons-container .button').button(); 264 142 265 jQuery.ajax({ 266 url: BASE_PATH + "REST.php?q=folder", 267 dataType: 'json', 268 269 success: function( data ){ 270 271 data = adaptOffline( data ); 272 273 var tree1 = new Array(); 274 var tree2 = new Array(); 275 var tree3 = new Array(); 276 for (var i=0; i<data.length; i++) { 277 278 if (/^INBOX/.test(data[i].id)) { 279 if (!unorphanize(tree1, data[i])) { 280 data[i].children = new Array(); 281 tree1.push(data[i]); 282 } 283 } 284 else if (/^user/.test(data[i].id)) { 285 if (!unorphanize(tree2, data[i])) { 286 data[i].children = new Array(); 287 tree2.push(data[i]); 288 } 289 } 290 else if (/^local_messages/.test(data[i].id)) { 291 if (!unorphanize(tree3, data[i])) { 292 data[i].children = new Array(); 293 tree3.push(data[i]); 294 } 295 } 296 297 } 298 299 var firstFolder = jQuery("#foldertree-container") 300 .removeClass('empty-container') 301 .html(DataLayer.render(BASE_PATH + 'api/templates/foldertree.ejs', {folders: [tree1, tree2, tree3]})) 302 .find("#foldertree").treeview() 303 .click(function(event){ 304 //request new selected folder messages 305 var target = $(event.target); 306 307 if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable, .lastExpandable, .treeview') ) 308 return; 309 310 if( !target.attr('id') ) 311 target = target.parent(); 312 313 if (target.attr('id') == "foldertree") return; 314 315 var targetId = target.attr('id'); 316 var child = target.find('.folder'); 317 318 $('.filetree span.folder.selected').removeClass('selected'); 319 if(!target.is('#foldertree > .expandable, #foldertree > .collapsable')) 320 $(target).children('.folder').addClass('selected'); 321 322 selectedFolder = { 323 id: targetId, 324 name: child.attr('title'), 325 'class': child.attr('class') 326 }; 327 328 var grid = $("#message_attacher_grid"), offlineCase = ""; 329 330 if( !targetId.indexOf( 'local_messages/' ) ) 331 offlineCase = ":offline"; 332 333 334 grid.jqGrid('setGridParam',{url:BASE_PATH + 'REST.php'+offlineCase+'?q=folder/'+targetId.replace(dashes, '.')+'/message'}) 335 .trigger("reloadGrid") 336 .jqGrid('setCaption', '<span class="'+child.attr('class')+'">'+child.attr('title')+'</span>'); 337 }) 338 .find('span:first-child'); 339 $('span.folder.inbox').addClass('selected'); 340 selectedFolder = { 341 id: firstFolder.parent().attr('id'), 342 name: firstFolder.attr('title'), 343 'class': firstFolder.attr('class') 344 }; 345 346 //jqgrid 347 jQuery("#mailgrid-container") 348 .removeClass('empty-container') 349 .html(DataLayer.render(BASE_PATH + 'api/templates/messagegrid.ejs', {})) 350 .find("#message_attacher_grid") 351 .jqGrid({ 352 url:BASE_PATH + 'REST.php?q=folder/INBOX/message', 353 datatype: "json", 354 mtype: 'GET', 355 colNames:['#',' ', 'De', 'Assunto', 'Data', 'Tamanho'], 356 colModel:[ 357 {name:'msg_number',index:'msg_number', width:45, hidden:true, sortable:false}, 358 {name:'flags',index:'msg_number',edittype: 'image', width:100, sortable:false, formatter:flags2Class, title :false}, 359 {name:'from.name',index:'msg_number', width:70, sortable:false, formatter:NormaliseFrom}, 360 {name:'subject',index:'subject', width:245, sortable:false,formatter:NormaliseSubject}, 361 {name:'timestamp',index:'timestamp', width:65, align:"center", sortable:false, formatter:date2Time}, 362 {name:'size',index:'size', width:55, align:"right", sortable:false, formatter:bytes2Size} 363 ], 364 jsonReader : { 365 root:"rows", 366 page: "page", 367 total: "total", 368 records: "records", 369 repeatitems: false, 370 id: "0" 371 }, 372 rowNum:10, 373 rowList:[10,25,50], 374 pager: '#message_attacher_grid_pager', 375 sortname: 'id', 376 viewrecords: true, 377 sortorder: "desc", 378 multiselect: true, 379 autowidth: true, 380 loadComplete: function(data) { 381 lastLoadedMessages = data.rows; 382 383 // aplica o contador 384 jQuery('.timable').each(function (i) { 385 jQuery(this).countdown({ 386 since: new Date(parseInt(this.title)), 387 significant: 1, 388 layout: 'há {d<}{dn} {dl} {d>}{h<}{hn} {hl} {h>}{m<}{mn} {ml} {m>}{s<}{sn} {sl}{s>}', 389 description: ' atrás' 390 }); 391 }); 392 393 // reconstrói a seleção das mensagens mesmo depois da mudança de pasta 394 if (selectedMessages[selectedFolder.id]) { 395 for (var message in selectedMessages[selectedFolder.id]){ 396 for (var j=0; j<data.rows.length; j++){ 397 if (selectedMessages[selectedFolder.id][message] && message == data.rows[j].msg_number) { 398 jQuery("#message_attacher_grid").setSelection(jQuery("#message_attacher_grid").getDataIDs()[j], false); 399 } 400 } 401 } 402 } 403 $('#cb_message_attacher_grid').css('display', 'none'); 404 405 }, 406 onSelectRow: function (id, selected) { 407 var message = false; 408 for (var i=0; i<lastLoadedMessages.length; i++){ 409 if (lastLoadedMessages[i].msg_number == id) { 410 message = lastLoadedMessages[i]; 411 break; 412 } 413 } 414 415 var tabPanelTemplateId = 'mailpreview_tab_' + selectedFolder.id.replace(/[.\/]/g, '_') + '_' + message.msg_number; 416 var tabPanelTemplateId = tabPanelTemplateId.replace(/[\s\/]/g, '-'); 417 418 if (selected) { 419 if (onceOpenedMessages[selectedFolder.id] && onceOpenedMessages[selectedFolder.id][message.msg_number]) { 420 if (!selectedMessages[selectedFolder.id]) 421 selectedMessages[selectedFolder.id] = {}; 422 423 selectedMessages[selectedFolder.id][message.msg_number] = true; 424 $('#mailpreview-container').unblock(); 425 426 var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 427 if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 428 tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 429 430 if (!$('#' + tabPanelTemplateId).length) { 431 $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 432 .find('.message.empty-container').hide().end() 433 .find('#' + tabPanelTemplateId).html(onceOpenedMessages[selectedFolder.id][message.msg_number].body); 434 } else { 435 $mailpreview_tabs.tabs('select', '#' + tabPanelTemplateId) 436 .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 437 } 438 439 } else { 440 jQuery('#mailpreview_container').block({ 441 message: '<div id="loading-content"><div class="image"></div></div>', 442 css: { 443 backgroundImage: 'url('+BASE_PATH+'modules/attach_message/images/loading.gif)', 444 backgroundRepeat: 'no-repeat', 445 backgroundPosition: 'center', 446 backgroundColor: 'transparent', 447 width: '32px', 448 height: '32px', 449 border:'none' 450 }, 451 overlayCSS: { 452 backgroundColor: '#CCC', 453 opacity: 0.5 454 } 455 }); 456 457 var offlineCase = ""; 458 459 if( !selectedFolder.id.indexOf( 'local_messages/' ) ) 460 offlineCase = ":offline"; 461 462 if (!selectedMessages[selectedFolder.id]) 463 selectedMessages[selectedFolder.id] = {}; 464 selectedMessages[selectedFolder.id][message.msg_number] = true; 465 $.ajax({ 466 accepts: 'text/html', 467 url: BASE_PATH + 'REST.php'+offlineCase+'?q=folder/'+selectedFolder.id.replace(dashes, '.')+'/message/'+id, 468 dataType: 'json', 469 success: function( mail_preview ){ 470 //selectedMessagesCount(); 471 if (!onceOpenedMessages[selectedFolder.id]) 472 onceOpenedMessages[selectedFolder.id] = {}; 473 onceOpenedMessages[selectedFolder.id][message.msg_number] = jQuery.extend(true, message, mail_preview); 474 475 $('#mailpreview_container').unblock(); 476 477 var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 478 if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 479 tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 480 selectedMessagesCount(); 481 482 if (!$('#' + tabPanelTemplateId).length) { 483 $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 484 .find('.message.empty-container').hide().end() 485 .find('#' + tabPanelTemplateId).html(onceOpenedMessages[selectedFolder.id][message.msg_number].body) 486 .prepend( 487 '<div class="mailpreview-message-info">' + 488 get_lang('Subject') + ': ' + 489 html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject) + 490 '</div>' 491 ) 492 .find('[class^="ExpressoCssWrapper"]').addClass("mailpreview-message-body"); 493 } else { 494 $mailpreview_tabs.tabs('select', '#' + tabPanelTemplateId) 495 .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 496 } 497 } 498 }); 499 } 500 } else { 501 /** 502 * if you wants to remove tab on unselect message, 503 * but still needs to uselect message on remove tab. 504 * 505 */ 506 /* 507 if ($('#' + tabPanelTemplateId).length) { 508 $mailpreview_tabs.tabs('remove', '#' + tabPanelTemplateId); 509 } 510 */ 511 selectedMessages[selectedFolder.id][message.msg_number] = false; 512 $mailpreview_tabs.find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').addClass('preview-message-unselected'); 513 } 514 515 if (onceOpenedMessages[selectedFolder.id] && onceOpenedMessages[selectedFolder.id][message.msg_number]) 516 selectedMessagesCount(); 517 }, 518 caption: '<span class="'+selectedFolder['class']+'">'+selectedFolder.name+'</span>' 519 }); 520 //.jqGrid('navGrid','#message_attacher_grid_pager',{edit:false,add:false,del:false}); 521 var title = [get_lang("First page"), get_lang("Prev page"), get_lang("Next page"), get_lang("Last page")]; 522 $("#first_message_attacher_grid_pager").attr("title",title[0]); 523 $("#prev_message_attacher_grid_pager").attr("title",title[1]); 524 $("#next_message_attacher_grid_pager").attr("title",title[2]); 525 $("#last_message_attacher_grid_pager").attr("title",title[3]); 526 } 143 var firstFolder = jQuery("#foldertree-container") 144 .removeClass('empty-container') 145 .html(DataLayer.render(BASE_PATH + 'api/templates/foldertree.ejs', 'folder:tree', false, false, true)) 146 .find("#foldertree").treeview() 147 .click(function(event){ 148 //request new selected folder messages 149 var target = $(event.target); 150 151 if( target.is('.collapsable-hitarea, .expandable-hitarea, .lastCollapsable, .lastExpandable, .treeview') ) 152 return; 153 154 if( !target.attr('id') ) 155 target = target.parent(); 156 157 if (target.attr('id') == "foldertree") return; 158 159 var targetId = target.attr('id'); 160 var child = target.find('.folder'); 161 162 $('.filetree span.folder.selected').removeClass('selected'); 163 if(!target.is('#foldertree > .expandable, #foldertree > .collapsable')) 164 $(target).children('.folder').addClass('selected'); 165 166 selectedFolder = { 167 id: targetId, 168 name: child.attr('title'), 169 'class': child.attr('class') 170 }; 171 172 current_folder = targetId.replace(dashes, '.'); 173 174 $("#message_attacher_grid").trigger("reloadGrid") 175 .jqGrid('setCaption', '<span class="'+child.attr('class')+'">'+child.attr('title')+'</span>'); 176 }) 177 .find('span:first-child'); 178 $('span.folder.inbox').addClass('selected'); 179 selectedFolder = { 180 id: firstFolder.parent().attr('id'), 181 name: firstFolder.attr('title'), 182 'class': firstFolder.attr('class') 183 }; 184 185 //jqgrid 186 jQuery("#mailgrid-container") 187 .removeClass('empty-container') 188 .html(DataLayer.render(BASE_PATH + 'api/templates/messagegrid.ejs', {})) 189 .find("#message_attacher_grid") 190 .jqGrid({ 191 url: 'message:jqGrid', 192 datatype: "json", 193 mtype: 'GET', 194 colNames:['#',' ', 'De', 'Assunto', 'Data', 'Tamanho'], 195 colModel:[ 196 {name:'msg_number',index:'msg_number', width:45, sortable:false, hidden:true}, 197 {name:'flags', index:'msg_number', width:100, sortable:false, formatter:flags2Class, edittype: 'image', title :false}, 198 {name:'from.name', index:'msg_number', width:70, sortable:false, formatter:NormaliseFrom}, 199 {name:'subject', index:'subject', width:245, sortable:false, formatter:NormaliseSubject}, 200 {name:'timestamp', index:'timestamp', width:65, sortable:false, formatter:date2Time, align:"center"}, 201 {name:'size', index:'size', width:55, sortable:false, formatter:bytes2Size, align:"right"} 202 ], 203 jsonReader : { 204 root:"rows", 205 page: "page", 206 total: "total", 207 records: "records", 208 repeatitems: false, 209 id: "0" 210 }, 211 rowNum:10, 212 rowList:[10,25,50], 213 pager: '#message_attacher_grid_pager', 214 sortname: 'id', 215 viewrecords: true, 216 sortorder: "desc", 217 multiselect: true, 218 autowidth: true, 219 loadComplete: function(data) { 220 lastLoadedMessages = data.rows; 221 222 // aplica o contador 223 jQuery('.timable').each(function (i) { 224 jQuery(this).countdown({ 225 since: new Date(parseInt(this.title)), 226 significant: 1, 227 layout: 'há {d<}{dn} {dl} {d>}{h<}{hn} {hl} {h>}{m<}{mn} {ml} {m>}{s<}{sn} {sl}{s>}', 228 description: ' atrás' 229 }); 230 }); 231 232 // reconstrói a seleção das mensagens mesmo depois da mudança de pasta 233 if (selectedMessages[selectedFolder.id]) { 234 for (var message in selectedMessages[selectedFolder.id]){ 235 for (var j=0; j<data.rows.length; j++){ 236 if (selectedMessages[selectedFolder.id][message] && message == data.rows[j].msg_number) { 237 jQuery("#message_attacher_grid").setSelection(jQuery("#message_attacher_grid").getDataIDs()[j], false); 238 } 239 } 240 } 241 } 242 $('#cb_message_attacher_grid').css('display', 'none'); 243 244 }, 245 onSelectRow: function (id, selected) { 246 var message = false; 247 for (var i=0; i<lastLoadedMessages.length; i++){ 248 if (lastLoadedMessages[i].msg_number == id) { 249 message = lastLoadedMessages[i]; 250 break; 251 } 252 } 253 254 var tabPanelTemplateId = 'mailpreview_tab_' + selectedFolder.id.replace(/[.\/]/g, '_') + '_' + message.msg_number; 255 var tabPanelTemplateId = tabPanelTemplateId.replace(/[\s\/]/g, '-'); 256 257 if (selected) { 258 if (onceOpenedMessages[selectedFolder.id] && onceOpenedMessages[selectedFolder.id][message.msg_number]) { 259 if (!selectedMessages[selectedFolder.id]) 260 selectedMessages[selectedFolder.id] = {}; 261 262 selectedMessages[selectedFolder.id][message.msg_number] = true; 263 $('#mailpreview-container').unblock(); 264 265 var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 266 if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 267 tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 268 269 if (!$('#' + tabPanelTemplateId).length) { 270 $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 271 .find('.message.empty-container').hide().end() 272 .find('#' + tabPanelTemplateId).html(onceOpenedMessages[selectedFolder.id][message.msg_number].body); 273 } else { 274 $mailpreview_tabs.tabs('select', '#' + tabPanelTemplateId) 275 .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 276 } 277 278 } else { 279 jQuery('#mailpreview_container').block({ 280 message: '<div id="loading-content"><div class="image"></div></div>', 281 css: { 282 backgroundImage: 'url('+BASE_PATH+'modules/attach_message/images/loading.gif)', 283 backgroundRepeat: 'no-repeat', 284 backgroundPosition: 'center', 285 backgroundColor: 'transparent', 286 width: '32px', 287 height: '32px', 288 border:'none' 289 }, 290 overlayCSS: { 291 backgroundColor: '#CCC', 292 opacity: 0.5 293 } 294 }); 295 296 if (!selectedMessages[selectedFolder.id]) 297 selectedMessages[selectedFolder.id] = {}; 298 selectedMessages[selectedFolder.id][message.msg_number] = true; 299 300 var folder = selectedFolder.id.replace(dashes, '.'), mail_preview = null; 301 302 if( !folder.indexOf( 'local_messages/' ) ) 303 { 304 mail_preview = expresso_local_messages.get_local_mail( id ); 305 mail_preview.eml = expresso_local_messages.get_src( mail_preview.url_export_file ); 306 } 307 else 308 mail_preview = DataLayer.get( 'message', { filter: id, criteria: { properties: {context:{folder:folder}} } } ); 309 310 if (!onceOpenedMessages[selectedFolder.id]) 311 onceOpenedMessages[selectedFolder.id] = {}; 312 onceOpenedMessages[selectedFolder.id][message.msg_number] = jQuery.extend(true, message, mail_preview); 313 314 $('#mailpreview_container').unblock(); 315 316 var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 317 if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 318 tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 319 selectedMessagesCount(); 320 321 if (!$('#' + tabPanelTemplateId).length) { 322 $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 323 .find('.message.empty-container').hide().end() 324 .find('#' + tabPanelTemplateId).html(onceOpenedMessages[selectedFolder.id][message.msg_number].body) 325 .prepend( 326 '<div class="mailpreview-message-info">' + 327 get_lang('Subject') + ': ' + 328 html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject) + 329 '</div>' 330 ) 331 .find('[class^="ExpressoCssWrapper"]').addClass("mailpreview-message-body"); 332 } else { 333 $mailpreview_tabs.tabs('select', '#' + tabPanelTemplateId) 334 .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 335 } 336 } 337 } else { 338 /** 339 * if you wants to remove tab on unselect message, 340 * but still needs to uselect message on remove tab. 341 * 342 */ 343 /* 344 if ($('#' + tabPanelTemplateId).length) { 345 $mailpreview_tabs.tabs('remove', '#' + tabPanelTemplateId); 346 } 347 */ 348 selectedMessages[selectedFolder.id][message.msg_number] = false; 349 $mailpreview_tabs.find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').addClass('preview-message-unselected'); 350 } 351 352 if (onceOpenedMessages[selectedFolder.id] && onceOpenedMessages[selectedFolder.id][message.msg_number]) 353 selectedMessagesCount(); 354 }, 355 caption: '<span class="'+selectedFolder['class']+'">'+selectedFolder.name+'</span>' 527 356 }); 528 357 //.jqGrid('navGrid','#message_attacher_grid_pager',{edit:false,add:false,del:false}); 358 var title = [get_lang("First page"), get_lang("Prev page"), get_lang("Next page"), get_lang("Last page")]; 359 $("#first_message_attacher_grid_pager").attr("title",title[0]); 360 $("#prev_message_attacher_grid_pager").attr("title",title[1]); 361 $("#next_message_attacher_grid_pager").attr("title",title[2]); 362 $("#last_message_attacher_grid_pager").attr("title",title[3]); 529 363 530 364 var $mailpreview_tabs = $( "#mailpreview_container").tabs({
Note: See TracChangeset
for help on using the changeset viewer.