@seafile/seafile-editor 3.0.30-wjk.1 → 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.
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.updateImage = exports.lazyLoadImage = exports.isMenuDisabled = exports.insertSeafileImage = exports.insertImage = exports.handleUpdateFile = exports.getNewImagesUrlList = exports.getImagesUrlList = void 0;
7
+ exports.updateImage = exports.lazyLoadImage = exports.isMenuDisabled = exports.insertSeafileImage = exports.insertImage = exports.handleUpdateFile = exports.getImagesUrlList = void 0;
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
9
  var _slate = require("slate");
10
10
  var _slugid = _interopRequireDefault(require("slugid"));
@@ -91,33 +91,6 @@ const getImagesUrlList = nodes => {
91
91
  return list;
92
92
  };
93
93
  exports.getImagesUrlList = getImagesUrlList;
94
- const getNewImagesUrlList = function () {
95
- let lists = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
96
- if (!Array.isArray(lists)) {
97
- return [];
98
- }
99
- return lists.map(src => {
100
- if (!src) {
101
- return {
102
- name: '',
103
- thumbnail: ''
104
- };
105
- }
106
- let name = '';
107
- try {
108
- name = decodeURIComponent(src.slice(src.lastIndexOf('/') + 1));
109
- } catch (error) {
110
- // eslint-disable-next-line no-console
111
- console.log(error);
112
- name = src.slice(src.lastIndexOf('/') + 1) || src;
113
- }
114
- return {
115
- name: name || '',
116
- thumbnail: src
117
- };
118
- });
119
- };
120
- exports.getNewImagesUrlList = getNewImagesUrlList;
121
94
  const handleUpdateFile = async (editor, file, insertPosition) => {
122
95
  var _editor$api;
123
96
  if (editor !== null && editor !== void 0 && (_editor$api = editor.api) !== null && _editor$api !== void 0 && _editor$api.uploadLocalImage) {
@@ -14,21 +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 defaultImages = (0, _helper.getImagesUrlList)(editor.children);
24
- console.log('defaultImages', defaultImages);
25
- const images = (0, _helper.getNewImagesUrlList)(defaultImages);
26
- console.log('images', images);
39
+ const originImages = (0, _helper.getImagesUrlList)(editor.children);
40
+ const images = formatImageInfos(originImages);
27
41
  const {
28
42
  t
29
43
  } = (0, _reactI18next.useTranslation)(_constants.TRANSLATE_NAMESPACE);
30
- const [imageIndex, setImageIndex] = (0, _react.useState)(images.findIndex(item => item === imgUrl));
31
- 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];
32
51
  const moveToPrevImage = () => {
33
52
  const currentImageIndex = (imageIndex + images.length - 1) % images.length;
34
53
  setImageIndex(currentImageIndex);
@@ -42,15 +61,11 @@ const ImagePreviewer = _ref => {
42
61
  currentIndex: imageIndex,
43
62
  setImageIndex: setImageIndex,
44
63
  wrapperClassName: "sf-editor-image-previewer",
45
- imageTitle: /*#__PURE__*/_react.default.createElement(ImageTitleElement, {
46
- mainSrc: mainSrc,
47
- imageIndex: imageIndex,
48
- images: images
49
- }),
64
+ imageTitle: "".concat(imageName, " (").concat(imageIndex + 1, "/").concat(imagesLength, ")"),
50
65
  mainSrc: mainSrc,
51
66
  toolbarButtons: [],
52
- nextSrc: images[(imageIndex + 1) % images.length],
53
- prevSrc: images[(imageIndex + images.length - 1) % images.length],
67
+ nextSrc: nextImg.thumbnail || nextImg.src,
68
+ prevSrc: prevImg.thumbnail || prevImg.src,
54
69
  onCloseRequest: toggleImagePreviewer,
55
70
  reactModalProps: {
56
71
  shouldReturnFocusAfterClose: true,
@@ -59,35 +74,8 @@ const ImagePreviewer = _ref => {
59
74
  onMovePrevRequest: moveToPrevImage,
60
75
  onMoveNextRequest: moveToNextImage,
61
76
  imagePadding: 70,
62
- reactModalStyle: {
63
- overlay: {
64
- zIndex: 1071
65
- }
66
- },
67
77
  zoomInTip: t('Zoom_in'),
68
78
  zoomOutTip: t('Zoom_out')
69
79
  });
70
80
  };
71
- var _default = exports.default = ImagePreviewer;
72
- const ImageTitleElement = props => {
73
- const {
74
- mainSrc,
75
- imageIndex,
76
- images
77
- } = props;
78
- const getImgTitle = () => {
79
- try {
80
- return mainSrc ? decodeURI(mainSrc.slice(mainSrc.lastIndexOf('/') + 1)) : '';
81
- } catch (error) {
82
- console.log('error', error);
83
- return '';
84
- }
85
- };
86
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
87
- className: "d-flex"
88
- }, /*#__PURE__*/_react.default.createElement("span", {
89
- className: "text-truncate"
90
- }, getImgTitle()), /*#__PURE__*/_react.default.createElement("span", {
91
- className: "flex-shrink-0"
92
- }, "(", imageIndex + 1, "/", images.length, ")")));
93
- };
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.30wjk.1",
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",