@seafile/sdoc-editor 3.0.148 → 3.0.149
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.
|
@@ -79,17 +79,29 @@ var generateImageNode = exports.generateImageNode = function generateImageNode(s
|
|
|
79
79
|
};
|
|
80
80
|
var insertImage = exports.insertImage = function insertImage(editor, imgInfos, selection) {
|
|
81
81
|
var position = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants2.INSERT_POSITION.CURRENT;
|
|
82
|
-
if (!imgInfos) return;
|
|
82
|
+
if (!imgInfos || !Array.isArray(imgInfos)) return;
|
|
83
|
+
var validImgInfos = imgInfos.filter(function (item) {
|
|
84
|
+
return item && typeof item.src === 'string' && item.src.length > 0;
|
|
85
|
+
});
|
|
86
|
+
if (validImgInfos.length === 0) return;
|
|
87
|
+
var validSelection = selection || editor.selection;
|
|
88
|
+
if (!validSelection) {
|
|
89
|
+
var endPoint = _slate.Editor.end(editor, []);
|
|
90
|
+
validSelection = {
|
|
91
|
+
anchor: endPoint,
|
|
92
|
+
focus: endPoint
|
|
93
|
+
};
|
|
94
|
+
_slate.Transforms.select(editor, validSelection);
|
|
95
|
+
}
|
|
83
96
|
if (position !== _constants2.INSERT_POSITION.AFTER) {
|
|
84
97
|
if (isInsertImageMenuDisabled(editor)) return;
|
|
85
98
|
}
|
|
86
|
-
var imageNodes =
|
|
99
|
+
var imageNodes = validImgInfos.map(function (_ref) {
|
|
87
100
|
var src = _ref.src,
|
|
88
101
|
file_uuid = _ref.file_uuid;
|
|
89
102
|
var imgSrc = src;
|
|
90
103
|
return generateImageNode(imgSrc, file_uuid);
|
|
91
104
|
});
|
|
92
|
-
var validSelection = selection || editor.selection;
|
|
93
105
|
var path = _slate.Editor.path(editor, validSelection);
|
|
94
106
|
// Insert image inside into multi-column node
|
|
95
107
|
var topNodeEntry = (0, _core.getTopLevelBlockNode)(editor);
|
|
@@ -255,18 +255,20 @@ var Image = function Image(_ref) {
|
|
|
255
255
|
setIsShowImagePlaceholder(false);
|
|
256
256
|
}, []);
|
|
257
257
|
var onImageLoaded = (0, _react.useCallback)(function () {
|
|
258
|
-
|
|
258
|
+
var src = (data === null || data === void 0 ? void 0 : data.src) || '';
|
|
259
|
+
if ((0, _helpers.isImageUrlIsFromCopy)(src) && !(0, _helpers.isCommentEditor)(editor)) {
|
|
259
260
|
setCopyImageLoading(true);
|
|
260
261
|
}
|
|
261
|
-
}, [data.src, editor, setCopyImageLoading]);
|
|
262
|
+
}, [data === null || data === void 0 ? void 0 : data.src, editor, setCopyImageLoading]);
|
|
262
263
|
var onImageLoadError = (0, _react.useCallback)(function () {
|
|
264
|
+
var src = (data === null || data === void 0 ? void 0 : data.src) || '';
|
|
263
265
|
// Check is due to the image is pasted from the clipboard in base64
|
|
264
|
-
if (
|
|
266
|
+
if (src.startsWith('data:image/jpeg;base64')) {
|
|
265
267
|
return (0, _helpers.handleBase64Image)(editor, path, data);
|
|
266
268
|
}
|
|
267
269
|
setIsShowImagePlaceholder(true);
|
|
268
270
|
// External network images do not reload after failure to load
|
|
269
|
-
if (!
|
|
271
|
+
if (!src.startsWith('http')) {
|
|
270
272
|
var eventBus = _eventBus["default"].getInstance();
|
|
271
273
|
eventBus.subscribe(_constants.INTERNAL_EVENT.RELOAD_IMAGE, reloadImage);
|
|
272
274
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.149",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "jest",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"publishConfig": {
|
|
73
73
|
"access": "public"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "42dd9ca36703be7ec81692d067313bb16e858754"
|
|
76
76
|
}
|