var _ = require('_'), ko = require('ko'), Utils = require('Common/Utils'), AbstractModel = require('Knoin/AbstractModel'); /** * @constructor * @param {string} sID * @param {string} sName * @param {string} sBody */ function TemplateModel(sID, sName, sBody) { AbstractModel.call(this, 'TemplateModel'); this.id = sID; this.name = sName; this.body = sBody; this.populated = true; this.deleteAccess = ko.observable(false); } _.extend(TemplateModel.prototype, AbstractModel.prototype); /** * @type {string} */ TemplateModel.prototype.id = ''; /** * @type {string} */ TemplateModel.prototype.name = ''; /** * @type {string} */ TemplateModel.prototype.body = ''; /** * @type {boolean} */ TemplateModel.prototype.populated = true; /** * @type {boolean} */ TemplateModel.prototype.parse = function(oItem) { var bResult = false; if (oItem && 'Object/Template' === oItem['@Object']) { this.id = Utils.pString(oItem.ID); this.name = Utils.pString(oItem.Name); this.body = Utils.pString(oItem.Body); this.populated = !!oItem.Populated; bResult = true; } return bResult; }; module.exports = TemplateModel;