@seafile/seafile-editor 3.0.30 → 3.0.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,18 +14,40 @@ var _reactI18next = require("react-i18next");
14
14
  var _constants = require("../../../../constants");
15
15
  require("@seafile/react-image-lightbox/style.css");
16
16
  require("./style.css");
17
+ const formatImageInfos = images => {
18
+ const formatImages = images.map(src => {
19
+ let name = '';
20
+ try {
21
+ name = src ? decodeURI(src.slice(src.lastIndexOf('/') + 1)).split(/[??]/)[0] : '';
22
+ } catch (error) {
23
+ console.log('error', error);
24
+ name = '';
25
+ }
26
+ return {
27
+ name: name,
28
+ thumbnail: src
29
+ };
30
+ });
31
+ return formatImages;
32
+ };
17
33
  const ImagePreviewer = _ref => {
18
34
  let {
19
35
  imgUrl,
20
36
  toggleImagePreviewer
21
37
  } = _ref;
22
38
  const editor = (0, _slateReact.useSlateStatic)();
23
- let images = (0, _helper.getImagesUrlList)(editor.children);
39
+ const originImages = (0, _helper.getImagesUrlList)(editor.children);
40
+ const images = formatImageInfos(originImages);
24
41
  const {
25
42
  t
26
43
  } = (0, _reactI18next.useTranslation)(_constants.TRANSLATE_NAMESPACE);
27
- const [imageIndex, setImageIndex] = (0, _react.useState)(images.findIndex(item => item === imgUrl));
28
- const mainSrc = images[imageIndex];
44
+ const [imageIndex, setImageIndex] = (0, _react.useState)(Math.max(0, images.findIndex(item => item.thumbnail === imgUrl)));
45
+ const imagesLength = images.length;
46
+ const imageItem = images[imageIndex];
47
+ const imageName = imageItem ? imageItem.name : '';
48
+ const mainSrc = imageItem ? imageItem.thumbnail : {};
49
+ const nextImg = images[(imageIndex + 1) % images.length];
50
+ const prevImg = images[(imageIndex + images.length - 1) % images.length];
29
51
  const moveToPrevImage = () => {
30
52
  const currentImageIndex = (imageIndex + images.length - 1) % images.length;
31
53
  setImageIndex(currentImageIndex);
@@ -39,15 +61,11 @@ const ImagePreviewer = _ref => {
39
61
  currentIndex: imageIndex,
40
62
  setImageIndex: setImageIndex,
41
63
  wrapperClassName: "sf-editor-image-previewer",
42
- imageTitle: /*#__PURE__*/_react.default.createElement(ImageTitleElement, {
43
- mainSrc: mainSrc,
44
- imageIndex: imageIndex,
45
- images: images
46
- }),
64
+ imageTitle: "".concat(imageName, " (").concat(imageIndex + 1, "/").concat(imagesLength, ")"),
47
65
  mainSrc: mainSrc,
48
66
  toolbarButtons: [],
49
- nextSrc: images[(imageIndex + 1) % images.length],
50
- prevSrc: images[(imageIndex + images.length - 1) % images.length],
67
+ nextSrc: nextImg.thumbnail || nextImg.src,
68
+ prevSrc: prevImg.thumbnail || prevImg.src,
51
69
  onCloseRequest: toggleImagePreviewer,
52
70
  reactModalProps: {
53
71
  shouldReturnFocusAfterClose: true,
@@ -56,35 +74,8 @@ const ImagePreviewer = _ref => {
56
74
  onMovePrevRequest: moveToPrevImage,
57
75
  onMoveNextRequest: moveToNextImage,
58
76
  imagePadding: 70,
59
- reactModalStyle: {
60
- overlay: {
61
- zIndex: 1071
62
- }
63
- },
64
77
  zoomInTip: t('Zoom_in'),
65
78
  zoomOutTip: t('Zoom_out')
66
79
  });
67
80
  };
68
- var _default = exports.default = ImagePreviewer;
69
- const ImageTitleElement = props => {
70
- const {
71
- mainSrc,
72
- imageIndex,
73
- images
74
- } = props;
75
- const getImgTitle = () => {
76
- try {
77
- return mainSrc ? decodeURI(mainSrc.slice(mainSrc.lastIndexOf('/') + 1)) : '';
78
- } catch (error) {
79
- console.log('error', error);
80
- return '';
81
- }
82
- };
83
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
84
- className: "d-flex"
85
- }, /*#__PURE__*/_react.default.createElement("span", {
86
- className: "text-truncate"
87
- }, getImgTitle()), /*#__PURE__*/_react.default.createElement("span", {
88
- className: "flex-shrink-0"
89
- }, "(", imageIndex + 1, "/", images.length, ")")));
90
- };
81
+ var _default = exports.default = ImagePreviewer;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/seafile-editor",
3
- "version": "3.0.30",
3
+ "version": "3.0.31",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -85,7 +85,7 @@
85
85
  ]
86
86
  },
87
87
  "dependencies": {
88
- "@seafile/react-image-lightbox": "^5.0.4",
88
+ "@seafile/react-image-lightbox": "^5.0.6",
89
89
  "classnames": "2.3.2",
90
90
  "copy-to-clipboard": "3.3.1",
91
91
  "deep-copy": "1.4.2",