Changeset 7831 for sandbox/2.5.1-expresso1/prototype
- Timestamp:
- 02/01/13 15:16:26 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/2.5.1-expresso1/prototype/modules/attach_message/attach_message.js
r7543 r7831 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, function(i, flag){ 287 288 flags[ flag['@value'] ] = true; 289 290 }); 291 292 /*0*/ returns += (flags['seen'] ? '0.' : '1.') ; 293 /*1 2*/ returns += '0.'; 294 /*3*/ returns += (flags['unflagged'] ? '0.' : '1.') ; 295 /*4*/ returns += '0.'; 296 /*5*/ returns += '0'; 297 298 299 //Answered: parseInt(cellvalue[1]) ? 'Answered' : (parseInt(cellvalue[2]) ? 'Forwarded' : ''), 300 //Recent: parseInt(cellvalue[4]) ? 'Recent' : '', 301 //Draft: parseInt(cellvalue[5]) ? 'Draft' : '' 302 303 return returns; 257 304 } 258 305 … … 271 318 var tree2 = new Array(); 272 319 var tree3 = new Array(); 320 321 322 if(expresso_mail_archive.folders && !expresso_offline && expresso_mail_archive.enabled == true) { //MailArchive 323 //pega pastas locais do mailarchiver e insere no array de pastas 324 expresso_mail_archive.getFoldersList("home"); 325 treeFolders = expresso_mail_archive.folders; 326 327 for(var i=0; i<treeFolders.length; i++ ){ 328 mount_children_localfolders_list(treeFolders[i]); 329 } 330 331 for(var i = 0; i < treeFolders.length; i++){ 332 data.push(treeFolders[i]); 333 } 334 } 335 273 336 for (var i=0; i<data.length; i++) { 274 337 … … 286 349 } 287 350 else if (/^local_messages/.test(data[i].id)) { 288 if (!unorphanize(tree3, data[i])) {289 data[i].children = new Array();290 351 tree3.push(data[i]); 291 }292 352 } 293 353 … … 299 359 .find("#foldertree").treeview() 300 360 .click(function(event){ 361 301 362 //request new selected folder messages 302 363 var target = $(event.target); … … 325 386 var grid = $("#message_attacher_grid"), offlineCase = ""; 326 387 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>'); 388 if(targetId.indexOf( 'local_messages' ) == 0){ 389 //Entrar caso: Clicar em uma pasta que seja do arquivamento local 390 targetId = targetId.split("_")[2]; 391 392 expresso_mail_archive.getMessagesByFolder(targetId,"ALL"); 393 394 msgAll = expresso_mail_archive.msgAll; 395 396 var msgs = new Array(); 397 var from = ''; 398 var flag = ''; 399 400 401 $.each(msgAll, function(i, msg){ 402 from = $.parseJSON(msg['_from']); 403 flag = $.parseJSON(msg['_tags']); 404 id = msg['_id']; 405 406 var message = {}; 407 408 message['msg_number'] = id; 409 message['flags'] = archive_flag( flag ); 410 message['from.name'] = from['mailbox']['@name']; 411 message['subject'] = msg['_subject']; 412 message['timestamp'] = msg['_receivedDate']; 413 message['size'] = msg['_size']; 414 message['id'] = id; 415 msgs.push( message ); 416 417 }); 418 419 grid.jqGrid("clearGridData", true); 420 grid.jqGrid('setGridParam',{datatype: "local",data: msgs}) 421 .trigger("reloadGrid") 422 .jqGrid('setCaption', '<span class="'+child.attr('class')+'">'+child.attr('title')+'</span>'); 423 424 } else { 425 if( !targetId.indexOf( 'local_messages/' ) ) 426 offlineCase = ":offline"; 427 428 grid.jqGrid('setGridParam',{datatype: "json", url:BASE_PATH + 'REST.php'+offlineCase+'?q=folder/'+targetId.replace(dashes, '.')+'/message'}) 429 .trigger("reloadGrid") 430 .jqGrid('setCaption', '<span class="'+child.attr('class')+'">'+child.attr('title')+'</span>'); 431 } 432 433 334 434 }) 335 435 .find('span:first-child'); 336 $('span.folder.inbox'). addClass('selected');436 $('span.folder.inbox').parents(".ui-dialog").find("li#INBOX span").addClass('selected'); 337 437 selectedFolder = { 338 438 id: firstFolder.parent().attr('id'), … … 388 488 }); 389 489 390 // reconstr ói a seleção das mensagens mesmo depois da mudança de pasta490 // reconstrói a seleção das mensagens mesmo depois da mudança de pasta 391 491 if (selectedMessages[selectedFolder.id]) { 392 492 for (var message in selectedMessages[selectedFolder.id]){ … … 409 509 } 410 510 } 411 412 511 var tabPanelTemplateId = 'mailpreview_tab_' + selectedFolder.id.replace(/[.\/]/g, '_') + '_' + message.msg_number; 413 512 var tabPanelTemplateId = tabPanelTemplateId.replace(/[\s\/]/g, '-'); 414 513 415 514 if (selected) { 515 416 516 if (onceOpenedMessages[selectedFolder.id] && onceOpenedMessages[selectedFolder.id][message.msg_number]) { 417 517 if (!selectedMessages[selectedFolder.id]) … … 433 533 .find('#' + tabPanelTemplateId + ', [href="#' + tabPanelTemplateId + '"]').removeClass('preview-message-unselected'); 434 534 } 435 535 536 436 537 } else { 437 538 jQuery('#mailpreview_container').block({ … … 460 561 selectedMessages[selectedFolder.id] = {}; 461 562 selectedMessages[selectedFolder.id][message.msg_number] = true; 563 564 565 if(selectedFolder['id'].indexOf("local_messages_") != -1 && false){ 566 // Arrumar isso! 567 expresso_mail_archive.getMessageInfo(id); 568 expresso_mail_archive.getMessageBodies([id]); 569 570 var body = expresso_mail_archive.bodyPreview; 571 var subject = expresso_mail_archive.subjectPreview; 572 } 573 462 574 $.ajax({ 463 575 accepts: 'text/html', … … 465 577 dataType: 'json', 466 578 success: function( mail_preview ){ 579 467 580 //selectedMessagesCount(); 468 581 if (!onceOpenedMessages[selectedFolder.id])
Note: See TracChangeset
for help on using the changeset viewer.