office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
30 lines • 1.33 kB
JavaScript
import * as tslib_1 from "tslib";
import { BaseComponent, hoistMethods, unhoistMethods } from '../../Utilities';
var BaseDecorator = /** @class */ (function (_super) {
tslib_1.__extends(BaseDecorator, _super);
function BaseDecorator(props) {
var _this = _super.call(this, props) || this;
// tslint:disable-next-line:typedef
_this._skipComponentRefResolution = true;
_this._updateComposedComponentRef = _this._updateComposedComponentRef.bind(_this);
return _this;
}
/**
* Updates the ref to the component composed by the decorator, which will also take care of hoisting
* (and unhoisting as appropriate) methods from said component.
*
* Pass this method as the argument to the 'ref' property of the composed component.
*/
BaseDecorator.prototype._updateComposedComponentRef = function (composedComponentInstance) {
this._composedComponentInstance = composedComponentInstance;
if (composedComponentInstance) {
this._hoisted = hoistMethods(this, composedComponentInstance);
}
else if (this._hoisted) {
unhoistMethods(this, this._hoisted);
}
};
return BaseDecorator;
}(BaseComponent));
export { BaseDecorator };
//# sourceMappingURL=BaseDecorator.js.map