var NodeBuilder = require ('./node-builder'); module.exports = new Class ({ Extends: NodeBuilder ,Properties: { /** * Main HTML node that represents the widget */ node: { type: Object ,get: function () { this.renderBase (); return this._node; } }, /** * CSS classes to be appendend to the node classes. */ class: { type: String ,set: function (x) { this._cssClass = x; this._refreshClass (); } ,get: function () { return this._node.className; } } } ,_node: null ,initialize: function (props) { this.doc = document; this.renderBase (); this.parent (props); } ,createRoot: function (tagName) { return this._node = this.createElement (tagName); } ,renderBase: function () { if (this._node) return; this.render (); this._refreshClass (); } ,_refreshClass: function () { if (this._node && this._cssClass) this._node.className = this._cssClass +' '+ this._node.className; } ,remove: function () { Vn.Node.remove (this._node); } });