@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.
Files changed (93) hide show
  1. package/README.md +2 -4
  2. package/dist/basic-sdk/assets/css/layout.css +1 -45
  3. package/dist/basic-sdk/assets/css/sdoc-comment-editor-plugin.css +4 -4
  4. package/dist/basic-sdk/comment/utils.js +39 -0
  5. package/dist/basic-sdk/constants/index.js +1 -2
  6. package/dist/basic-sdk/context.js +9 -8
  7. package/dist/basic-sdk/editor/comment-editor.css +138 -0
  8. package/dist/basic-sdk/editor/comment-editor.js +289 -0
  9. package/dist/basic-sdk/extension/plugins/image/helpers.js +1 -1
  10. package/dist/basic-sdk/extension/plugins/image/use-copy-image.js +1 -1
  11. package/dist/basic-sdk/extension/plugins/image/use-upload-image.js +2 -1
  12. package/dist/basic-sdk/extension/plugins/link/menu/index.js +1 -1
  13. package/dist/basic-sdk/extension/plugins/mention/render-elem/participant-popover.js +3 -6
  14. package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +1 -2
  15. package/dist/basic-sdk/extension/render/render-comment-editor-element.js +1 -1
  16. package/dist/basic-sdk/extension/toolbar/comment-editor-toolbar/index.js +3 -3
  17. package/dist/basic-sdk/extension/toolbar/comment-editor-toolbar/post-comment/index.js +2 -2
  18. package/dist/basic-sdk/hooks/use-comment.js +53 -0
  19. package/dist/basic-sdk/index.js +12 -39
  20. package/dist/pages/seafile-comment-editor.js +30 -54
  21. package/package.json +2 -1
  22. package/dist/assets/css/plugin-editor.css +0 -7
  23. package/dist/assets/css/simple-viewer.css +0 -6
  24. package/dist/basic-sdk/comment/components/comment-all-participants/index.css +0 -83
  25. package/dist/basic-sdk/comment/components/comment-all-participants/index.js +0 -67
  26. package/dist/basic-sdk/comment/components/comment-all-participants/participant-avatar.js +0 -43
  27. package/dist/basic-sdk/comment/components/comment-context-menu/index.css +0 -16
  28. package/dist/basic-sdk/comment/components/comment-context-menu/index.js +0 -43
  29. package/dist/basic-sdk/comment/components/comment-context-menu/menu-item.js +0 -57
  30. package/dist/basic-sdk/comment/components/comment-delete-popover.js +0 -80
  31. package/dist/basic-sdk/comment/components/comment-editor.js +0 -165
  32. package/dist/basic-sdk/comment/components/comment-item-collapse-wrapper.js +0 -160
  33. package/dist/basic-sdk/comment/components/comment-item-content.js +0 -156
  34. package/dist/basic-sdk/comment/components/comment-item-reply.js +0 -124
  35. package/dist/basic-sdk/comment/components/comment-item-resolved-reply.js +0 -38
  36. package/dist/basic-sdk/comment/components/comment-item-wrapper.js +0 -368
  37. package/dist/basic-sdk/comment/components/comment-list.css +0 -422
  38. package/dist/basic-sdk/comment/components/comment-list.js +0 -216
  39. package/dist/basic-sdk/comment/components/comment-operation/index.css +0 -26
  40. package/dist/basic-sdk/comment/components/comment-operation/index.js +0 -31
  41. package/dist/basic-sdk/comment/components/comment-participants-editor/index.css +0 -132
  42. package/dist/basic-sdk/comment/components/comment-participants-editor/index.js +0 -69
  43. package/dist/basic-sdk/comment/components/comment-participants-editor/searched-collaborators.js +0 -62
  44. package/dist/basic-sdk/comment/components/comment-participants-editor/selected-participants.js +0 -48
  45. package/dist/basic-sdk/comment/components/editor-comment.js +0 -183
  46. package/dist/basic-sdk/comment/components/elements-comment-count/element-comment-count.js +0 -64
  47. package/dist/basic-sdk/comment/components/elements-comment-count/index.css +0 -29
  48. package/dist/basic-sdk/comment/components/elements-comment-count/index.js +0 -49
  49. package/dist/basic-sdk/comment/components/global-comment/global-comment-body-header.js +0 -87
  50. package/dist/basic-sdk/comment/components/global-comment/global-comment-editor.js +0 -36
  51. package/dist/basic-sdk/comment/components/global-comment/global-comment-header.js +0 -82
  52. package/dist/basic-sdk/comment/components/global-comment/index.css +0 -326
  53. package/dist/basic-sdk/comment/components/global-comment/index.js +0 -212
  54. package/dist/basic-sdk/comment/components/index.js +0 -21
  55. package/dist/basic-sdk/comment/components/style.css +0 -40
  56. package/dist/basic-sdk/comment/helper.js +0 -184
  57. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-context.js +0 -20
  58. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-list.js +0 -45
  59. package/dist/basic-sdk/comment/hooks/comment-hooks/use-comment-mount.js +0 -58
  60. package/dist/basic-sdk/comment/hooks/notification-hooks/index.js +0 -25
  61. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-context.js +0 -20
  62. package/dist/basic-sdk/comment/hooks/notification-hooks/use-notification-mount.js +0 -74
  63. package/dist/basic-sdk/comment/hooks/use-participants.js +0 -26
  64. package/dist/basic-sdk/comment/index.js +0 -67
  65. package/dist/basic-sdk/comment/provider/comment-context-provider.js +0 -37
  66. package/dist/basic-sdk/comment/provider/index.js +0 -23
  67. package/dist/basic-sdk/comment/provider/notification-context-provider.js +0 -31
  68. package/dist/basic-sdk/comment/provider/participants-content-provider.js +0 -96
  69. package/dist/basic-sdk/comment/reducer/comment-reducer.js +0 -353
  70. package/dist/basic-sdk/comment/reducer/notification-reducer.js +0 -89
  71. package/dist/basic-sdk/comment/utils/get-event-transfer.js +0 -77
  72. package/dist/basic-sdk/comment/utils/index.js +0 -281
  73. package/dist/basic-sdk/comment/utils/notification-utils.js +0 -62
  74. package/dist/basic-sdk/editor/comment-article.js +0 -104
  75. package/dist/basic-sdk/editor/sdoc-comment-editor.js +0 -128
  76. package/dist/basic-sdk/editor/sdoc-editor.js +0 -50
  77. package/dist/basic-sdk/hooks/use-collaborators.js +0 -62
  78. package/dist/basic-sdk/hooks/use-plugins.js +0 -9
  79. package/dist/basic-sdk/layout/article-container.js +0 -89
  80. package/dist/basic-sdk/layout/editor-container.js +0 -32
  81. package/dist/basic-sdk/layout/index.js +0 -20
  82. package/dist/basic-sdk/right-panel/index.css +0 -15
  83. package/dist/basic-sdk/right-panel/index.js +0 -86
  84. package/dist/basic-sdk/right-panel/resize-width/index.css +0 -38
  85. package/dist/basic-sdk/right-panel/resize-width/index.js +0 -132
  86. package/dist/basic-sdk/socket/helpers.js +0 -299
  87. package/dist/basic-sdk/socket/index.js +0 -20
  88. package/dist/basic-sdk/socket/socket-client.js +0 -211
  89. package/dist/basic-sdk/socket/socket-manager.js +0 -386
  90. package/dist/basic-sdk/socket/with-socket-io.js +0 -73
  91. package/dist/hooks/index.js +0 -12
  92. package/dist/hooks/use-document.js +0 -75
  93. /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 && ![_constants.DOCUMENT_PLUGIN_EDITOR, _constants.WIKI_EDITOR].includes(editor.editorType) && /*#__PURE__*/_react.default.createElement(_commentContextMenu.default, null), idPrefix && enableSeafileAI && /*#__PURE__*/_react.default.createElement(_aiMenu.AIContextMenu, {
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: 'sdoc-comment-editor-paragraph'
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: "sdoc-comment-editor-toolbar"
30
+ className: "comment-editor-toolbar"
31
31
  }, /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, {
32
- className: "menu-group sdoc-comment-editor-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: "sdoc-comment-editor-toolbar-right"
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: "sdoc-comment-editor-comment-btn"
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: "sdoc-comment-editor-comment-btn"
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;
@@ -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, "CollaboratorsProvider", {
7
+ Object.defineProperty(exports, "CommentEditor", {
8
8
  enumerable: true,
9
9
  get: function () {
10
- return _useCollaborators.CollaboratorsProvider;
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, "useCollaborators", {
139
+ Object.defineProperty(exports, "useComment", {
158
140
  enumerable: true,
159
141
  get: function () {
160
- return _useCollaborators.useCollaborators;
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 _sdocEditor = _interopRequireDefault(require("./editor/sdoc-editor"));
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 _useCollaborators = require("./hooks/use-collaborators");
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 = _interopRequireWildcard(require("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
- isStarred,
18
- isDraft,
19
- showComment,
20
- showDocOperations = true,
21
- t,
22
- plugins = [],
23
- collaborators
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.initApi();
26
- const editorRef = (0, _react.useRef)(null);
27
- const {
28
- isFirstLoading,
29
- isReloading,
30
- errorMessage,
31
- document,
32
- reloadDocument,
33
- setErrorMessage
34
- } = (0, _hooks.useDocument)();
35
- const validEditor = (0, _react.useMemo)(() => {
36
- const defaultEditor = (0, _basicSdk.createDefaultEditor)();
37
- const editorConfig = _basicSdk.context.getEditorConfig();
38
- const newEditor = (0, _basicSdk.withNodeId)((0, _basicSdk.withSocketIO)(defaultEditor, {
39
- document,
40
- config: editorConfig
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.0",
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,7 +0,0 @@
1
- .sdoc-editor-container .sdoc-editor-content.no-outline .sdoc-article-container {
2
- margin: 0 auto !important;
3
- }
4
-
5
- html {
6
- scrollbar-width: none;
7
- }
@@ -1,6 +0,0 @@
1
- .sdoc-share-permission {
2
- font-size: 12px;
3
- padding: 2px 6px;
4
- border-radius: 4px;
5
- border: solid 1px rgba(0, 0, 0, 0.12);
6
- }
@@ -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;