/** * @provides javelin-workboard-card * @requires javelin-install * @javelin */ JX.install('WorkboardCard', { construct: function(column, phid) { this._column = column; this._phid = phid; }, members: { _column: null, _phid: null, _root: null, getPHID: function() { return this._phid; }, getColumn: function() { return this._column; }, setColumn: function(column) { this._column = column; }, getProperties: function() { return this.getColumn().getBoard().getObjectProperties(this.getPHID()); }, getPoints: function() { return this.getProperties().points; }, getStatus: function() { return this.getProperties().status; }, getNode: function() { if (!this._root) { var phid = this.getPHID(); var template = this.getColumn().getBoard().getCardTemplate(phid); this._root = JX.$H(template).getFragment().firstChild; JX.Stratcom.getData(this._root).objectPHID = this.getPHID(); } return this._root; }, redraw: function() { var old_node = this._root; this._root = null; var new_node = this.getNode(); if (old_node && old_node.parentNode) { JX.DOM.replace(old_node, new_node); } return this; } } });