UNPKG

@appbuckets/react-ui-core

Version:

Core utilities built for AppBuckets React UI Framework

42 lines (39 loc) 1.47 kB
import { __extends } from 'tslib'; import * as React from 'react'; import NodeRegistry from './lib/NodeRegistry.js'; import getNodeRefFromProps from './lib/getNodeRefFromProps.js'; import handleClassNamesChange from './lib/handleClassNamesChange.js'; var nodeRegistry = new NodeRegistry(); /* -------- * Component Definition * -------- */ var MountNode = /** @class */ (function (_super) { __extends(MountNode, _super); function MountNode() { return (_super !== null && _super.apply(this, arguments)) || this; } MountNode.prototype.componentDidMount = function () { var nodeRef = getNodeRefFromProps(this.props); nodeRegistry.add(nodeRef, this); nodeRegistry.emit(nodeRef, handleClassNamesChange); }; MountNode.prototype.shouldComponentUpdate = function (nextProps) { /** Get next className */ var currentClassName = this.props.className; var nextClassName = nextProps.className; return nextClassName !== currentClassName; }; MountNode.prototype.componentDidUpdate = function () { nodeRegistry.emit(getNodeRefFromProps(this.props), handleClassNamesChange); }; MountNode.prototype.componentWillUnmount = function () { var nodeRef = getNodeRefFromProps(this.props); nodeRegistry.remove(nodeRef, this); nodeRegistry.emit(nodeRef, handleClassNamesChange); }; MountNode.prototype.render = function () { return null; }; return MountNode; })(React.Component); export { MountNode as default };