@seafile/sdoc-editor 0.1.61 → 0.1.63
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/api/sdoc-server-api.js +52 -0
- package/dist/basic-sdk/assets/css/layout.css +32 -0
- package/dist/basic-sdk/comment/comment-context-provider.js +27 -0
- package/dist/basic-sdk/comment/comment-decorate.js +29 -0
- package/dist/basic-sdk/comment/comment-editor.js +73 -0
- package/dist/basic-sdk/comment/comment-item.js +93 -0
- package/dist/basic-sdk/comment/comment-list.js +128 -0
- package/dist/basic-sdk/comment/comment.js +64 -0
- package/dist/basic-sdk/comment/helper.js +44 -0
- package/dist/basic-sdk/comment/hooks/use-comment-context.js +11 -0
- package/dist/basic-sdk/comment/hooks/use-comment-mount.js +55 -0
- package/dist/basic-sdk/comment/index.js +12 -0
- package/dist/basic-sdk/comment/reducer/comment-reducer.js +82 -0
- package/dist/basic-sdk/comment/style.css +137 -0
- package/dist/basic-sdk/decorates/index.js +21 -0
- package/dist/basic-sdk/editor.js +24 -17
- package/dist/basic-sdk/extension/plugins/code-block/render-elem.js +5 -1
- package/dist/basic-sdk/extension/plugins/table/helpers.js +5 -3
- package/dist/basic-sdk/extension/plugins/text-align/menu/style.css +4 -0
- package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +3 -0
- package/dist/basic-sdk/extension/render/render-element.js +17 -2
- package/dist/basic-sdk/extension/toolbar/index.js +3 -16
- package/dist/basic-sdk/highlight-decorate/index.js +5 -11
- package/dist/basic-sdk/hooks/use-scroll-context.js +10 -0
- package/dist/basic-sdk/hooks/use-selection-element.js +20 -0
- package/dist/basic-sdk/hooks/use-selection-position.js +34 -0
- package/dist/basic-sdk/hooks/use-selection-update.js +18 -0
- package/dist/constants/index.js +2 -1
- package/dist/context.js +20 -0
- package/package.json +1 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ReactEditor, useSlateStatic } from '@seafile/slate-react';
|
|
2
|
+
import { Editor, Element } from '@seafile/slate';
|
|
3
|
+
import { useScrollContext } from './use-scroll-context';
|
|
4
|
+
export var useSelectionPosition = function useSelectionPosition() {
|
|
5
|
+
var editor = useSlateStatic();
|
|
6
|
+
if (!editor.selection) return {
|
|
7
|
+
x: 0,
|
|
8
|
+
y: 0
|
|
9
|
+
};
|
|
10
|
+
var node = Editor.above(editor, {
|
|
11
|
+
mode: 'lowest',
|
|
12
|
+
match: function match(n) {
|
|
13
|
+
return Element.isElement(n) && Editor.isBlock(editor, n);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
var domNode = ReactEditor.toDOMNode(editor, node[0]);
|
|
17
|
+
var rect = domNode.getBoundingClientRect();
|
|
18
|
+
return rect;
|
|
19
|
+
};
|
|
20
|
+
export var useCommentListPosition = function useCommentListPosition() {
|
|
21
|
+
var selectionPosition = useSelectionPosition();
|
|
22
|
+
var headerHeight = 100;
|
|
23
|
+
var scrollRef = useScrollContext();
|
|
24
|
+
var _ref = scrollRef.current || {},
|
|
25
|
+
_ref$scrollTop = _ref.scrollTop,
|
|
26
|
+
scrollTop = _ref$scrollTop === void 0 ? 0 : _ref$scrollTop;
|
|
27
|
+
if (selectionPosition.y !== 0) {
|
|
28
|
+
selectionPosition.y = selectionPosition.y - headerHeight + scrollTop;
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
x: selectionPosition.x,
|
|
32
|
+
y: selectionPosition.y
|
|
33
|
+
};
|
|
34
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import EventBus from '../utils/event-bus';
|
|
4
|
+
export default function useSelectionUpdate() {
|
|
5
|
+
var _useState = useState({}),
|
|
6
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
7
|
+
update = _useState2[1];
|
|
8
|
+
useEffect(function () {
|
|
9
|
+
var onChange = function onChange() {
|
|
10
|
+
return update({});
|
|
11
|
+
};
|
|
12
|
+
var eventBus = EventBus.getInstance();
|
|
13
|
+
var unsubscribe = eventBus.subscribe('change', onChange);
|
|
14
|
+
return function () {
|
|
15
|
+
unsubscribe();
|
|
16
|
+
};
|
|
17
|
+
}, []);
|
|
18
|
+
}
|
package/dist/constants/index.js
CHANGED
|
@@ -2,4 +2,5 @@ export var EXTERNAL_EVENT = {
|
|
|
2
2
|
INTERNAL_LINK_CLICK: 'internal_link_click',
|
|
3
3
|
TOGGLE_STAR: 'toggle_star',
|
|
4
4
|
CANCEL_TABLE_SELECT_RANGE: 'cancel_table_select_range'
|
|
5
|
-
};
|
|
5
|
+
};
|
|
6
|
+
export var PAGE_EDIT_AREA_WIDTH = 672; // 672 = 794 - 2[borderLeft + borderRight] - 120[paddingLeft + paddingRight]
|
package/dist/context.js
CHANGED
|
@@ -101,6 +101,26 @@ var Context = /*#__PURE__*/function () {
|
|
|
101
101
|
avatar_url: avatarURL
|
|
102
102
|
};
|
|
103
103
|
}
|
|
104
|
+
}, {
|
|
105
|
+
key: "listComments",
|
|
106
|
+
value: function listComments() {
|
|
107
|
+
return this.sdocServerApi.listComments();
|
|
108
|
+
}
|
|
109
|
+
}, {
|
|
110
|
+
key: "insertComment",
|
|
111
|
+
value: function insertComment(comment) {
|
|
112
|
+
return this.sdocServerApi.insertComment(comment);
|
|
113
|
+
}
|
|
114
|
+
}, {
|
|
115
|
+
key: "deleteComment",
|
|
116
|
+
value: function deleteComment(commentId) {
|
|
117
|
+
return this.sdocServerApi.deleteComment(commentId);
|
|
118
|
+
}
|
|
119
|
+
}, {
|
|
120
|
+
key: "updateComment",
|
|
121
|
+
value: function updateComment(commentId, newComment) {
|
|
122
|
+
return this.sdocServerApi.updateComment(commentId, newComment);
|
|
123
|
+
}
|
|
104
124
|
}]);
|
|
105
125
|
return Context;
|
|
106
126
|
}();
|