snappymail/dev/Model/MessageStates.js

66 lines
1.5 KiB
JavaScript
Raw Normal View History

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
}());