@seafile/comment-editor 0.0.1-alpha.0 → 0.0.1-alpha.10
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/README.md +2 -4
- package/dist/basic-sdk/assets/css/layout.css +1 -45
- package/dist/basic-sdk/assets/css/sdoc-comment-editor-plugin.css +4 -4
- package/dist/basic-sdk/comment/utils.js +39 -0
- package/dist/basic-sdk/constants/index.js +1 -2
- package/dist/basic-sdk/context.js +9 -8
- package/dist/basic-sdk/editor/comment-editor.css +138 -0
- package/dist/basic-sdk/editor/comment-editor.js +289 -0
- package/dist/basic-sdk/extension/plugins/image/helpers.js +1 -1
- package/dist/basic-sdk/extension/plugins/image/use-copy-image.js +1 -1
- package/dist/basic-sdk/extension/plugins/image/use-upload-image.js +2 -1
- package/dist/basic-sdk/extension/plugins/link/menu/index.js +1 -1
- package/dist/basic-sdk/extension/plugins/mention/render-elem/participant-popover.js +3 -6
- package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +1 -2
- package/dist/basic-sdk/extension/render/render-comment-editor-element.js +1 -1
- package/dist/basic-sdk/extension/toolbar/comment-editor-toolbar/index.js +3 -3
- package/dist/basic-sdk/extension/toolbar/comment-editor-toolbar/post-comment/index.js +2 -2
- package/dist/basic-sdk/hooks/use-comment.js +53 -0
- package/dist/basic-sdk/index.js +12 -39
- package/dist/pages/seafile-comment-editor.js +30 -54
- package/package.json +2 -1
- package/dist/assets/css/plugin-editor.css +0 -7
- package/dist/assets/css/simple-viewer.css +0 -6
- package/dist/basic-sdk/comment/components/comment-all-participants/index.css +0 -83
- package/dist/basic-sdk/comment/components/comment-all-participants/index.js +0 -67
- package/dist/basic-sdk/comment/components/comment-all-participants/participant-avatar.js +0 -43
- package/dist/basic-sdk/comment/components/comment-context-menu/index.css +0 -16
- package/dist/basic-sdk/comment/components/comment-context-menu/index.js +0 -43
- package/dist/basic-sdk/comment/components/comment-context-menu/menu-item.js +0 -57
- package/dist/basic-sdk/comment/components/comment-delete-popover.js +0 -80
- package/dist/basic-sdk/comment/components/comment-editor.js +0 -165
- package/dist/basic-sdk/comment/components/comment-item-collapse-wrapper.js +0 -160
- package/dist/basic-sdk/comment/components/comment-item-content.js +0 -156
- package/dist/basic-sdk/comment/components/comment-item-reply.js +0 -124
- package/dist/basic-sdk/comment/components/comment-item-resolved-reply.js +0 -38
- package/dist/basic-sdk/comment/components/comment-item-wrapper.js +0 -368
- package/dist/basic-sdk/comment/components/comment-list.css +0 -422
- package/dist/basic-sdk/comment/components/comment-list.js +0 -216
- package/dist/basic-sdk/comment/components/comment-operation/index.css +0 -26
- package/dist/basic-sdk/comment/components/comment-operation/index.js +0 -31
- package/dist/basic-sdk/comment/components/comment-participants-editor/index.css +0 -132
- package/dist/basic-sdk/comment/components/comment-participants-editor/index.js +0 -69
- package/dist/basic-sdk/comment/components/comment-participants-editor/searched-collaborators.js +0 -62
- package/dist/basic-sdk/comment/components/comment-participants-editor/selected-participants.js +0 -48
- package/dist/basic-sdk/comment/components/editor-comment.js +0 -183
- package/dist/basic-sdk/comment/components/elements-comment-count/element-comment-count.js +0 -64
- package/dist/basic-sdk/comment/components/elements-comment-count/index.css +0 -29
- package/dist/basic-sdk/comment/components/elements-comment-count/index.js +0 -49
- package/dist/basic-sdk/comment/components/global-comment/global-comment-body-header.js +0 -87
- package/dist/basic-sdk/comment/components/global-comment/global-comment-editor.js +0 -36
- package/dist/basic-sdk/comment/components/global-comment/global-comment-header.js +0 -82
- package/dist/basic-sdk/comment/components/global-comment/index.css +0 -326
- package/dist/basic-sdk/comment/components/global-comment/index.js +0 -212
- package/dist/basic-sdk/comment/components/index.js +0 -21
- package/dist/basic-sdk/comment/components/style.css +0 -40
- package/dist/basic-sdk/comment/helper.js +0 -184
- package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-context.js +0 -20
- package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-list.js +0 -45
- package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-mount.js +0 -58
- package/dist/basic-sdk/comment/hooks/notification-hooks/index.js +0 -25
- package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-context.js +0 -20
- package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-mount.js +0 -74
- package/dist/basic-sdk/comment/hooks/use-participants.js +0 -26
- package/dist/basic-sdk/comment/index.js +0 -67
- package/dist/basic-sdk/comment/provider/comment-context-provider.js +0 -37
- package/dist/basic-sdk/comment/provider/index.js +0 -23
- package/dist/basic-sdk/comment/provider/notification-context-provider.js +0 -31
- package/dist/basic-sdk/comment/provider/participants-content-provider.js +0 -96
- package/dist/basic-sdk/comment/reducer/comment-reducer.js +0 -353
- package/dist/basic-sdk/comment/reducer/notification-reducer.js +0 -89
- package/dist/basic-sdk/comment/utils/get-event-transfer.js +0 -77
- package/dist/basic-sdk/comment/utils/index.js +0 -281
- package/dist/basic-sdk/comment/utils/notification-utils.js +0 -62
- package/dist/basic-sdk/editor/comment-article.js +0 -104
- package/dist/basic-sdk/editor/sdoc-comment-editor.js +0 -128
- package/dist/basic-sdk/editor/sdoc-editor.js +0 -50
- package/dist/basic-sdk/hooks/use-collaborators.js +0 -62
- package/dist/basic-sdk/hooks/use-plugins.js +0 -9
- package/dist/basic-sdk/layout/article-container.js +0 -89
- package/dist/basic-sdk/layout/editor-container.js +0 -32
- package/dist/basic-sdk/layout/index.js +0 -20
- package/dist/basic-sdk/right-panel/index.css +0 -15
- package/dist/basic-sdk/right-panel/index.js +0 -86
- package/dist/basic-sdk/right-panel/resize-width/index.css +0 -38
- package/dist/basic-sdk/right-panel/resize-width/index.js +0 -132
- package/dist/basic-sdk/socket/helpers.js +0 -299
- package/dist/basic-sdk/socket/index.js +0 -20
- package/dist/basic-sdk/socket/socket-client.js +0 -211
- package/dist/basic-sdk/socket/socket-manager.js +0 -386
- package/dist/basic-sdk/socket/with-socket-io.js +0 -73
- package/dist/hooks/index.js +0 -12
- package/dist/hooks/use-document.js +0 -75
- /package/dist/basic-sdk/comment/{constants/index.js → constants.js} +0 -0
|
@@ -9,7 +9,6 @@ exports.default = void 0;
|
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactI18next = require("react-i18next");
|
|
11
11
|
var _slate = require("@seafile/slate");
|
|
12
|
-
var _commentContextMenu = _interopRequireDefault(require("../../../../comment/components/comment-context-menu"));
|
|
13
12
|
var _constants = require("../../../../constants");
|
|
14
13
|
var _context = _interopRequireDefault(require("../../../../context"));
|
|
15
14
|
var _useColorContext = require("../../../../hooks/use-color-context");
|
|
@@ -156,7 +155,7 @@ const TextStyleMenuList = _ref => {
|
|
|
156
155
|
tipMessage: t('Reduce_font_size')
|
|
157
156
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
158
157
|
className: "sdocfont sdoc-reduce-font-size"
|
|
159
|
-
}))), idPrefix &&
|
|
158
|
+
}))), idPrefix && enableSeafileAI && /*#__PURE__*/_react.default.createElement(_aiMenu.AIContextMenu, {
|
|
160
159
|
isRichEditor: isRichEditor
|
|
161
160
|
}));
|
|
162
161
|
};
|
|
@@ -21,7 +21,7 @@ const RenderCommentEditorCustomRenderElement = props => {
|
|
|
21
21
|
const parentNode = (0, _core.getParentNode)(editor.children, element.id);
|
|
22
22
|
const _props = {
|
|
23
23
|
...props,
|
|
24
|
-
className: '
|
|
24
|
+
className: 'comment-editor-paragraph'
|
|
25
25
|
};
|
|
26
26
|
if (parentNode && parentNode.type === _constants.LIST_ITEM) {
|
|
27
27
|
const [renderParagraph] = _plugins.ParagraphPlugin.renderElements;
|
|
@@ -27,9 +27,9 @@ const CommentEditorToolbar = _ref => {
|
|
|
27
27
|
(0, _useSelectionUpdate.default)();
|
|
28
28
|
const eventBus = _eventBus.default.getInstance();
|
|
29
29
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
30
|
-
className: "
|
|
30
|
+
className: "comment-editor-toolbar"
|
|
31
31
|
}, /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, {
|
|
32
|
-
className: "menu-group
|
|
32
|
+
className: "menu-group comment-editor-menu-group"
|
|
33
33
|
}, /*#__PURE__*/_react.default.createElement(_comemntEditorMenu.default, {
|
|
34
34
|
editor: editor,
|
|
35
35
|
readonly: readonly
|
|
@@ -53,7 +53,7 @@ const CommentEditorToolbar = _ref => {
|
|
|
53
53
|
readonly: readonly,
|
|
54
54
|
eventBus: eventBus
|
|
55
55
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
56
|
-
className: "
|
|
56
|
+
className: "comment-editor-toolbar-right"
|
|
57
57
|
}, /*#__PURE__*/_react.default.createElement(_postComment.default, {
|
|
58
58
|
editor: editor,
|
|
59
59
|
onSubmit: onSubmit,
|
|
@@ -25,12 +25,12 @@ const PostCommentBtn = _ref => {
|
|
|
25
25
|
}, [onCancel]);
|
|
26
26
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
27
27
|
role: "button",
|
|
28
|
-
id: "
|
|
28
|
+
id: "comment-editor-comment-btn"
|
|
29
29
|
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
30
30
|
className: "sdocfont sdoc-save sdoc-comment-btn",
|
|
31
31
|
onClick: onSubmit
|
|
32
32
|
}), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
33
|
-
target: "
|
|
33
|
+
target: "comment-editor-comment-btn"
|
|
34
34
|
}, submitBtnText));
|
|
35
35
|
};
|
|
36
36
|
var _default = exports.default = PostCommentBtn;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useComment = exports.CommentProvider = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _reactI18next = require("react-i18next");
|
|
10
|
+
require("../assets/css/layout.css");
|
|
11
|
+
require("../assets/css/default.css");
|
|
12
|
+
require("../assets/css/sdoc-editor-article.css");
|
|
13
|
+
require("../assets/css/sdoc-editor-plugins.css");
|
|
14
|
+
require("../assets/css/sdoc-comment-editor-plugin.css");
|
|
15
|
+
require("../assets/css/dropdown-menu.css");
|
|
16
|
+
const CommentContext = /*#__PURE__*/_react.default.createContext(null);
|
|
17
|
+
const CommentProvider = _ref => {
|
|
18
|
+
let {
|
|
19
|
+
children,
|
|
20
|
+
type,
|
|
21
|
+
userInfo,
|
|
22
|
+
pluginName = '',
|
|
23
|
+
className = '',
|
|
24
|
+
pluginEventBus,
|
|
25
|
+
pluginEvent
|
|
26
|
+
} = _ref;
|
|
27
|
+
const {
|
|
28
|
+
t
|
|
29
|
+
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
30
|
+
const [collaborators, setCollaborators] = (0, _react.useState)([]);
|
|
31
|
+
return /*#__PURE__*/_react.default.createElement(CommentContext.Provider, {
|
|
32
|
+
value: {
|
|
33
|
+
type,
|
|
34
|
+
userInfo,
|
|
35
|
+
pluginName,
|
|
36
|
+
className,
|
|
37
|
+
pluginEventBus,
|
|
38
|
+
pluginEvent,
|
|
39
|
+
collaborators
|
|
40
|
+
}
|
|
41
|
+
}, children);
|
|
42
|
+
};
|
|
43
|
+
exports.CommentProvider = CommentProvider;
|
|
44
|
+
const useComment = () => {
|
|
45
|
+
const context = (0, _react.useContext)(CommentContext);
|
|
46
|
+
if (!context) {
|
|
47
|
+
throw new Error('\'CommentContext\' is null');
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
...context
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
exports.useComment = useComment;
|
package/dist/basic-sdk/index.js
CHANGED
|
@@ -4,10 +4,16 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
Object.defineProperty(exports, "
|
|
7
|
+
Object.defineProperty(exports, "CommentEditor", {
|
|
8
8
|
enumerable: true,
|
|
9
9
|
get: function () {
|
|
10
|
-
return
|
|
10
|
+
return _commentEditor.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "CommentProvider", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _useComment.CommentProvider;
|
|
11
17
|
}
|
|
12
18
|
});
|
|
13
19
|
Object.defineProperty(exports, "DropdownMenuItem", {
|
|
@@ -58,36 +64,12 @@ Object.defineProperty(exports, "MenuShortcutPrompt", {
|
|
|
58
64
|
return _menuShortcutIndicator.default;
|
|
59
65
|
}
|
|
60
66
|
});
|
|
61
|
-
Object.defineProperty(exports, "Provider", {
|
|
62
|
-
enumerable: true,
|
|
63
|
-
get: function () {
|
|
64
|
-
return _provider.default;
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
Object.defineProperty(exports, "RightPanel", {
|
|
68
|
-
enumerable: true,
|
|
69
|
-
get: function () {
|
|
70
|
-
return _rightPanel.default;
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
Object.defineProperty(exports, "SDocEditor", {
|
|
74
|
-
enumerable: true,
|
|
75
|
-
get: function () {
|
|
76
|
-
return _sdocEditor.default;
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
67
|
Object.defineProperty(exports, "Tooltip", {
|
|
80
68
|
enumerable: true,
|
|
81
69
|
get: function () {
|
|
82
70
|
return _tooltip.default;
|
|
83
71
|
}
|
|
84
72
|
});
|
|
85
|
-
Object.defineProperty(exports, "WIKI_EDITOR_EDIT_AREA_WIDTH", {
|
|
86
|
-
enumerable: true,
|
|
87
|
-
get: function () {
|
|
88
|
-
return _constants.WIKI_EDITOR_EDIT_AREA_WIDTH;
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
73
|
Object.defineProperty(exports, "context", {
|
|
92
74
|
enumerable: true,
|
|
93
75
|
get: function () {
|
|
@@ -154,10 +136,10 @@ Object.defineProperty(exports, "toaster", {
|
|
|
154
136
|
return _toast.default;
|
|
155
137
|
}
|
|
156
138
|
});
|
|
157
|
-
Object.defineProperty(exports, "
|
|
139
|
+
Object.defineProperty(exports, "useComment", {
|
|
158
140
|
enumerable: true,
|
|
159
141
|
get: function () {
|
|
160
|
-
return
|
|
142
|
+
return _useComment.useComment;
|
|
161
143
|
}
|
|
162
144
|
});
|
|
163
145
|
Object.defineProperty(exports, "withNodeId", {
|
|
@@ -166,28 +148,19 @@ Object.defineProperty(exports, "withNodeId", {
|
|
|
166
148
|
return _nodeId.default;
|
|
167
149
|
}
|
|
168
150
|
});
|
|
169
|
-
Object.defineProperty(exports, "withSocketIO", {
|
|
170
|
-
enumerable: true,
|
|
171
|
-
get: function () {
|
|
172
|
-
return _socket.withSocketIO;
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
var _provider = _interopRequireDefault(require("./comment/provider"));
|
|
176
151
|
var _fileLoading = _interopRequireDefault(require("./components/file-loading"));
|
|
177
152
|
var _loading = _interopRequireDefault(require("./components/loading"));
|
|
178
153
|
var _toast = _interopRequireDefault(require("./components/toast"));
|
|
179
154
|
var _tooltip = _interopRequireDefault(require("./components/tooltip"));
|
|
180
155
|
var _constants = require("./constants");
|
|
181
156
|
var _context = _interopRequireDefault(require("./context"));
|
|
182
|
-
var
|
|
157
|
+
var _commentEditor = _interopRequireDefault(require("./editor/comment-editor"));
|
|
183
158
|
var _extension = require("./extension");
|
|
184
159
|
var _dropdownMenuItem = _interopRequireDefault(require("./extension/commons/dropdown-menu-item"));
|
|
185
160
|
var _menuShortcutIndicator = _interopRequireDefault(require("./extension/commons/menu-shortcut-indicator"));
|
|
186
|
-
var
|
|
161
|
+
var _useComment = require("./hooks/use-comment");
|
|
187
162
|
var _nodeId = _interopRequireDefault(require("./node-id"));
|
|
188
|
-
var _rightPanel = _interopRequireDefault(require("./right-panel"));
|
|
189
163
|
var _slateConvert = require("./slate-convert");
|
|
190
|
-
var _socket = require("./socket");
|
|
191
164
|
var _commonUtils = require("./utils/common-utils");
|
|
192
165
|
var _eventBus = _interopRequireDefault(require("./utils/event-bus"));
|
|
193
166
|
var _localStorageUtils = _interopRequireDefault(require("./utils/local-storage-utils"));
|
|
@@ -1,69 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
9
|
var _reactI18next = require("react-i18next");
|
|
11
10
|
var _basicSdk = require("../basic-sdk");
|
|
12
11
|
var _errorBoundary = _interopRequireDefault(require("../components/error-boundary"));
|
|
13
|
-
var _hooks = require("../hooks");
|
|
14
|
-
require("../assets/css/simple-editor.css");
|
|
15
12
|
const SeafileCommentEditor = _ref => {
|
|
16
13
|
let {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
type,
|
|
15
|
+
userInfo,
|
|
16
|
+
pluginName = '',
|
|
17
|
+
className = '',
|
|
18
|
+
commentContent,
|
|
19
|
+
hiddenUserInfo,
|
|
20
|
+
insertContent,
|
|
21
|
+
hiddenComment,
|
|
22
|
+
onContentChange,
|
|
23
|
+
addParticipants,
|
|
24
|
+
pluginEventBus,
|
|
25
|
+
pluginEvent,
|
|
26
|
+
api
|
|
24
27
|
} = _ref;
|
|
25
|
-
_basicSdk.context.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}));
|
|
42
|
-
const {
|
|
43
|
-
cursors
|
|
44
|
-
} = document;
|
|
45
|
-
newEditor.cursors = cursors || {};
|
|
46
|
-
newEditor.width = 672; // default width
|
|
47
|
-
return newEditor;
|
|
48
|
-
|
|
49
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50
|
-
}, []);
|
|
51
|
-
if (isFirstLoading) {
|
|
52
|
-
return /*#__PURE__*/_react.default.createElement(_basicSdk.Loading, null);
|
|
53
|
-
}
|
|
54
|
-
if (errorMessage) {
|
|
55
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
56
|
-
className: "error-page"
|
|
57
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
58
|
-
className: "error-tip"
|
|
59
|
-
}, t(errorMessage)));
|
|
60
|
-
}
|
|
61
|
-
return /*#__PURE__*/_react.default.createElement(_errorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_basicSdk.CollaboratorsProvider, {
|
|
62
|
-
collaborators: collaborators
|
|
63
|
-
}, /*#__PURE__*/_react.default.createElement(_basicSdk.Provider, {
|
|
64
|
-
editor: validEditor
|
|
65
|
-
}, /*#__PURE__*/_react.default.createElement(_basicSdk.RightPanel, {
|
|
66
|
-
editor: validEditor
|
|
67
|
-
}))));
|
|
28
|
+
_basicSdk.context.init(api);
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement(_errorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_basicSdk.CommentProvider, {
|
|
30
|
+
type: type,
|
|
31
|
+
userInfo: userInfo,
|
|
32
|
+
pluginName: pluginName,
|
|
33
|
+
className: className,
|
|
34
|
+
pluginEventBus: pluginEventBus,
|
|
35
|
+
pluginEvent: pluginEvent
|
|
36
|
+
}, /*#__PURE__*/_react.default.createElement(_basicSdk.CommentEditor, {
|
|
37
|
+
commentContent: commentContent,
|
|
38
|
+
hiddenUserInfo: hiddenUserInfo,
|
|
39
|
+
insertContent: insertContent,
|
|
40
|
+
hiddenComment: hiddenComment,
|
|
41
|
+
onContentChange: onContentChange,
|
|
42
|
+
addParticipants: addParticipants
|
|
43
|
+
})));
|
|
68
44
|
};
|
|
69
45
|
var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(SeafileCommentEditor);
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/comment-editor",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.10",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "This is a comment editor",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"dependencies": {
|
|
8
|
+
"@seafile/comment-editor": "^0.0.1-alpha.0",
|
|
8
9
|
"@seafile/print-js": "1.6.6",
|
|
9
10
|
"@seafile/react-image-lightbox": "4.0.2",
|
|
10
11
|
"@seafile/sdoc-editor": "2.0.60",
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
.sdoc-comment-drawer .comments-panel-body__header .comments-participants-container {
|
|
2
|
-
width: fit-content;
|
|
3
|
-
max-width: 100%;
|
|
4
|
-
height: 42px;
|
|
5
|
-
padding-top: 6px;
|
|
6
|
-
display: flex;
|
|
7
|
-
align-items: center;
|
|
8
|
-
position: relative;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.sdoc-comment-drawer .comments-panel-body__header .comments-participants-editor-target {
|
|
12
|
-
position: absolute;
|
|
13
|
-
left: -1px;
|
|
14
|
-
top: 0;
|
|
15
|
-
z-index: -1;
|
|
16
|
-
height: 100%;
|
|
17
|
-
width: 1px;
|
|
18
|
-
background-color: transparent;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.sdoc-comment-drawer .comments-panel-body__header .comment-participant-avatar {
|
|
22
|
-
border-radius: 50%;
|
|
23
|
-
vertical-align: middle;
|
|
24
|
-
margin-right: -0.5rem;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.sdoc-comment-drawer .comments-panel-body__header .comment-participant-avatar img {
|
|
28
|
-
width: 28px;
|
|
29
|
-
height: 28px;
|
|
30
|
-
border: 2px solid #fff;
|
|
31
|
-
line-height: 2rem;
|
|
32
|
-
border-radius: 50%;
|
|
33
|
-
display: inline-block;
|
|
34
|
-
background: #ced4da no-repeat center/cover;
|
|
35
|
-
position: relative;
|
|
36
|
-
text-align: center;
|
|
37
|
-
color: #868e96;
|
|
38
|
-
font-weight: 600;
|
|
39
|
-
vertical-align: bottom;
|
|
40
|
-
font-size: .875rem;
|
|
41
|
-
user-select: none;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.sdoc-comment-drawer .comments-panel-body__header .add-comments-participants {
|
|
45
|
-
position: relative;
|
|
46
|
-
bottom: -3px;
|
|
47
|
-
cursor: pointer;
|
|
48
|
-
margin-right: -0.5rem;
|
|
49
|
-
height: 20px;
|
|
50
|
-
width: 20px;
|
|
51
|
-
background-color: #fff;
|
|
52
|
-
border: 1px solid #fff;
|
|
53
|
-
border-radius: 50%;
|
|
54
|
-
display: flex;
|
|
55
|
-
align-items: center;
|
|
56
|
-
justify-content: center;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.sdoc-comment-drawer .add-comments-participants .sdocfont {
|
|
60
|
-
font-size: 16px;
|
|
61
|
-
color: #ff8000;
|
|
62
|
-
border-radius: 50%;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.sdoc-comment-drawer .comment-participants-more {
|
|
66
|
-
position: absolute;
|
|
67
|
-
top: 0;
|
|
68
|
-
left: 0;
|
|
69
|
-
width: 28px;
|
|
70
|
-
height: 28px;
|
|
71
|
-
border-radius: 50%;
|
|
72
|
-
display: flex;
|
|
73
|
-
align-items: center;
|
|
74
|
-
justify-content: center;
|
|
75
|
-
overflow: hidden;
|
|
76
|
-
background-color: rgba(0, 0, 0, .6);
|
|
77
|
-
border: 2px solid #fff;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.sdoc-comment-drawer .comment-participants-more .sdocfont {
|
|
81
|
-
color: #fff;
|
|
82
|
-
font-size: 12px;
|
|
83
|
-
}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _reactI18next = require("react-i18next");
|
|
11
|
-
var _slateReact = require("@seafile/slate-react");
|
|
12
|
-
var _tooltip = _interopRequireDefault(require("../../../components/tooltip"));
|
|
13
|
-
var _useParticipants = require("../../hooks/use-participants");
|
|
14
|
-
var _commentParticipantsEditor = _interopRequireDefault(require("../comment-participants-editor"));
|
|
15
|
-
var _participantAvatar = _interopRequireDefault(require("./participant-avatar"));
|
|
16
|
-
require("./index.css");
|
|
17
|
-
const CommentAllParticipants = () => {
|
|
18
|
-
const popoverRef = (0, _react.useRef)();
|
|
19
|
-
const {
|
|
20
|
-
participants
|
|
21
|
-
} = (0, _useParticipants.useParticipantsContext)();
|
|
22
|
-
const editor = (0, _slateReact.useSlateStatic)();
|
|
23
|
-
const {
|
|
24
|
-
t
|
|
25
|
-
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
26
|
-
const addParticipantId = 'sdoc-add-participants';
|
|
27
|
-
const commentsParticipantsId = 'sdoc-comments-participants';
|
|
28
|
-
const [isDidMount, setDidMount] = (0, _react.useState)(false);
|
|
29
|
-
(0, _react.useEffect)(() => {
|
|
30
|
-
setDidMount(true);
|
|
31
|
-
}, []);
|
|
32
|
-
const toggle = (0, _react.useCallback)(() => {
|
|
33
|
-
popoverRef.current && popoverRef.current.toggle();
|
|
34
|
-
|
|
35
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
36
|
-
}, [popoverRef.current]);
|
|
37
|
-
const participantsCount = participants.length;
|
|
38
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
39
|
-
className: "comments-participants-container"
|
|
40
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
41
|
-
className: "comments-participants-editor-target",
|
|
42
|
-
id: commentsParticipantsId
|
|
43
|
-
}), participants.slice(0, 14).map((participant, index) => {
|
|
44
|
-
const {
|
|
45
|
-
username
|
|
46
|
-
} = participant;
|
|
47
|
-
return /*#__PURE__*/_react.default.createElement(_participantAvatar.default, {
|
|
48
|
-
key: username,
|
|
49
|
-
participant: participant,
|
|
50
|
-
index: index,
|
|
51
|
-
showMore: participantsCount > 13 && index === 13
|
|
52
|
-
});
|
|
53
|
-
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
54
|
-
className: "add-comments-participants",
|
|
55
|
-
id: addParticipantId,
|
|
56
|
-
onClick: toggle
|
|
57
|
-
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
58
|
-
className: "sdocfont sdoc-add"
|
|
59
|
-
})), isDidMount && /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
60
|
-
target: addParticipantId
|
|
61
|
-
}, t('Add_participants'))), isDidMount && /*#__PURE__*/_react.default.createElement(_commentParticipantsEditor.default, {
|
|
62
|
-
target: commentsParticipantsId,
|
|
63
|
-
ref: popoverRef,
|
|
64
|
-
editor: editor
|
|
65
|
-
}));
|
|
66
|
-
};
|
|
67
|
-
var _default = exports.default = CommentAllParticipants;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
-
var _tooltip = _interopRequireDefault(require("../../../components/tooltip"));
|
|
12
|
-
const ParticipantAvatar = _ref => {
|
|
13
|
-
let {
|
|
14
|
-
participant,
|
|
15
|
-
index,
|
|
16
|
-
showMore
|
|
17
|
-
} = _ref;
|
|
18
|
-
const [showTooltip, setShowTooltip] = (0, _react.useState)(false);
|
|
19
|
-
(0, _react.useEffect)(() => {
|
|
20
|
-
setShowTooltip(true);
|
|
21
|
-
}, []);
|
|
22
|
-
const {
|
|
23
|
-
name,
|
|
24
|
-
avatar_url
|
|
25
|
-
} = participant;
|
|
26
|
-
const id = `comment-participant-avatar-${index}-${Math.floor(Math.random() * 1000)}`;
|
|
27
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
28
|
-
className: (0, _classnames.default)('comment-participant-avatar', {
|
|
29
|
-
'position-relative': showMore
|
|
30
|
-
}),
|
|
31
|
-
id: id
|
|
32
|
-
}, /*#__PURE__*/_react.default.createElement("img", {
|
|
33
|
-
src: avatar_url,
|
|
34
|
-
alt: ""
|
|
35
|
-
}), showTooltip && /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
36
|
-
target: id
|
|
37
|
-
}, name), showMore && /*#__PURE__*/_react.default.createElement("div", {
|
|
38
|
-
className: "comment-participants-more"
|
|
39
|
-
}, /*#__PURE__*/_react.default.createElement("i", {
|
|
40
|
-
className: "sdocfont sdoc-more"
|
|
41
|
-
})));
|
|
42
|
-
};
|
|
43
|
-
var _default = exports.default = ParticipantAvatar;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
.menu-group-item.sdoc-comment-menu-container {
|
|
2
|
-
width: auto;
|
|
3
|
-
color: #212529;
|
|
4
|
-
font-size: 14px;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.sdoc-comment-menu-item .sdoc-comments {
|
|
8
|
-
margin-right: 4px;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.sdoc-context-menu-divider {
|
|
12
|
-
margin-right: 8px;
|
|
13
|
-
border-left: 1px solid #e5e5e5;
|
|
14
|
-
width: 1px;
|
|
15
|
-
height: 24px;
|
|
16
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _constants = require("../../../constants");
|
|
11
|
-
var _eventBus = _interopRequireDefault(require("../../../utils/event-bus"));
|
|
12
|
-
var _menuItem = _interopRequireDefault(require("./menu-item"));
|
|
13
|
-
require("./index.css");
|
|
14
|
-
const CommentContextMenu = _ref => {
|
|
15
|
-
let {
|
|
16
|
-
isRichEditor
|
|
17
|
-
} = _ref;
|
|
18
|
-
const onCommentClick = (0, _react.useCallback)(event => {
|
|
19
|
-
// Make context toolbar disappear
|
|
20
|
-
const contextToolBarDom = document.querySelector('.sdoc-context-toolbar');
|
|
21
|
-
if (contextToolBarDom) {
|
|
22
|
-
contextToolBarDom.removeAttribute('style');
|
|
23
|
-
}
|
|
24
|
-
const eventBus = _eventBus.default.getInstance();
|
|
25
|
-
eventBus.dispatch(_constants.INTERNAL_EVENT.ADD_CONTEXT_COMMENT);
|
|
26
|
-
}, []);
|
|
27
|
-
const commentProps = {
|
|
28
|
-
id: 'context-toolbar-comment',
|
|
29
|
-
isRichEditor,
|
|
30
|
-
className: 'menu-group-item sdoc-comment-menu-container',
|
|
31
|
-
disabled: false,
|
|
32
|
-
isActive: false,
|
|
33
|
-
onMouseDown: onCommentClick,
|
|
34
|
-
iconClass: 'sdocfont sdoc-comments',
|
|
35
|
-
text: 'Comment',
|
|
36
|
-
ariaLabel: 'Add_Comment',
|
|
37
|
-
type: 'sdoc-add-comment'
|
|
38
|
-
};
|
|
39
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
40
|
-
className: "sdoc-context-menu-divider"
|
|
41
|
-
}), /*#__PURE__*/_react.default.createElement(_menuItem.default, commentProps));
|
|
42
|
-
};
|
|
43
|
-
var _default = exports.default = CommentContextMenu;
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _reactI18next = require("react-i18next");
|
|
11
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
|
-
var _tooltip = _interopRequireDefault(require("../../../components/tooltip"));
|
|
13
|
-
const MenuItem = _ref => {
|
|
14
|
-
let {
|
|
15
|
-
isRichEditor = true,
|
|
16
|
-
className = 'menu-group-item',
|
|
17
|
-
disabled,
|
|
18
|
-
isActive,
|
|
19
|
-
type,
|
|
20
|
-
onMouseDown,
|
|
21
|
-
id,
|
|
22
|
-
text,
|
|
23
|
-
ariaLabel,
|
|
24
|
-
iconClass
|
|
25
|
-
} = _ref;
|
|
26
|
-
const {
|
|
27
|
-
t
|
|
28
|
-
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
29
|
-
const onClick = (0, _react.useCallback)(event => {
|
|
30
|
-
if (disabled) return;
|
|
31
|
-
onMouseDown(event, type);
|
|
32
|
-
|
|
33
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
|
-
}, [disabled, type]);
|
|
35
|
-
const validClassName = (0, _classnames.default)('', className, {
|
|
36
|
-
'btn btn-icon btn-secondary btn-active': !isRichEditor,
|
|
37
|
-
'rich-icon-btn': isRichEditor,
|
|
38
|
-
'rich-icon-btn-disabled': isRichEditor && disabled,
|
|
39
|
-
'rich-icon-btn-hover': isRichEditor && !disabled
|
|
40
|
-
});
|
|
41
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("button", {
|
|
42
|
-
id: id,
|
|
43
|
-
type: "button",
|
|
44
|
-
"aria-label": ariaLabel,
|
|
45
|
-
className: validClassName,
|
|
46
|
-
disabled: disabled,
|
|
47
|
-
"data-active": isActive,
|
|
48
|
-
onClick: onClick
|
|
49
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
50
|
-
className: "sdoc-comment-menu-item"
|
|
51
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
52
|
-
className: iconClass
|
|
53
|
-
}), /*#__PURE__*/_react.default.createElement("span", null, t(text)))), /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
54
|
-
target: id
|
|
55
|
-
}, t(ariaLabel)));
|
|
56
|
-
};
|
|
57
|
-
var _default = exports.default = MenuItem;
|