@seafile/sdoc-editor 2.0.85 → 2.0.87
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.
package/LICENSE.txt
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Copyright (c) 2025 Seafile Ltd.
|
|
2
|
+
|
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
you may not use this file except in compliance with the License.
|
|
5
|
+
You may obtain a copy of the License at
|
|
6
|
+
|
|
7
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
|
|
9
|
+
Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
See the License for the specific language governing permissions and
|
|
13
|
+
limitations under the License.
|
|
@@ -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.selectImageWhenSelectPartial = exports.resetCursor = exports.removeImageBlockNode = exports.queryCopyMoveProgressView = exports.isInsertImageMenuDisabled = exports.isImageUrlIsFromUpload = exports.isImageUrlIsFromCopy = exports.insertImageFiles = exports.insertImage = exports.hasSdocImages = exports.handleBase64Image = exports.getSingleImageFromFragment = exports.getImageURL = exports.getImageData = exports.getDigitalSignImgUrl = exports.getColumnByKey = exports.generateImageNode = exports.generateImageInfos = void 0;
|
|
7
|
+
exports.updateImage = exports.selectImageWhenSelectPartial = exports.resetCursor = exports.removeImageBlockNode = exports.queryCopyMoveProgressView = exports.isInsertImageMenuDisabled = exports.isImageUrlIsFromUpload = exports.isImageUrlIsFromCopy = exports.isCommentEditor = exports.insertImageFiles = exports.insertImage = exports.hasSdocImages = exports.handleBase64Image = exports.getSingleImageFromFragment = exports.getImageURL = exports.getImageData = exports.getDigitalSignImgUrl = exports.getColumnByKey = exports.generateImageNode = exports.generateImageInfos = void 0;
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
9
9
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regeneratorRuntime"));
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
@@ -84,10 +84,7 @@ var insertImage = exports.insertImage = function insertImage(editor, imgInfos, s
|
|
|
84
84
|
var imageNodes = imgInfos.map(function (_ref) {
|
|
85
85
|
var src = _ref.src,
|
|
86
86
|
file_uuid = _ref.file_uuid;
|
|
87
|
-
var
|
|
88
|
-
var imgSrc = isCommentEditor ? getImageURL({
|
|
89
|
-
src: src
|
|
90
|
-
}) : src;
|
|
87
|
+
var imgSrc = src;
|
|
91
88
|
return generateImageNode(imgSrc, file_uuid);
|
|
92
89
|
});
|
|
93
90
|
var validSelection = selection || editor.selection;
|
|
@@ -320,6 +317,9 @@ var isImageUrlIsFromUpload = exports.isImageUrlIsFromUpload = function isImageUr
|
|
|
320
317
|
if (url && url.startsWith('blob:http')) return true;
|
|
321
318
|
return false;
|
|
322
319
|
};
|
|
320
|
+
var isCommentEditor = exports.isCommentEditor = function isCommentEditor(editor) {
|
|
321
|
+
return editor.editorType === _constants.COMMENT_EDITOR;
|
|
322
|
+
};
|
|
323
323
|
var generateImageInfos = exports.generateImageInfos = function generateImageInfos(files) {
|
|
324
324
|
var newFiles = Array.from(files);
|
|
325
325
|
var imgInfos = newFiles.filter(function (item) {
|
|
@@ -230,10 +230,10 @@ var Image = function Image(_ref) {
|
|
|
230
230
|
}
|
|
231
231
|
}, [data, editor]);
|
|
232
232
|
var onImageLoaded = (0, _react.useCallback)(function () {
|
|
233
|
-
if ((0, _helpers.isImageUrlIsFromCopy)(data.src)) {
|
|
233
|
+
if ((0, _helpers.isImageUrlIsFromCopy)(data.src) && !(0, _helpers.isCommentEditor)(editor)) {
|
|
234
234
|
setCopyImageLoading(true);
|
|
235
235
|
}
|
|
236
|
-
}, [data.src, setCopyImageLoading]);
|
|
236
|
+
}, [data.src, editor, setCopyImageLoading]);
|
|
237
237
|
var onImageLoadError = (0, _react.useCallback)(function () {
|
|
238
238
|
// Check is due to the image is pasted from the clipboard in base64
|
|
239
239
|
if (data.src.startsWith('data:image/jpeg;base64')) {
|
|
@@ -49,7 +49,8 @@ var useCopyImage = function useCopyImage(_ref2) {
|
|
|
49
49
|
element = _ref2.element;
|
|
50
50
|
var data = element.data;
|
|
51
51
|
var _data$is_copy_error = data.is_copy_error,
|
|
52
|
-
is_copy_error = _data$is_copy_error === void 0 ? false : _data$is_copy_error
|
|
52
|
+
is_copy_error = _data$is_copy_error === void 0 ? false : _data$is_copy_error,
|
|
53
|
+
isComment = data.is_comment;
|
|
53
54
|
var _useState = (0, _react.useState)(),
|
|
54
55
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
55
56
|
isLoading = _useState2[0],
|
|
@@ -61,6 +62,7 @@ var useCopyImage = function useCopyImage(_ref2) {
|
|
|
61
62
|
(0, _react.useEffect)(function () {
|
|
62
63
|
var url = data.src;
|
|
63
64
|
if (isCopyError) return;
|
|
65
|
+
if (isComment) return;
|
|
64
66
|
if (!(0, _helpers.isImageUrlIsFromCopy)(url)) return;
|
|
65
67
|
var downloadAndUploadImages = /*#__PURE__*/function () {
|
|
66
68
|
var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee2(url) {
|
|
@@ -16,20 +16,24 @@ var _helpers = require("./helpers");
|
|
|
16
16
|
var _imageCache = _interopRequireDefault(require("./image-cache"));
|
|
17
17
|
var updateImageNode = /*#__PURE__*/function () {
|
|
18
18
|
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee(editor, element, newUrl) {
|
|
19
|
-
var nodePath, newData;
|
|
19
|
+
var url, nodePath, newData;
|
|
20
20
|
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
|
|
21
21
|
while (1) switch (_context.prev = _context.next) {
|
|
22
22
|
case 0:
|
|
23
|
+
url = (0, _helpers.isCommentEditor)(editor) ? (0, _helpers.getImageURL)({
|
|
24
|
+
src: newUrl
|
|
25
|
+
}, editor) : newUrl;
|
|
23
26
|
nodePath = _slateReact.ReactEditor.findPath(editor, element);
|
|
24
27
|
newData = {
|
|
25
|
-
src:
|
|
28
|
+
src: url,
|
|
29
|
+
is_comment: true
|
|
26
30
|
};
|
|
27
31
|
_slate.Transforms.setNodes(editor, {
|
|
28
32
|
data: newData
|
|
29
33
|
}, {
|
|
30
34
|
at: nodePath
|
|
31
35
|
});
|
|
32
|
-
case
|
|
36
|
+
case 4:
|
|
33
37
|
case "end":
|
|
34
38
|
return _context.stop();
|
|
35
39
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.87",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "jest",
|
|
@@ -55,9 +55,9 @@
|
|
|
55
55
|
"url-parse": "1.5.10"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
|
-
"i18next": "
|
|
59
|
-
"i18next-browser-languagedetector": "
|
|
60
|
-
"i18next-xhr-backend": "
|
|
58
|
+
"i18next": ">=17.0.13",
|
|
59
|
+
"i18next-browser-languagedetector": ">=3.0.3",
|
|
60
|
+
"i18next-xhr-backend": ">=3.1.2",
|
|
61
61
|
"react": "^18.3.0",
|
|
62
62
|
"react-dom": "^18.3.1",
|
|
63
63
|
"react-i18next": "^10.12.2",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"publishConfig": {
|
|
71
71
|
"access": "public"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "1db85acfd8e8a86b9e563cfa187dc80c88115b24"
|
|
74
74
|
}
|