(function(_super) { /** * A component with a value * @class * @augments hui.ui.Component * @param {Object} options * @param {any} options.value The value */ hui.ui.Editable = function(options) { _super.call(this, options); this.value = options.value; }; hui.ui.Editable.prototype = { setValue : function(value) { var changed = value !== this.value; this.value = value; if (changed) { this.fireValueChange(); } }, getValue : function() { return this.value; }, fireValueChange : function() { this.fire('valueChanged', this.value); hui.ui.firePropertyChange(this, 'value', this.value); hui.ui.callAncestors(this, 'childValueChanged', this.value); } }; hui.extend(hui.ui.Editable, _super); })(hui.ui.Component);