90 lines
2.5 KiB
JavaScript
90 lines
2.5 KiB
JavaScript
'use strict';
|
|
|
|
exports.__esModule = true;
|
|
|
|
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
|
|
|
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
|
|
|
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
|
|
|
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
|
|
|
var _inherits2 = require('babel-runtime/helpers/inherits');
|
|
|
|
var _inherits3 = _interopRequireDefault(_inherits2);
|
|
|
|
var _react = require('react');
|
|
|
|
var _react2 = _interopRequireDefault(_react);
|
|
|
|
var _propTypes = require('prop-types');
|
|
|
|
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
|
|
var _reactDom = require('react-dom');
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
|
|
|
var IS_REACT_16 = !!_reactDom.createPortal;
|
|
|
|
var SuggestionWrapper = function (_React$Component) {
|
|
(0, _inherits3['default'])(SuggestionWrapper, _React$Component);
|
|
|
|
function SuggestionWrapper() {
|
|
(0, _classCallCheck3['default'])(this, SuggestionWrapper);
|
|
return (0, _possibleConstructorReturn3['default'])(this, _React$Component.apply(this, arguments));
|
|
}
|
|
|
|
SuggestionWrapper.prototype.componentDidMount = function componentDidMount() {
|
|
this.renderOrReady();
|
|
};
|
|
|
|
SuggestionWrapper.prototype.componentDidUpdate = function componentDidUpdate() {
|
|
this.renderOrReady();
|
|
};
|
|
|
|
SuggestionWrapper.prototype.renderOrReady = function renderOrReady() {
|
|
if (IS_REACT_16) {
|
|
this.props.renderReady();
|
|
} else {
|
|
this.renderComponent();
|
|
}
|
|
};
|
|
|
|
SuggestionWrapper.prototype.renderComponent = function renderComponent() {
|
|
var _props = this.props,
|
|
children = _props.children,
|
|
container = _props.container,
|
|
renderReady = _props.renderReady;
|
|
|
|
(0, _reactDom.unstable_renderSubtreeIntoContainer)(this, children, container, function callback() {
|
|
if (renderReady) {
|
|
renderReady.call(this);
|
|
}
|
|
});
|
|
};
|
|
|
|
SuggestionWrapper.prototype.render = function render() {
|
|
if (IS_REACT_16) {
|
|
var _props2 = this.props,
|
|
children = _props2.children,
|
|
container = _props2.container;
|
|
|
|
return (0, _reactDom.createPortal)(children, container);
|
|
}
|
|
return null;
|
|
};
|
|
|
|
return SuggestionWrapper;
|
|
}(_react2['default'].Component);
|
|
|
|
exports['default'] = SuggestionWrapper;
|
|
|
|
|
|
SuggestionWrapper.propTypes = {
|
|
children: _propTypes2['default'].any,
|
|
renderReady: _propTypes2['default'].func,
|
|
container: _propTypes2['default'].any
|
|
};
|
|
module.exports = exports['default']; |