linkmore-design
Version:
🌈 🚀lm组件库。🚀
44 lines (43 loc) • 1.63 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import React, { useMemo } from 'react';
import ImageViewer from "../../image-viewer";
var Preview = function Preview(_ref) {
var instance = _ref.instance;
var enabledPreview = instance.enabledPreview,
state = instance.state,
dispatch = instance.dispatch,
getFileList = instance.getFileList;
if (!enabledPreview) return null;
// 与展示顺序保持一致
var fileList = useMemo(function () {
var _getFileList;
return (_getFileList = getFileList()) === null || _getFileList === void 0 ? void 0 : _getFileList.sort(function (a, b) {
return (a === null || a === void 0 ? void 0 : a.seq) - (b === null || b === void 0 ? void 0 : b.seq);
});
}, [getFileList]);
var config = useMemo(function () {
var _state$preview = state.preview,
index = _state$preview.index,
visible = _state$preview.visible;
return {
// urlList: fileList?.map(({ url }) => url),
urlList: fileList === null || fileList === void 0 ? void 0 : fileList.map(function (item) {
return _objectSpread(_objectSpread({}, item), {}, {
subHtml: (instance === null || instance === void 0 ? void 0 : instance.subHtml) || ''
});
}),
initialIndex: index,
visible: visible,
close: function close() {
dispatch({
type: 'changePreview',
preview: {
visible: false
}
});
}
};
}, [fileList, state.preview]);
return /*#__PURE__*/React.createElement(ImageViewer, config);
};
export default /*#__PURE__*/React.memo(Preview);