Changeset 7907 for trunk/prototype/modules/attach_message/attach_message.js
- Timestamp:
- 02/22/13 12:37:16 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/attach_message/attach_message.js
r7543 r7907 231 231 var selectedFolder = {}; 232 232 233 function mount_children_localfolders_list(folder){ 234 folder.children = new Array(); 235 folder.id_search = folder.id; 236 folder.id = 'local_messages_'+folder.id, 237 folder.commonName = folder.name, 238 folder.parentId = folder.parentid, 239 folder.type = 'localFolder', 240 folder.name = folder.id, 241 folder.messageCount = { 242 total: folder.messages, 243 unseen: folder.unseen 244 } 245 246 if(folder.haschild){ 247 expresso_mail_archive.getFoldersList(folder.id_search); 248 folder.children = expresso_mail_archive.folders; 249 250 for(var i = 0; i < folder.children.length; i++){ 251 mount_children_localfolders_list(folder.children[i]); 252 } 253 254 } 255 } 233 256 function adaptOffline( data ) 234 257 { … … 254 277 255 278 return( data ); 256 279 } 280 281 function archive_flag( flagObj ){ 282 283 var flags = {}; 284 var returns = ''; 285 286 $.each( flagObj.tag , function(i, flag){ 287 flags[ flag['@value'] ] = true; 288 }); 289 290 returns += (flags['seen'] ? '0,' : '1,') ; 291 returns += (flags['answered'] && !flags['forwarded'] ? '1,' : '0,') ; 292 returns += (flags['forwarded'] ? '1,' : '0,') ; 293 returns += (flags['flagged'] || flags['importance_high'] ? '1,' : '0,') ; 294 returns += '0,0'; 295 296 return returns; 257 297 } 258 298 … … 271 311 var tree2 = new Array(); 272 312 var tree3 = new Array(); 313 314 if(preferences.use_local_messages == 1){ 315 if(expresso_mail_archive.folders && !expresso_offline && expresso_mail_archive.enabled == true) { //MailArchive 316 //pega pastas locais do mailarchiver e insere no array de pastas 317 expresso_mail_archive.getFoldersList("home"); 318 treeFolders = expresso_mail_archive.folders; 319 320 for(var i=0; i<treeFolders.length; i++ ){ 321 mount_children_localfolders_list(treeFolders[i]); 322 } 323 324 for(var i = 0; i < treeFolders.length; i++){ 325 data.push(treeFolders[i]); 326 } 327 } 328 } 329 273 330 for (var i=0; i<data.length; i++) { 274 331 … … 286 343 } 287 344 else if (/^local_messages/.test(data[i].id)) { 288 if (!unorphanize(tree3, data[i])) {289 data[i].children = new Array();290 345 tree3.push(data[i]); 291 }292 346 } 293 347 … … 299 353 .find("#foldertree").treeview() 300 354 .click(function(event){ 355 301 356 //request new selected folder messages 302 357 var target = $(event.target); … … 325 380 var grid = $("#message_attacher_grid"), offlineCase = ""; 326 381 327 if( !targetId.indexOf( 'local_messages/' ) ) 328 offlineCase = ":offline"; 329 330 331 grid.jqGrid('setGridParam',{url:BASE_PATH + 'REST.php'+offlineCase+'?q=folder/'+targetId.replace(dashes, '.')+'/message'}) 332 .trigger("reloadGrid") 333 .jqGrid('setCaption', '<span class="'+child.attr('class')+'">'+child.attr('title')+'</span>'); 382 if(targetId.indexOf( 'local_messages' ) == 0){ 383 //Entrar caso: Clicar em uma pasta que seja do arquivamento local 384 targetId = targetId.split("_")[2]; 385 386 expresso_mail_archive.getMessagesByFolder(targetId,"ALL"); 387 388 msgAll = expresso_mail_archive.msgAll; 389 390 var msgs = new Array(); 391 var from = ''; 392 var flag = ''; 393 394 $.each(msgAll, function(i, msg){ 395 from = $.parseJSON(msg['_from']); 396 397 if(!from){ 398 from = {"mailbox":{"name":"null","route":"null","localPart":"null","domain":"null"}}; 399 } 400 401 flag = $.parseJSON(msg['_tags']); 402 id = msg['_id']; 403 404 var message = {}; 405 406 message['msg_number'] = id; 407 message['flags'] = archive_flag( flag ); 408 message['from.name'] = from['mailbox']['@name']; 409 message['subject'] = msg['_subject']; 410 message['timestamp'] = msg['_receivedDate']; 411 message['size'] = msg['_size']; 412 message['id'] = id; 413 msgs.push( message ); 414 415 }); 416 417 grid.jqGrid("clearGridData", true); 418 grid.jqGrid('setGridParam',{datatype: "local",data: msgs}) 419 .trigger("reloadGrid") 420 .jqGrid('setCaption', '<span class="'+child.attr('class')+'">'+child.attr('title')+'</span>'); 421 422 } else { 423 if( !targetId.indexOf( 'local_messages/' ) ) 424 offlineCase = ":offline"; 425 426 grid.jqGrid('setGridParam',{datatype: "json", url:BASE_PATH + 'REST.php'+offlineCase+'?q=folder/'+targetId.replace(dashes, '.')+'/message'}) 427 .trigger("reloadGrid") 428 .jqGrid('setCaption', '<span class="'+child.attr('class')+'">'+child.attr('title')+'</span>'); 429 } 430 431 334 432 }) 335 433 .find('span:first-child'); 336 $('span.folder.inbox'). addClass('selected');434 $('span.folder.inbox').parents(".ui-dialog").find("li#INBOX span").addClass('selected'); 337 435 selectedFolder = { 338 436 id: firstFolder.parent().attr('id'), … … 409 507 } 410 508 } 411 412 509 var tabPanelTemplateId = 'mailpreview_tab_' + selectedFolder.id.replace(/[.\/]/g, '_') + '_' + message.msg_number; 413 510 var tabPanelTemplateId = tabPanelTemplateId.replace(/[\s\/]/g, '-'); 414 511 415 512 if (selected) { 513 if(selectedFolder['id'].indexOf("local_messages_") != -1){ 514 515 expresso_mail_archive.getPreviewToAttach(id); 516 517 var body = expresso_mail_archive.bodyPreview; 518 var subject = expresso_mail_archive.subjectPreview; 519 tabPanelTemplateLabel = subject.substring(0, $mailpreview_tabs_label_length) + '...'; 520 521 if (!$('#' + tabPanelTemplateId).length) { 522 $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 523 .find('.message.empty-container').hide().end() 524 .find('#' + tabPanelTemplateId).html(body) 525 .prepend( 526 '<div class="mailpreview-message-info">' + 527 get_lang('Subject') + ': ' + 528 html_entities(subject) + 529 '</div>' 530 ) 531 .find('[class^="ExpressoCssWrapper"]').addClass("mailpreview-message-body"); 532 } else { 533 $mailpreview_tabs.tabs('select', '#' + tabPanelTemplateId) 534 .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 535 } 536 } 416 537 if (onceOpenedMessages[selectedFolder.id] && onceOpenedMessages[selectedFolder.id][message.msg_number]) { 538 417 539 if (!selectedMessages[selectedFolder.id]) 418 540 selectedMessages[selectedFolder.id] = {}; … … 425 547 tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 426 548 427 if (!$('#' + tabPanelTemplateId).length) { 549 if (!$('#' + tabPanelTemplateId).length) { 428 550 $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 429 551 .find('.message.empty-container').hide().end() … … 433 555 .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 434 556 } 435 557 558 559 436 560 } else { 437 561 jQuery('#mailpreview_container').block({ … … 460 584 selectedMessages[selectedFolder.id] = {}; 461 585 selectedMessages[selectedFolder.id][message.msg_number] = true; 462 $.ajax({ 463 accepts: 'text/html', 464 url: BASE_PATH + 'REST.php'+offlineCase+'?q=folder/'+selectedFolder.id.replace(dashes, '.')+'/message/'+id, 465 dataType: 'json', 466 success: function( mail_preview ){ 467 //selectedMessagesCount(); 468 if (!onceOpenedMessages[selectedFolder.id]) 469 onceOpenedMessages[selectedFolder.id] = {}; 470 onceOpenedMessages[selectedFolder.id][message.msg_number] = jQuery.extend(true, message, mail_preview); 471 472 $('#mailpreview_container').unblock(); 473 474 var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 475 if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 476 tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 477 selectedMessagesCount(); 478 479 if (!$('#' + tabPanelTemplateId).length) { 480 $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 481 .find('.message.empty-container').hide().end() 482 .find('#' + tabPanelTemplateId).html(onceOpenedMessages[selectedFolder.id][message.msg_number].body) 483 .prepend( 484 '<div class="mailpreview-message-info">' + 485 get_lang('Subject') + ': ' + 486 html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject) + 487 '</div>' 488 ) 489 .find('[class^="ExpressoCssWrapper"]').addClass("mailpreview-message-body"); 490 } else { 491 $mailpreview_tabs.tabs('select', '#' + tabPanelTemplateId) 492 .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 493 } 494 } 495 }); 586 587 588 if(selectedFolder['id'].indexOf("local_messages_") != -1){ 589 $('#mailpreview_container').unblock(); 590 if (!onceOpenedMessages[selectedFolder.id]) 591 onceOpenedMessages[selectedFolder.id] = {}; 592 onceOpenedMessages[selectedFolder.id][message.msg_number] = message; 593 594 var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 595 if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 596 tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 597 selectedMessagesCount(); 598 } else { 599 $.ajax({ 600 accepts: 'text/html', 601 url: BASE_PATH + 'REST.php'+offlineCase+'?q=folder/'+selectedFolder.id.replace(dashes, '.')+'/message/'+id, 602 dataType: 'json', 603 success: function( mail_preview ){ 604 //selectedMessagesCount(); 605 if (!onceOpenedMessages[selectedFolder.id]) 606 onceOpenedMessages[selectedFolder.id] = {}; 607 onceOpenedMessages[selectedFolder.id][message.msg_number] = jQuery.extend(true, message, mail_preview); 608 609 $('#mailpreview_container').unblock(); 610 611 var tabPanelTemplateLabel = html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject); 612 if (tabPanelTemplateLabel.length > $mailpreview_tabs_label_length + 3) 613 tabPanelTemplateLabel = tabPanelTemplateLabel.substring(0, $mailpreview_tabs_label_length) + '...'; 614 selectedMessagesCount(); 615 616 if (!$('#' + tabPanelTemplateId).length) { 617 618 619 //tabPanelTemplateId - mailpreview_tab_INBOX_1110 620 //tabPanelTemplateLabel - Re: asduiahdih 621 622 $mailpreview_tabs.tabs("add", '#' + tabPanelTemplateId, tabPanelTemplateLabel) 623 .find('.message.empty-container').hide().end() 624 .find('#' + tabPanelTemplateId).html(onceOpenedMessages[selectedFolder.id][message.msg_number].body) 625 .prepend( 626 '<div class="mailpreview-message-info">' + 627 get_lang('Subject') + ': ' + 628 html_entities(onceOpenedMessages[selectedFolder.id][message.msg_number].subject) + 629 '</div>' 630 ) 631 .find('[class^="ExpressoCssWrapper"]').addClass("mailpreview-message-body"); 632 } else { 633 $mailpreview_tabs.tabs('select', '#' + tabPanelTemplateId) 634 .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 635 } 636 } 637 }); 638 } 496 639 } 497 640 } else {
Note: See TracChangeset
for help on using the changeset viewer.