UNPKG

@flatbiz/antd

Version:
81 lines (76 loc) 2.52 kB
/*! @flatjs/forge MIT @flatbiz/antd */ import { isString } from '@dimjs/lang/is-string'; import { b as _objectSpread2, a as _slicedToArray } from './_rollupPluginBabelHelpers-BYm17lo8.js'; import { hooks } from '@wove/react/hooks'; import { useState, Fragment } from 'react'; import { createRoot } from 'react-dom/client'; import { Image } from 'antd'; import { dom } from '@flatbiz/utils'; import { fbaHooks } from './fba-hooks/index.js'; import { jsx } from 'react/jsx-runtime'; var ModalRender = function ModalRender(props) { var _useState = useState(true), _useState2 = _slicedToArray(_useState, 2), open = _useState2[0], setOpen = _useState2[1]; var elementId = props.elementId; var onClose = hooks.useCallbackRef(function () { try { delete window[elementId]; } catch (_error) { // } setOpen(false); }); fbaHooks.useEffectCustom(function () { window[elementId] = onClose; }, [onClose]); return /*#__PURE__*/jsx(Fragment, { children: /*#__PURE__*/jsx(Image, { wrapperStyle: { display: 'none' }, preview: { visible: !!open, onVisibleChange: function onVisibleChange() { return setOpen(false); }, afterOpenChange: function afterOpenChange(visible) { return !visible && setOpen(false); } }, src: props.imageUrl }) }); }; /** 图片预览 */ var dialogPreviewImage = { show: function show(props) { var _dom$bodyAppendDivEle = dom.bodyAppendDivElement(), divElement = _dom$bodyAppendDivEle.divElement, elementId = _dom$bodyAppendDivEle.elementId; window['__dialog_preview_elementId'] = elementId; var root = createRoot(divElement); root.render(/*#__PURE__*/jsx(ModalRender, _objectSpread2(_objectSpread2({}, props), {}, { divElement: divElement, elementId: elementId }))); return { close: function close() { var _elementId, _ref; (_elementId = (_ref = window)[elementId]) === null || _elementId === void 0 || _elementId.call(_ref); } }; }, hiden: function hiden() { try { var _window$elementId, _window; var elementId = window['__dialog_preview_elementId']; if (isString(elementId)) (_window$elementId = (_window = window)[elementId]) === null || _window$elementId === void 0 || _window$elementId.call(_window); } catch (_error) { // } } }; export { dialogPreviewImage as d }; //# sourceMappingURL=preview-image-DP4umDzQ.js.map