rc-dialog
Version:
dialog ui component for react
82 lines (68 loc) • 2.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _Dialog = require('./Dialog');
var _Dialog2 = _interopRequireDefault(_Dialog);
var _getContainerRenderMixin = require('rc-util/lib/getContainerRenderMixin');
var _getContainerRenderMixin2 = _interopRequireDefault(_getContainerRenderMixin);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var __assign = undefined && undefined.__assign || Object.assign || function (t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) {
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
}
}
return t;
};
var DialogWrap = _react2["default"].createClass({
displayName: 'DialogWrap',
mixins: [(0, _getContainerRenderMixin2["default"])({
isVisible: function isVisible(instance) {
return instance.props.visible;
},
autoDestroy: false,
getComponent: function getComponent(instance, extra) {
return _react2["default"].createElement(_Dialog2["default"], __assign({}, instance.props, extra, { key: "dialog" }));
},
getContainer: function getContainer(instance) {
if (instance.props.getContainer) {
return instance.props.getContainer();
}
var container = document.createElement('div');
document.body.appendChild(container);
return container;
}
})],
getDefaultProps: function getDefaultProps() {
return {
visible: false
};
},
shouldComponentUpdate: function shouldComponentUpdate(_ref) {
var visible = _ref.visible;
return !!(this.props.visible || visible);
},
componentWillUnmount: function componentWillUnmount() {
if (this.props.visible) {
this.renderComponent({
afterClose: this.removeContainer,
onClose: function onClose() {},
visible: false
});
} else {
this.removeContainer();
}
},
getElement: function getElement(part) {
return this._component.getElement(part);
},
render: function render() {
return null;
}
});
exports["default"] = DialogWrap;
module.exports = exports['default'];