@flatbiz/antd
Version:
81 lines (76 loc) • 2.52 kB
JavaScript
/*! @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