UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

91 lines (90 loc) 4.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); var antd_1 = require("antd"); var utils_1 = require("../../utils/utils"); var MobileModal = function (props) { var onCancel = props.onCancel, onOk = props.onOk, afterClose = props.afterClose, visible = props.visible, children = props.children, restProps = tslib_1.__rest(props, ["onCancel", "onOk", "afterClose", "visible", "children"]); // const [eventKey, setEventKey] = useState(''); var eventKeyRef = (0, react_1.useRef)(''); var handleCloseByState = function (e) { handleClose(e, true); }; var handleClose = function (e, isStateClose) { // e?.preventDefault(); // e?.stopPropagation(); // setTimeout(() => { // if (location.href.includes('?drawer=')) { // const closeHref = location.href.split('?')[0]; // const closeHref = handleGetFinalHideUrl(); var _a = (0, utils_1.handleGetFinalHideState)(), state = _a.state, path = _a.path; // const closeHref = location.href; // const isPreview = closeHref.includes('?drawer='); // console.log('debug-mobileModal-关闭Modal',`绑定的eventKey: ${eventKeyRef.current}`, `isStateClose:${isStateClose}` ,path, state); // history.replaceState({ isPreview }, '', closeHref); // 模拟返回 // history.back(); // history.pushState({ isPreview }, '', closeHref); // if (isPreview) { // history.pushState({ isPreview }, '', closeHref); // } else { // history.replaceState({ isPreview }, '', closeHref); // } // } if (!isStateClose) { history.back(); } else { history.replaceState(state, '', path); } window.removeEventListener(eventKeyRef.current, handleClose); window.dispatchEvent(new Event('historyChange')); onCancel === null || onCancel === void 0 ? void 0 : onCancel(e); // }, 300); }; var handleModalShow = function () { // const targetHref = handleGetFinalUrl(location.href, 'modal'); // const isPreview = targetHref.includes('?drawer='); // 在显示的时候挂载关闭事件 var index = (0, utils_1.handleGetStateIndex)('modal'); var eventKey = "CLOSE_MODAL_".concat(index); // setEventKey(eventKey); eventKeyRef.current = eventKey; // console.log('debug-挂载的Modal的key', eventKey); window.addEventListener(eventKey, handleCloseByState); var _a = (0, utils_1.handleGetFinalState)(location.href, 'modal'), state = _a.state, path = _a.path; // console.log('debug-打开Modal', state, path); // history?.pushState({ isPreview }, '', targetHref); // if (!history.state?.['isPreview']) { // history.pushState({ isPreview }, '', targetHref); // } else { // if (isPreview) { // history.pushState({ isPreview }, '', targetHref); // } else { // history.replaceState({ isPreview }, '', targetHref); // } // } history.pushState(state, '', path); window.dispatchEvent(new Event('historyChange')); // window.addEventListener(eventKey, handleCloseByState); }; var handleAfterConfirm = function (e) { // afterClose?.(); onOk === null || onOk === void 0 ? void 0 : onOk(e); handleClose(); }; (0, react_1.useEffect)(function () { return function () { window.removeEventListener(eventKeyRef.current, handleCloseByState); }; }, []); (0, react_1.useEffect)(function () { if (visible) { handleModalShow(); } }, [visible]); return (react_1.default.createElement(antd_1.Modal, tslib_1.__assign({}, restProps, { visible: visible, onCancel: handleClose, onOk: handleAfterConfirm }), children)); }; exports.default = MobileModal; //# sourceMappingURL=./components/MobileModal/index.js.map