- Timestamp:
- 06/14/12 23:39:50 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/expressoServiceImap/prototype/modules/attach_message/attach_message.js
r6486 r6509 1 // $.storage = new $.store();2 3 isOffline = /[A-z0-9-_\/\.]*:offline\?(.*)/;4 breakParams = /[&=]/;5 dots = /\./gi;6 dashes = /\//gi;7 flags = [ 'Attachment', 'Forwarded' ,'Recent', 'Unseen', 'Answered', 'Draft', 'Deleted', 'Flagged', 'Followupflag', 'Label' ];8 months = ['Jan','Feb','Mar','Apr','May','June','July','Aug','Sept','Oct','Nov','Dec'];9 10 1 var BASE_PATH = '../prototype/'; 11 //BASE_PATH = '../';12 //encontra os pais de todas as pastas e cria uma nova estrutura adicionando os filhos a um array no atributo 'children' do respectivo pai13 unorphanize = function(root, element) {14 var ok = false;15 for (var i=0; i<root.length; i++) {16 if (root[i].id == element.parentFolder) {17 element.children = new Array();18 root[i].children.push(element);19 return true;20 } else if (ok = unorphanize(root[i].children, element)) {21 break;22 }23 }24 25 return ok;26 }27 28 /* --- helpers --- */29 bytes2Size = function(bytes) {30 var sizes = ['B', 'KB', 'MB', 'GB', 'TB'];31 if (bytes == 0) return 'n/a';32 var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024)));33 var size = (i<2) ? Math.round((bytes / Math.pow(1024, i))) : Math.round((bytes / Math.pow(1024, i)) * 100)/100;34 return size + ' ' + sizes[i];35 }36 37 flags2Class = function(cellvalue, options, rowObject) {38 var classes = '';39 cellvalue = cellvalue.split(',');40 cell = {41 Unseen: parseInt(cellvalue[0]) ? 'Unseen' : 'Seen',42 Answered: parseInt(cellvalue[1]) ? 'Answered' : (parseInt(cellvalue[2]) ? 'Forwarded' : ''),43 Flagged: parseInt(cellvalue[3]) ? 'Flagged' : '',44 Recent: parseInt(cellvalue[4]) ? 'Recent' : '',45 Draft: parseInt(cellvalue[5]) ? 'Draft' : ''46 };47 for(var flag in cell){48 classes += '<span class="flags '+ (cell[flag]).toLowerCase() + '"' + (cell[flag] != "" ? 'title="'+ get_lang(cell[flag])+'"' : '')+'> </span>';49 }50 if(rowObject.labels){51 var titles = [];52 var count = 0;53 for(i in rowObject.labels){54 titles[count] = " "+rowObject.labels[i].name;55 count++;56 }57 titles = titles.join();58 classes += '<span class="flags labeled" title="'+titles+'"> </span>';59 }else{60 classes += '<span class="flags"> </span>';61 }62 63 if(rowObject.followupflagged){64 if(rowObject.followupflagged.followupflag.id < 7){65 var nameFollowupflag = get_lang(rowObject.followupflagged.followupflag.name);66 }else{67 var nameFollowupflag = rowObject.followupflagged.followupflag.name;68 }69 if(rowObject.followupflagged.isDone == 1){70 classes += '<span class="flags followupflagged" title="'+nameFollowupflag+'" style="background:'+rowObject.followupflagged.backgroundColor+';"><img style=" margin-left:-3px;" src="../prototype/modules/mail/img/flagChecked.png"></span>';71 }else{72 classes += '<span class="flags followupflagged" title="'+nameFollowupflag+'" style="background:'+rowObject.followupflagged.backgroundColor+';"><img src="../prototype/modules/mail/img/flagEditor.png"></span>';73 }74 75 }76 77 return classes;78 }79 80 NormaliseFrom = function(cellvalue, options, rowObject) {81 rowObject['flags'] = rowObject['flags'].split(",");82 if(rowObject['flags'][rowObject['flags'].length-1] == 1){83 return get_lang(special_folders["Drafts"]);84 }85 return cellvalue;86 }87 88 NormaliseSubject = function(cellvalue, options, rowObject) {89 return html_entities(cellvalue);90 }91 92 date2Time = function (timestamp) {93 date = new Date();94 if( typeof timestamp === "string" )95 timestamp = parseInt( timestamp, 10 );96 dat = new Date(timestamp);97 if ((date.getTime() - timestamp) < (24*60*60*1000)) {98 return '<span class="timable" title="'+dat.getTime()+'"></span>';99 } else {100 date = new Date(timestamp);101 if(is_ie){102 var b = date.toString().split(' ');103 var c = b[2] + "/" + months.indexOf(b[1]) + "/" + b[5];104 return '<span class="datable">' + c + '</span>';105 }else{106 var b = date.toISOString().split("T")[0].split("-");107 var c = b[2] + "/" + b[1] + "/" + b[0];108 return '<span class="datable">' + c + '</span>';109 }110 }111 }112 113 changeTabIndex = function (elements) {114 // jQuery('#foldertree').attr('tabIndex', '1').focus();115 }116 117 selectedMessagesCount = function() {118 var byte_size = 0, total_messages = 0;119 for (var folder in selectedMessages) {120 for (var message in selectedMessages[folder]) {121 if (selectedMessages[folder][message]) {122 byte_size += parseInt(onceOpenedMessages[folder][message].size);123 total_messages++;124 }125 }126 }127 $("#selected_messages_number").html(total_messages).next().html(bytes2Size(byte_size));128 return total_messages;129 }130 2 131 3 var msgAttacherGrid = $("#message_attacher_grid"), msgsTotal = $("#selected_messages_number");
Note: See TracChangeset
for help on using the changeset viewer.