UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

96 lines (95 loc) 5.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PopOverContainer = void 0; var tslib_1 = require("tslib"); var react_1 = (0, tslib_1.__importDefault)(require("react")); var helper_1 = require("../utils/helper"); var Overlay_1 = (0, tslib_1.__importDefault)(require("./Overlay")); var PopOver_1 = (0, tslib_1.__importDefault)(require("./PopOver")); var PopUp_1 = (0, tslib_1.__importDefault)(require("./PopUp")); var react_dom_1 = require("react-dom"); var PopOverContainer = /** @class */ (function (_super) { (0, tslib_1.__extends)(PopOverContainer, _super); function PopOverContainer() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.state = { isOpened: false }; return _this; } PopOverContainer.prototype.targetRef = function (target) { this.target = target ? (0, react_dom_1.findDOMNode)(target) : null; }; PopOverContainer.prototype.handleClick = function () { this.setState({ isOpened: true }); }; PopOverContainer.prototype.close = function () { var clearSearchValue = this.props.clearSearchValue; this.setState({ isOpened: false }, function () { clearSearchValue === null || clearSearchValue === void 0 ? void 0 : clearSearchValue(); }); }; PopOverContainer.prototype.getTarget = function () { return this.target || (0, react_dom_1.findDOMNode)(this); }; PopOverContainer.prototype.getParent = function () { var _a; return (_a = this.getTarget()) === null || _a === void 0 ? void 0 : _a.parentElement; }; PopOverContainer.prototype.render = function () { var _a = this.props, useMobileUI = _a.useMobileUI, children = _a.children, popOverContainer = _a.popOverContainer, popOverClassName = _a.popOverClassName, dropdownRender = _a.popOverRender, popOverHeat = _a.popOverHeat, popOverfooter = _a.popOverfooter, onActonClick = _a.onActonClick, multiple = _a.multiple; var mobileUI = useMobileUI && (0, helper_1.isMobile)(); return (react_1.default.createElement(react_1.default.Fragment, null, children({ isOpened: this.state.isOpened, onClick: this.handleClick, ref: this.targetRef }), mobileUI ? (react_1.default.createElement(PopUp_1.default, { isShow: this.state.isOpened, container: popOverContainer, className: popOverClassName, onHide: this.close, header: popOverHeat, footer: popOverfooter && popOverfooter(this.close), onActonClick: onActonClick, multiple: multiple, showClose: true }, dropdownRender({ onClose: this.close }))) : (react_1.default.createElement(Overlay_1.default, { container: this.getTarget, target: this.getTarget, placement: 'auto', show: this.state.isOpened }, react_1.default.createElement(PopOver_1.default, { overlay: true, className: popOverClassName, style: { minWidth: this.target ? Math.max(this.target.offsetWidth, 100) : 'auto' }, onHide: this.close }, dropdownRender({ onClose: this.close }), multiple && (popOverfooter === null || popOverfooter === void 0 ? void 0 : popOverfooter(this.close))))))); }; (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", [Object]), (0, tslib_1.__metadata)("design:returntype", void 0) ], PopOverContainer.prototype, "targetRef", null); (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", []), (0, tslib_1.__metadata)("design:returntype", void 0) ], PopOverContainer.prototype, "handleClick", null); (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", []), (0, tslib_1.__metadata)("design:returntype", void 0) ], PopOverContainer.prototype, "close", null); (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", []), (0, tslib_1.__metadata)("design:returntype", void 0) ], PopOverContainer.prototype, "getTarget", null); (0, tslib_1.__decorate)([ helper_1.autobind, (0, tslib_1.__metadata)("design:type", Function), (0, tslib_1.__metadata)("design:paramtypes", []), (0, tslib_1.__metadata)("design:returntype", void 0) ], PopOverContainer.prototype, "getParent", null); return PopOverContainer; }(react_1.default.Component)); exports.PopOverContainer = PopOverContainer; exports.default = PopOverContainer; //# sourceMappingURL=./components/PopOverContainer.js.map