snappymail/dev/Helper/Message.jsx

113 lines
1.9 KiB
React
Raw Normal View History

2016-05-23 01:35:09 +08:00
2016-06-07 05:57:52 +08:00
import {isNonEmptyArray, isUnd} from 'Common/Utils';
2016-05-23 01:35:09 +08:00
import EmailModel from 'Model/Email';
class MessageHelper
{
constructor() {}
/**
* @param {Array.<EmailModel>} emails
* @param {boolean=} friendlyView = false
* @param {boolean=} wrapWithLink = false
* @return {string}
*/
emailArrayToString(emails, friendlyView = false, wrapWithLink = false) {
let
result = [],
index = 0,
len = 0
;
2016-06-07 05:57:52 +08:00
if (isNonEmptyArray(emails))
2016-05-23 01:35:09 +08:00
{
for (index = 0, len = emails.length; index < len; index++)
{
result.push(emails[index].toLine(friendlyView, wrapWithLink));
}
}
return result.join(', ');
}
/**
* @param {Array.<EmailModel>} emails
* @return {string}
*/
emailArrayToStringClear(emails) {
let
result = [],
index = 0,
len = 0
;
2016-06-07 05:57:52 +08:00
if (isNonEmptyArray(emails))
2016-05-23 01:35:09 +08:00
{
for (index = 0, len = emails.length; index < len; index++)
{
if (emails[index] && emails[index].email && '' !== emails[index].name)
{
result.push(emails[index].email);
}
}
}
return result.join(', ');
}
/**
* @param {?Array} json
* @return {Array.<EmailModel>}
*/
emailArrayFromJson(json) {
let
index = 0,
len = 0,
email = null,
result = []
;
2016-06-07 05:57:52 +08:00
if (isNonEmptyArray(json))
2016-05-23 01:35:09 +08:00
{
for (index = 0, len = json.length; index < len; index++)
{
email = EmailModel.newInstanceFromJson(json[index]);
if (email)
{
result.push(email);
}
}
}
return result;
}
/**
* @param {Array.<EmailModel>} inputEmails
* @param {Object} unic
* @param {Array} localEmails
*/
replyHelper(inputEmails, unic, localEmails) {
if (inputEmails && 0 < inputEmails.length)
{
let index = 0;
const len = inputEmails.length;
for (; index < len; index++)
{
2016-06-07 05:57:52 +08:00
if (isUnd(unic[inputEmails[index].email]))
2016-05-23 01:35:09 +08:00
{
unic[inputEmails[index].email] = true;
localEmails.push(inputEmails[index]);
}
}
}
}
}
export default new MessageHelper();