snappymail/dev/Model/EmailCollection.js

40 lines
899 B
JavaScript
Raw Normal View History

import { AbstractCollectionModel } from 'Model/AbstractCollection';
import { EmailModel } from 'Model/Email';
'use strict';
export class EmailCollectionModel extends AbstractCollectionModel
{
/**
* @param {?Array} json
* @returns {EmailCollectionModel}
*/
static reviveFromJson(items) {
2020-10-23 21:15:54 +08:00
return super.reviveFromJson(items, email => EmailModel.reviveFromJson(email));
}
/**
* @param {boolean=} friendlyView = false
* @param {boolean=} wrapWithLink = false
* @returns {string}
*/
toString(friendlyView = false, wrapWithLink = false) {
const result = [];
this.forEach(email => result.push(email.toLine(friendlyView, wrapWithLink)));
return result.join(', ');
}
/**
* @returns {string}
*/
toStringClear() {
const result = [];
this.forEach(email => {
2022-09-02 17:52:07 +08:00
if (email?.email && email?.name) {
result.push(email.email);
}
});
return result.join(', ');
}
}