@seafile/sdoc-editor 2.0.84 → 2.0.86-test-0.0.1
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/dist/comment/components/comment-context-menu/index.js +5 -0
- package/dist/comment/components/comment-item-content.js +2 -2
- package/dist/cursor/use-cursors.js +1 -0
- package/dist/extension/plugins/image/helpers.js +5 -5
- package/dist/extension/plugins/image/render-elem.js +2 -2
- package/dist/extension/plugins/image/use-copy-image.js +3 -1
- package/dist/extension/plugins/image/use-upload-image.js +7 -3
- package/dist/socket/socket-manager.js +1 -0
- package/package.json +2 -3
|
@@ -14,6 +14,11 @@ require("./index.css");
|
|
|
14
14
|
var CommentContextMenu = function CommentContextMenu(_ref) {
|
|
15
15
|
var isRichEditor = _ref.isRichEditor;
|
|
16
16
|
var onCommentClick = (0, _react.useCallback)(function (event) {
|
|
17
|
+
// Make context toolbar disappear
|
|
18
|
+
var contextToolBarDom = document.querySelector('.sdoc-context-toolbar');
|
|
19
|
+
if (contextToolBarDom) {
|
|
20
|
+
contextToolBarDom.removeAttribute('style');
|
|
21
|
+
}
|
|
17
22
|
var eventBus = _eventBus["default"].getInstance();
|
|
18
23
|
eventBus.dispatch(_constants.INTERNAL_EVENT.ADD_CONTEXT_COMMENT);
|
|
19
24
|
}, []);
|
|
@@ -130,9 +130,9 @@ var CommentItemContent = function CommentItemContent(_ref) {
|
|
|
130
130
|
className: "comment-success-resolved sdocfont sdoc-mark-as-resolved"
|
|
131
131
|
})))), isUnseen && !isActive && /*#__PURE__*/_react["default"].createElement("span", {
|
|
132
132
|
className: "sdoc-unread-message-tip"
|
|
133
|
-
}), isActive && comment.user_email === user.username && /*#__PURE__*/_react["default"].createElement("div", {
|
|
133
|
+
}), isActive && [comment === null || comment === void 0 ? void 0 : comment.user_email, comment === null || comment === void 0 ? void 0 : comment.author].includes(user.username) && /*#__PURE__*/_react["default"].createElement("div", {
|
|
134
134
|
className: "d-flex comment-item-operation-wrapper"
|
|
135
|
-
}, !comment.resolved && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
135
|
+
}, (!comment.resolved || (comment === null || comment === void 0 ? void 0 : comment.isContextComment)) && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
|
|
136
136
|
id: "tooltip_".concat(menuId),
|
|
137
137
|
className: "comment-operation mr-2",
|
|
138
138
|
onClick: markAsResolved
|
|
@@ -14,6 +14,7 @@ var useCursors = exports.useCursors = function useCursors(editor) {
|
|
|
14
14
|
setCursors = _useState2[1];
|
|
15
15
|
(0, _react.useEffect)(function () {
|
|
16
16
|
var cursors = Object.values(editor.cursors) || [];
|
|
17
|
+
console.log(1, cursors);
|
|
17
18
|
setCursors(cursors);
|
|
18
19
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
19
20
|
}, []);
|
|
@@ -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
|
}
|
|
@@ -305,6 +305,7 @@ var SocketManager = /*#__PURE__*/(0, _createClass2["default"])(function SocketMa
|
|
|
305
305
|
});
|
|
306
306
|
});
|
|
307
307
|
(0, _defineProperty2["default"])(this, "sendCursorLocation", function (location) {
|
|
308
|
+
console.log(1, location);
|
|
308
309
|
_this.socketClient.sendCursorLocation(location);
|
|
309
310
|
});
|
|
310
311
|
(0, _defineProperty2["default"])(this, "receiveCursorLocation", function (params) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.86-test-0.0.1",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "jest",
|
|
@@ -69,6 +69,5 @@
|
|
|
69
69
|
},
|
|
70
70
|
"publishConfig": {
|
|
71
71
|
"access": "public"
|
|
72
|
-
}
|
|
73
|
-
"gitHead": "faddcd9b08201ed369f2d7c324b885aad558744f"
|
|
72
|
+
}
|
|
74
73
|
}
|