2015-03-18 20:33:48 +08:00
|
|
|
|
|
|
|
(function () {
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var
|
|
|
|
_ = require('_'),
|
|
|
|
ko = require('ko'),
|
|
|
|
|
2015-03-19 05:26:52 +08:00
|
|
|
// Enums = require('Common/Enums'),
|
|
|
|
// Utils = require('Common/Utils'),
|
|
|
|
//
|
|
|
|
// MessageHelper = require('Helper/Message'),
|
2015-03-18 20:33:48 +08:00
|
|
|
|
2015-03-19 05:26:52 +08:00
|
|
|
AbstractModel = require('Knoin/AbstractModel')
|
2015-03-18 20:33:48 +08:00
|
|
|
;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @constructor
|
|
|
|
*/
|
2015-03-19 05:26:52 +08:00
|
|
|
function MessageStatesModel()
|
2015-03-18 20:33:48 +08:00
|
|
|
{
|
2015-03-19 05:26:52 +08:00
|
|
|
AbstractModel.call(this, 'MessageStatesModel');
|
2015-03-18 20:33:48 +08:00
|
|
|
|
|
|
|
this.flags = {};
|
|
|
|
this.states = {};
|
|
|
|
|
|
|
|
this.flags.unseen = ko.observable(false);
|
|
|
|
this.flags.deleted = ko.observable(false);
|
|
|
|
this.flags.flagged = ko.observable(false);
|
|
|
|
this.flags.answered = ko.observable(false);
|
|
|
|
this.flags.forwarded = ko.observable(false);
|
|
|
|
|
|
|
|
this.states.checked = ko.observable(false);
|
|
|
|
this.states.deleted = ko.observable(false);
|
|
|
|
this.states.selected = ko.observable(false);
|
|
|
|
this.states.focused = ko.observable(false);
|
|
|
|
|
|
|
|
this.states.showReadReceipt = ko.observable(false);
|
|
|
|
this.states.showExternalImages = ko.observable(false);
|
|
|
|
|
2015-03-19 05:26:52 +08:00
|
|
|
this.states.hasUnseenSubMessages = ko.observable(false);
|
|
|
|
this.states.hasFlaggedSubMessages = ko.observable(false);
|
2015-03-18 20:33:48 +08:00
|
|
|
|
|
|
|
this.threads = ko.observableArray([]);
|
|
|
|
}
|
|
|
|
|
2015-03-19 05:26:52 +08:00
|
|
|
_.extend(MessageStatesModel.prototype, AbstractModel.prototype);
|
|
|
|
|
|
|
|
MessageStatesModel.prototype.flags = {};
|
|
|
|
MessageStatesModel.prototype.states = {};
|
2015-03-18 20:33:48 +08:00
|
|
|
|
2015-03-19 05:26:52 +08:00
|
|
|
MessageStatesModel.prototype.clear = function ()
|
2015-03-18 20:33:48 +08:00
|
|
|
{
|
|
|
|
this.flags.unseen(false);
|
|
|
|
this.flags.deleted(false);
|
|
|
|
this.flags.flagged(false);
|
|
|
|
this.flags.answered(false);
|
|
|
|
this.flags.forwarded(false);
|
|
|
|
|
|
|
|
this.threads([]);
|
|
|
|
};
|
|
|
|
|
2015-03-19 05:26:52 +08:00
|
|
|
module.exports = MessageStatesModel;
|
2015-03-18 20:33:48 +08:00
|
|
|
|
|
|
|
}());
|