linkmore-design
Version:
🌈 🚀lm组件库。🚀
54 lines (52 loc) • 1.46 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _imageViewer = _interopRequireDefault(require("../../image-viewer"));
const Preview = ({
instance
}) => {
const {
enabledPreview,
state,
dispatch,
getFileList
} = instance;
if (!enabledPreview) return null;
// 与展示顺序保持一致
const fileList = (0, _react.useMemo)(() => {
return getFileList()?.sort((a, b) => a?.seq - b?.seq);
}, [getFileList]);
const config = (0, _react.useMemo)(() => {
const {
index,
visible
} = state.preview;
return {
// urlList: fileList?.map(({ url }) => url),
urlList: fileList?.map(item => {
return {
...item,
subHtml: instance?.subHtml || ''
};
}),
initialIndex: index,
visible,
close: () => {
dispatch({
type: 'changePreview',
preview: {
visible: false
}
});
}
};
}, [fileList, state.preview]);
return /*#__PURE__*/_react.default.createElement(_imageViewer.default, config);
};
var _default = /*#__PURE__*/_react.default.memo(Preview);
exports.default = _default;