amis
Version:
一种MIS页面生成工具
59 lines (58 loc) • 3.12 kB
JavaScript
"use strict";
/**
* @file PopUp
* @description
* @author fex
*/
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PopUp = void 0;
var tslib_1 = require("tslib");
var react_1 = (0, tslib_1.__importDefault)(require("react"));
var theme_1 = require("../theme");
var Transition_1 = tslib_1.__importStar(require("react-transition-group/Transition"));
var Portal_1 = (0, tslib_1.__importDefault)(require("react-overlays/Portal"));
var icons_1 = require("./icons");
var fadeStyles = (_a = {},
_a[Transition_1.ENTERED] = '',
_a[Transition_1.EXITING] = 'out',
_a[Transition_1.EXITED] = '',
_a[Transition_1.ENTERING] = 'in',
_a);
var PopUp = /** @class */ (function (_super) {
(0, tslib_1.__extends)(PopUp, _super);
function PopUp() {
return _super !== null && _super.apply(this, arguments) || this;
}
PopUp.prototype.componentDidMount = function () {
};
PopUp.prototype.handleClick = function (e) {
e.stopPropagation();
};
PopUp.prototype.render = function () {
var _this = this;
var _a = this.props, style = _a.style, children = _a.children, overlay = _a.overlay, onHide = _a.onHide, ns = _a.classPrefix, cx = _a.classnames, className = _a.className, isShow = _a.isShow, container = _a.container, hideClose = _a.hideClose, _b = _a.placement, placement = _b === void 0 ? 'center' : _b, rest = (0, tslib_1.__rest)(_a, ["style", "children", "overlay", "onHide", "classPrefix", "classnames", "className", "isShow", "container", "hideClose", "placement"]);
var outerStyle = (0, tslib_1.__assign)({}, style);
delete outerStyle.top;
return (react_1.default.createElement(Portal_1.default, { container: container },
react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, in: isShow, timeout: 500, appear: true }, function (status) {
return (react_1.default.createElement("div", (0, tslib_1.__assign)({ className: cx(ns + "PopUp", className, fadeStyles[status]), style: outerStyle }, rest, { onClick: _this.handleClick }),
overlay && (react_1.default.createElement("div", { className: ns + "PopUp-overlay", onClick: onHide })),
react_1.default.createElement("div", { className: cx(ns + "PopUp-inner") },
!hideClose && (react_1.default.createElement("div", { className: cx(ns + "PopUp-closeWrap", 'text-right') },
react_1.default.createElement(icons_1.Icon, { icon: "close", className: cx('icon', ns + "PopUp-close"), onClick: onHide }))),
react_1.default.createElement("div", { className: cx(ns + "PopUp-content", "justify-" + placement) }, children))));
})));
};
PopUp.defaultProps = {
className: '',
overlay: true,
isShow: false,
container: document.body,
hideClose: false,
};
return PopUp;
}(react_1.default.PureComponent));
exports.PopUp = PopUp;
exports.default = (0, theme_1.themeable)(PopUp);
//# sourceMappingURL=./components/PopUp.js.map