2013-11-16 06:21:12 +08:00
|
|
|
|
2014-09-05 06:49:03 +08:00
|
|
|
(function () {
|
2014-08-25 23:49:01 +08:00
|
|
|
|
|
|
|
'use strict';
|
2014-08-20 23:03:12 +08:00
|
|
|
|
|
|
|
var
|
2014-10-04 19:58:01 +08:00
|
|
|
_ = require('_'),
|
2014-08-25 23:49:01 +08:00
|
|
|
ko = require('ko'),
|
2014-09-02 08:15:31 +08:00
|
|
|
|
2014-10-04 19:58:01 +08:00
|
|
|
AbstractModel = require('Knoin/AbstractModel')
|
2014-08-20 23:03:12 +08:00
|
|
|
;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @param {string} sId
|
|
|
|
* @param {string} sEmail
|
|
|
|
* @constructor
|
|
|
|
*/
|
2015-02-06 23:26:20 +08:00
|
|
|
function IdentityModel(sId, sEmail)
|
2014-08-20 23:03:12 +08:00
|
|
|
{
|
2014-10-04 19:58:01 +08:00
|
|
|
AbstractModel.call(this, 'IdentityModel');
|
|
|
|
|
2015-02-06 23:26:20 +08:00
|
|
|
this.id = ko.observable(sId);
|
2014-08-20 23:03:12 +08:00
|
|
|
this.email = ko.observable(sEmail);
|
|
|
|
this.name = ko.observable('');
|
2015-02-06 23:26:20 +08:00
|
|
|
|
2014-08-20 23:03:12 +08:00
|
|
|
this.replyTo = ko.observable('');
|
|
|
|
this.bcc = ko.observable('');
|
|
|
|
|
2015-02-08 09:11:13 +08:00
|
|
|
this.signature = ko.observable('');
|
|
|
|
this.signatureInsertBefore = ko.observable(false);
|
|
|
|
|
2014-08-20 23:03:12 +08:00
|
|
|
this.deleteAccess = ko.observable(false);
|
2015-02-06 23:26:20 +08:00
|
|
|
this.canBeDeleted = ko.computed(function () {
|
|
|
|
return '' !== this.id();
|
|
|
|
}, this);
|
2014-08-20 23:03:12 +08:00
|
|
|
}
|
|
|
|
|
2014-10-04 19:58:01 +08:00
|
|
|
_.extend(IdentityModel.prototype, AbstractModel.prototype);
|
|
|
|
|
2014-08-20 23:03:12 +08:00
|
|
|
IdentityModel.prototype.formattedName = function ()
|
|
|
|
{
|
2015-02-06 23:26:20 +08:00
|
|
|
var
|
|
|
|
sName = this.name(),
|
|
|
|
sEmail = this.email()
|
|
|
|
;
|
2014-08-20 23:03:12 +08:00
|
|
|
|
2015-02-06 23:26:20 +08:00
|
|
|
return ('' !== sName) ? sName + ' (' + sEmail + ')' : sEmail;
|
2014-08-20 23:03:12 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = IdentityModel;
|
|
|
|
|
2014-09-05 06:49:03 +08:00
|
|
|
}());
|