@seafile/sdoc-editor 3.0.4 → 3.0.5
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-list.css +1 -0
- package/dist/comment/components/editor-comment.js +19 -19
- package/dist/comment/provider/comment-context-provider.js +1 -0
- package/dist/editor/editable-article.js +1 -0
- package/dist/extension/plugins/text-style/helpers.js +16 -1
- package/dist/extension/plugins/text-style/render-elem.js +5 -1
- package/dist/extension/render/render-leaf.js +17 -1
- package/package.json +2 -2
|
@@ -65,32 +65,32 @@ var EditorComment = function EditorComment(_ref) {
|
|
|
65
65
|
var unresolvedComments = element_comments_map[elementId].filter(function (item) {
|
|
66
66
|
return !item.resolved;
|
|
67
67
|
});
|
|
68
|
+
setIsShowComments(true);
|
|
68
69
|
setCommentDetail((0, _objectSpread2["default"])({}, unresolvedComments));
|
|
69
70
|
setIsClickedContextComment(false);
|
|
71
|
+
return;
|
|
70
72
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
var
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if (elementId.includes(comment.detail.text_comment_id)) {
|
|
82
|
-
clickedComments.push(comment);
|
|
83
|
-
}
|
|
73
|
+
var clickedComments = [];
|
|
74
|
+
for (var _i = 0, _Object$values = Object.values(editor.element_comments_map); _i < _Object$values.length; _i++) {
|
|
75
|
+
var comments = _Object$values[_i];
|
|
76
|
+
var _iterator = (0, _createForOfIteratorHelper2["default"])(comments),
|
|
77
|
+
_step;
|
|
78
|
+
try {
|
|
79
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
80
|
+
var comment = _step.value;
|
|
81
|
+
if (elementId.includes(comment.detail.text_comment_id)) {
|
|
82
|
+
clickedComments.push(comment);
|
|
84
83
|
}
|
|
85
|
-
} catch (err) {
|
|
86
|
-
_iterator.e(err);
|
|
87
|
-
} finally {
|
|
88
|
-
_iterator.f();
|
|
89
84
|
}
|
|
85
|
+
} catch (err) {
|
|
86
|
+
_iterator.e(err);
|
|
87
|
+
} finally {
|
|
88
|
+
_iterator.f();
|
|
90
89
|
}
|
|
91
|
-
setCommentDetail((0, _objectSpread2["default"])({}, clickedComments));
|
|
92
|
-
setIsClickedContextComment(true);
|
|
93
90
|
}
|
|
91
|
+
setIsShowComments(true);
|
|
92
|
+
setCommentDetail((0, _objectSpread2["default"])({}, clickedComments));
|
|
93
|
+
setIsClickedContextComment(true);
|
|
94
94
|
}, [editor, element_comments_map, hiddenComment]);
|
|
95
95
|
(0, _react.useEffect)(function () {
|
|
96
96
|
var handleHoverContextComment = function handleHoverContextComment(event) {
|
|
@@ -22,6 +22,7 @@ var CommentContextProvider = function CommentContextProvider(_ref) {
|
|
|
22
22
|
dispatch = _useReducer2[1];
|
|
23
23
|
(0, _useCommentMount.useCommentsMount)(dispatch);
|
|
24
24
|
(0, _react.useEffect)(function () {
|
|
25
|
+
editor.element_comments_map = {};
|
|
25
26
|
if (Object.keys(commentsInfo.element_comments_map).length) {
|
|
26
27
|
editor.element_comments_map = commentsInfo.element_comments_map;
|
|
27
28
|
var eventBus = _eventBus["default"].getInstance();
|
|
@@ -189,6 +189,7 @@ var EditableArticle = function EditableArticle(_ref) {
|
|
|
189
189
|
});
|
|
190
190
|
}
|
|
191
191
|
}
|
|
192
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
192
193
|
}, [editor.selection]);
|
|
193
194
|
var onKeyDown = (0, _react.useCallback)(function (event) {
|
|
194
195
|
var _scrollRef$current = scrollRef.current,
|
|
@@ -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.removeMark = exports.isMenuDisabled = exports.getValue = exports.addMark = void 0;
|
|
7
|
+
exports.removeMark = exports.isTextCommentExist = exports.isMenuDisabled = exports.getValue = exports.addMark = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
9
|
var _slate = require("@seafile/slate");
|
|
10
10
|
var _elementType = require("../../constants/element-type");
|
|
@@ -64,4 +64,19 @@ var getValue = exports.getValue = function getValue(editor, mark) {
|
|
|
64
64
|
match = _Editor$nodes4[0];
|
|
65
65
|
return !!match;
|
|
66
66
|
}
|
|
67
|
+
};
|
|
68
|
+
var isTextCommentExist = exports.isTextCommentExist = function isTextCommentExist(commentClass, editor) {
|
|
69
|
+
if (!commentClass) return null;
|
|
70
|
+
if (!editor.element_comments_map) return null;
|
|
71
|
+
var commentId = commentClass.split('sdoc_comment_')[1];
|
|
72
|
+
if (!commentId) return null;
|
|
73
|
+
var element_comments_map = editor.element_comments_map;
|
|
74
|
+
var commentsArray = Object.values(element_comments_map);
|
|
75
|
+
var comments = commentsArray.flat();
|
|
76
|
+
var comment = comments.find(function (item) {
|
|
77
|
+
var id = item.detail.text_comment_id || '';
|
|
78
|
+
if (id === commentId) return true;
|
|
79
|
+
return false;
|
|
80
|
+
});
|
|
81
|
+
return comment ? true : false;
|
|
67
82
|
};
|
|
@@ -12,8 +12,9 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
12
12
|
var _constants = require("../../constants");
|
|
13
13
|
var _helpers = require("../font/helpers");
|
|
14
14
|
var _caret = _interopRequireDefault(require("./caret"));
|
|
15
|
+
var _helpers2 = require("./helpers");
|
|
15
16
|
var _excluded = ["text"];
|
|
16
|
-
var renderText = function renderText(props) {
|
|
17
|
+
var renderText = function renderText(props, editor) {
|
|
17
18
|
var attributes = props.attributes,
|
|
18
19
|
children = props.children,
|
|
19
20
|
leaf = props.leaf;
|
|
@@ -57,6 +58,9 @@ var renderText = function renderText(props) {
|
|
|
57
58
|
var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
|
|
58
59
|
key = _step$value[0],
|
|
59
60
|
value = _step$value[1];
|
|
61
|
+
if (!(0, _helpers2.isTextCommentExist)(key, editor)) {
|
|
62
|
+
delete rest[key];
|
|
63
|
+
}
|
|
60
64
|
if (value === false && key.startsWith('sdoc_comment_')) {
|
|
61
65
|
var newKey = "removed_".concat(key);
|
|
62
66
|
rest[newKey] = true;
|
|
@@ -1,16 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = void 0;
|
|
8
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _slateReact = require("@seafile/slate-react");
|
|
12
|
+
var _constants = require("../../constants");
|
|
13
|
+
var _useForceUpdate = _interopRequireDefault(require("../../hooks/use-force-update"));
|
|
14
|
+
var _eventBus = _interopRequireDefault(require("../../utils/event-bus"));
|
|
11
15
|
var _plugins = require("../plugins");
|
|
12
16
|
var CustomLeaf = function CustomLeaf(props) {
|
|
13
17
|
var editor = (0, _slateReact.useSlateStatic)();
|
|
18
|
+
var forceUpdate = (0, _useForceUpdate["default"])();
|
|
19
|
+
var updateRender = (0, _react.useCallback)(function () {
|
|
20
|
+
forceUpdate();
|
|
21
|
+
}, [forceUpdate]);
|
|
22
|
+
(0, _react.useEffect)(function () {
|
|
23
|
+
var eventBus = _eventBus["default"].getInstance();
|
|
24
|
+
var unsubscribeReloadComment = eventBus.subscribe(_constants.INTERNAL_EVENT.RELOAD_COMMENT, updateRender);
|
|
25
|
+
return function () {
|
|
26
|
+
unsubscribeReloadComment();
|
|
27
|
+
};
|
|
28
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
+
}, []);
|
|
14
30
|
var _TextPlugin$renderEle = (0, _slicedToArray2["default"])(_plugins.TextPlugin.renderElements, 1),
|
|
15
31
|
renderText = _TextPlugin$renderEle[0];
|
|
16
32
|
return renderText(props, editor);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.5",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "jest",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"publishConfig": {
|
|
72
72
|
"access": "public"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "8629f169a57be83cbaad84b8a413a728d4fd2a22"
|
|
75
75
|
}
|