@seafile/comment-editor 0.0.1-alpha.7 → 0.0.1-alpha.70

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 (34) hide show
  1. package/dist/_i18n/index.js +37 -0
  2. package/dist/basic-sdk/context.js +8 -21
  3. package/dist/basic-sdk/editor/comment-editor.js +213 -229
  4. package/dist/basic-sdk/extension/commons/color-menu/color-item.js +4 -2
  5. package/dist/basic-sdk/extension/commons/color-menu/index.js +4 -2
  6. package/dist/basic-sdk/extension/commons/select/field-setting.js +3 -2
  7. package/dist/basic-sdk/extension/commons/select-file-dialog/local-files/index.js +4 -2
  8. package/dist/basic-sdk/extension/plugins/code-block/hover-menu/index.js +5 -3
  9. package/dist/basic-sdk/extension/plugins/file-link/hover-menu/index.js +5 -3
  10. package/dist/basic-sdk/extension/plugins/header/menu/index.js +3 -2
  11. package/dist/basic-sdk/extension/plugins/image/helpers.js +1 -1
  12. package/dist/basic-sdk/extension/plugins/image/hover-menu/index.js +4 -2
  13. package/dist/basic-sdk/extension/plugins/image/render-elem.js +5 -3
  14. package/dist/basic-sdk/extension/plugins/image/use-copy-image.js +1 -1
  15. package/dist/basic-sdk/extension/plugins/image/use-upload-image.js +1 -1
  16. package/dist/basic-sdk/extension/plugins/sdoc-link/hover-menu/index.js +4 -2
  17. package/dist/basic-sdk/extension/plugins/table/menu/color-selector-popover/color-item.js +4 -2
  18. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/index.js +3 -2
  19. package/dist/basic-sdk/extension/plugins/table/menu/table-context-menu/insert-table-element.js +3 -2
  20. package/dist/basic-sdk/extension/plugins/table/menu/table-menu/index.js +1 -2
  21. package/dist/basic-sdk/extension/plugins/text-align/menu/index.js +1 -1
  22. package/dist/basic-sdk/extension/plugins/text-style/menu/comemnt-editor-menu.js +1 -2
  23. package/dist/basic-sdk/extension/plugins/text-style/menu/index.js +4 -2
  24. package/dist/basic-sdk/extension/plugins/video/render-elem.js +1 -2
  25. package/dist/basic-sdk/extension/toolbar/comment-editor-toolbar/index.js +13 -9
  26. package/dist/basic-sdk/hooks/use-comment.js +23 -12
  27. package/dist/basic-sdk/model/index.js +1 -8
  28. package/dist/basic-sdk/socket/helpers.js +312 -0
  29. package/dist/components/error-boundary/error-page.js +4 -4
  30. package/dist/pages/seafile-comment-editor.js +49 -26
  31. package/package.json +6 -6
  32. package/dist/basic-sdk/model/notification.js +0 -18
  33. package/dist/components/tip-message/index.js +0 -194
  34. package/dist/components/tip-message/style.css +0 -15
@@ -24,9 +24,11 @@ const FileLinkHoverMenu = _ref => {
24
24
  menuPosition,
25
25
  element,
26
26
  onUnwrapFileLinkNode,
27
- onHideInsertHoverMenu,
28
- t
27
+ onHideInsertHoverMenu
29
28
  } = _ref;
29
+ const {
30
+ t
31
+ } = (0, _reactI18next.useTranslation)('sdoc-editor');
30
32
  const readOnly = (0, _slateReact.useReadOnly)();
31
33
  const [isShowDisplayStylePopover, setIsShowDisplayStylePopover] = (0, _react.useState)(false);
32
34
  const onCopy = (0, _react.useCallback)(e => {
@@ -117,4 +119,4 @@ const FileLinkHoverMenu = _ref => {
117
119
  }));
118
120
  }))));
119
121
  };
120
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(FileLinkHoverMenu);
122
+ var _default = exports.default = FileLinkHoverMenu;
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _reactI18next = require("react-i18next");
12
11
  var _classnames = _interopRequireDefault(require("classnames"));
13
12
  var _tooltip = _interopRequireDefault(require("../../../../components/tooltip"));
14
13
  var _commonUtils = require("../../../../utils/common-utils");
@@ -16,6 +15,8 @@ var _constants = require("../../../constants");
16
15
  var _core = require("../../../core");
17
16
  var _helpers = require("../helpers");
18
17
  require("./style.css");
18
+ // import { withTranslation } from 'react-i18next';
19
+
19
20
  class HeaderMenu extends _react.default.Component {
20
21
  constructor(props) {
21
22
  super(props);
@@ -150,4 +151,4 @@ class HeaderMenu extends _react.default.Component {
150
151
  })));
151
152
  }
152
153
  }
153
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(HeaderMenu);
154
+ var _default = exports.default = HeaderMenu;
@@ -291,7 +291,7 @@ const handleBase64Image = (editor, path, imgData) => {
291
291
  const file = new File([blob], `${_slugid.default.nice()}.jpg`, {
292
292
  type: unit8Array.mime
293
293
  });
294
- _context.default.uploadLocalImage([file]).then(res => {
294
+ _context.default.api.uploadLocalImage([file]).then(res => {
295
295
  const _data = {
296
296
  ...imgData,
297
297
  src: res[0]
@@ -27,9 +27,11 @@ const ImageHoverMenu = _ref => {
27
27
  parentNodeEntry,
28
28
  imageCaptionInputRef,
29
29
  onHideImageHoverMenu,
30
- t,
31
30
  readonly
32
31
  } = _ref;
32
+ const {
33
+ t
34
+ } = (0, _reactI18next.useTranslation)('sdoc-editor');
33
35
  const {
34
36
  data,
35
37
  border_type = _constants2.IMAGE_BORDER_TYPE[0].type
@@ -299,4 +301,4 @@ const ImageHoverMenu = _ref => {
299
301
  }
300
302
  })));
301
303
  };
302
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(ImageHoverMenu);
304
+ var _default = exports.default = ImageHoverMenu;
@@ -33,9 +33,11 @@ const Image = _ref => {
33
33
  className,
34
34
  attributes,
35
35
  children,
36
- isSelected,
37
- t
36
+ isSelected
38
37
  } = _ref;
38
+ const {
39
+ t
40
+ } = (0, _reactI18next.useTranslation)('sdoc-editor');
39
41
  const {
40
42
  data,
41
43
  border_type = _constants3.IMAGE_BORDER_TYPE[0].type
@@ -348,7 +350,7 @@ const Image = _ref => {
348
350
  }
349
351
  })));
350
352
  };
351
- const SdocImage = (0, _reactI18next.withTranslation)('sdoc-editor')(Image);
353
+ const SdocImage = Image;
352
354
  function renderImage(props, editor) {
353
355
  // eslint-disable-next-line react-hooks/rules-of-hooks
354
356
  const isSelected = (0, _slateReact.useSelected)();
@@ -51,7 +51,7 @@ const useCopyImage = _ref => {
51
51
  const file = new File([blob], 'downloaded_image.png', {
52
52
  type: blob.type
53
53
  });
54
- const imageUrl = await _context.default.uploadLocalImage([file]);
54
+ const imageUrl = await _context.default.api.uploadLocalImage([file]);
55
55
  if (imageUrl && imageUrl[0]) {
56
56
  updateImageNode(editor, element, imageUrl[0]);
57
57
  }
@@ -42,7 +42,7 @@ const useUploadImage = _ref => {
42
42
  const uploadCurrentImage = async () => {
43
43
  try {
44
44
  const fileItem = _imageCache.default.getImage(file_uuid);
45
- const imageUrl = await _context.default.uploadLocalImage([fileItem]);
45
+ const imageUrl = await _context.default.api.uploadLocalImage([fileItem]);
46
46
  if (imageUrl && imageUrl[0]) {
47
47
  updateImageNode(editor, element, imageUrl[0]);
48
48
  }
@@ -25,9 +25,11 @@ const SdocLinkHoverMenu = _ref => {
25
25
  element,
26
26
  onUnwrapFileLinkNode,
27
27
  onHideInsertHoverMenu,
28
- t,
29
28
  url
30
29
  } = _ref;
30
+ const {
31
+ t
32
+ } = (0, _reactI18next.useTranslation)('sdoc-editor');
31
33
  const readOnly = (0, _slateReact.useReadOnly)();
32
34
  const [isShowDisplayStylePopover, setIsShowDisplayStylePopover] = (0, _react.useState)(false);
33
35
  const onCopy = (0, _react.useCallback)(e => {
@@ -116,4 +118,4 @@ const SdocLinkHoverMenu = _ref => {
116
118
  }));
117
119
  }))));
118
120
  };
119
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(SdocLinkHoverMenu);
121
+ var _default = exports.default = SdocLinkHoverMenu;
@@ -10,10 +10,12 @@ var _reactI18next = require("react-i18next");
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  const ColorItem = _ref => {
12
12
  let {
13
- t,
14
13
  color,
15
14
  lastUsedColor
16
15
  } = _ref;
16
+ const {
17
+ t
18
+ } = (0, _reactI18next.useTranslation)('sdoc-editor');
17
19
  return /*#__PURE__*/_react.default.createElement("div", {
18
20
  className: (0, _classnames.default)('sdoc-color-item', {
19
21
  'selected': lastUsedColor === color.value
@@ -28,4 +30,4 @@ const ColorItem = _ref => {
28
30
  }) : t(color.name)
29
31
  });
30
32
  };
31
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(ColorItem);
33
+ var _default = exports.default = ColorItem;
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
- var _reactI18next = require("react-i18next");
11
10
  var _constants = require("../../../../../constants");
12
11
  var _eventBus = _interopRequireDefault(require("../../../../../utils/event-bus"));
13
12
  var _KebabToCamel = _interopRequireDefault(require("../../../../../utils/Kebab-to-camel"));
@@ -22,6 +21,8 @@ var _horizontalAlignPopover = _interopRequireDefault(require("../horizontal-alig
22
21
  var _verticalAlignPopover = _interopRequireDefault(require("../vertical-align-popover"));
23
22
  var _insertTableElement = _interopRequireDefault(require("./insert-table-element"));
24
23
  require("./index.css");
24
+ // import { withTranslation } from 'react-i18next';
25
+
25
26
  class TableContextMenu extends _react.default.Component {
26
27
  constructor(props) {
27
28
  super(props);
@@ -229,4 +230,4 @@ class TableContextMenu extends _react.default.Component {
229
230
  }, t('Fit_table_to_page_width'))));
230
231
  }
231
232
  }
232
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(TableContextMenu);
233
+ var _default = exports.default = TableContextMenu;
@@ -8,10 +8,11 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _reactI18next = require("react-i18next");
12
11
  var _reactstrap = require("reactstrap");
13
12
  var _isHotkey = _interopRequireDefault(require("is-hotkey"));
14
13
  var _constants = require("../../constants");
14
+ // import { withTranslation } from 'react-i18next';
15
+
15
16
  class InsertTableElement extends _react.Component {
16
17
  constructor(props) {
17
18
  super(props);
@@ -94,4 +95,4 @@ class InsertTableElement extends _react.Component {
94
95
  }), /*#__PURE__*/_react.default.createElement("span", null, type === _constants.TABLE_ELEMENT.ROW ? t('Row(s)') : t('Column(s)'))));
95
96
  }
96
97
  }
97
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(InsertTableElement);
98
+ var _default = exports.default = InsertTableElement;
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
- var _reactI18next = require("react-i18next");
11
10
  var _dropdownMenuItem = _interopRequireDefault(require("../../../../commons/dropdown-menu-item"));
12
11
  var _constants = require("../../../../constants");
13
12
  var _helpers = require("../../helpers");
@@ -38,4 +37,4 @@ const TableMenu = _ref => {
38
37
  createTable: createTable
39
38
  }));
40
39
  };
41
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(TableMenu);
40
+ var _default = exports.default = TableMenu;
@@ -95,4 +95,4 @@ const TextAlignMenu = _ref => {
95
95
  }));
96
96
  }))));
97
97
  };
98
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(TextAlignMenu);
98
+ var _default = exports.default = TextAlignMenu;
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- var _reactI18next = require("react-i18next");
10
9
  var _commons = require("../../../commons");
11
10
  var _constants = require("../../../constants");
12
11
  var _menusConfig = require("../../../constants/menus-config");
@@ -69,4 +68,4 @@ const CommentEditorTextStyleMenuList = _ref => {
69
68
  key: index
70
69
  }, itemProps))));
71
70
  };
72
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(CommentEditorTextStyleMenuList);
71
+ var _default = exports.default = CommentEditorTextStyleMenuList;
@@ -25,12 +25,14 @@ var _helpers3 = require("../helpers");
25
25
  const TextStyleMenuList = _ref => {
26
26
  let {
27
27
  editor,
28
- t,
29
28
  isRichEditor,
30
29
  className,
31
30
  idPrefix,
32
31
  readonly
33
32
  } = _ref;
33
+ const {
34
+ t
35
+ } = (0, _reactI18next.useTranslation)('sdoc-editor');
34
36
  let selectedFontSize = (0, _helpers.getFontSize)(editor);
35
37
  let selectedFontSizeValue = selectedFontSize;
36
38
  const enableSeafileAI = _context.default.getSetting('enableSeafileAI');
@@ -159,4 +161,4 @@ const TextStyleMenuList = _ref => {
159
161
  isRichEditor: isRichEditor
160
162
  }));
161
163
  };
162
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(TextStyleMenuList);
164
+ var _default = exports.default = TextStyleMenuList;
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.renderVideo = renderVideo;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
- var _reactI18next = require("react-i18next");
10
9
  var _slate = require("@seafile/slate");
11
10
  var _slateReact = require("@seafile/slate-react");
12
11
  var _helpers = require("./helpers");
@@ -128,7 +127,7 @@ const Video = _ref => {
128
127
  }
129
128
  }))));
130
129
  };
131
- const SdocVideo = (0, _reactI18next.withTranslation)('sdoc-editor')(Video);
130
+ const SdocVideo = Video;
132
131
  function renderVideo(props, editor) {
133
132
  const {
134
133
  element,
@@ -22,33 +22,37 @@ const CommentEditorToolbar = _ref => {
22
22
  readonly = false,
23
23
  onSubmit,
24
24
  submitBtnText,
25
- onCancel
25
+ onCancel,
26
+ toolMenus
26
27
  } = _ref;
27
28
  (0, _useSelectionUpdate.default)();
28
29
  const eventBus = _eventBus.default.getInstance();
29
30
  return /*#__PURE__*/_react.default.createElement("div", {
30
- className: "comment-editor-toolbar"
31
- }, /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, {
31
+ className: "comment-editor-toolbar",
32
+ style: {
33
+ justifyContent: toolMenus.length === 0 ? 'end' : ''
34
+ }
35
+ }, toolMenus.length !== 0 && /*#__PURE__*/_react.default.createElement(_commons.MenuGroup, {
32
36
  className: "menu-group comment-editor-menu-group"
33
- }, /*#__PURE__*/_react.default.createElement(_comemntEditorMenu.default, {
37
+ }, toolMenus.includes('text_style') && /*#__PURE__*/_react.default.createElement(_comemntEditorMenu.default, {
34
38
  editor: editor,
35
39
  readonly: readonly
36
- }), /*#__PURE__*/_react.default.createElement(_menu.default, {
40
+ }), toolMenus.includes(_constants.BLOCKQUOTE) && /*#__PURE__*/_react.default.createElement(_menu.default, {
37
41
  editor: editor,
38
42
  readonly: readonly
39
- }), /*#__PURE__*/_react.default.createElement(_menu4.default, {
43
+ }), toolMenus.includes(_constants.UNORDERED_LIST) && /*#__PURE__*/_react.default.createElement(_menu4.default, {
40
44
  editor: editor,
41
45
  type: _constants.UNORDERED_LIST,
42
46
  readonly: readonly
43
- }), /*#__PURE__*/_react.default.createElement(_menu4.default, {
47
+ }), toolMenus.includes(_constants.ORDERED_LIST) && /*#__PURE__*/_react.default.createElement(_menu4.default, {
44
48
  editor: editor,
45
49
  type: _constants.ORDERED_LIST,
46
50
  readonly: readonly
47
- }), /*#__PURE__*/_react.default.createElement(_menu3.default, {
51
+ }), toolMenus.includes(_constants.LINK) && /*#__PURE__*/_react.default.createElement(_menu3.default, {
48
52
  editor: editor,
49
53
  readonly: readonly,
50
54
  eventBus: eventBus
51
- }), /*#__PURE__*/_react.default.createElement(_menu2.default, {
55
+ }), toolMenus.includes(_constants.IMAGE) && /*#__PURE__*/_react.default.createElement(_menu2.default, {
52
56
  editor: editor,
53
57
  readonly: readonly,
54
58
  eventBus: eventBus
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.useComment = exports.CommentProvider = void 0;
8
9
  var _react = _interopRequireWildcard(require("react"));
9
- var _reactI18next = require("react-i18next");
10
+ var _context = _interopRequireDefault(require("../context"));
11
+ var _model = require("../model");
10
12
  require("../assets/css/layout.css");
11
13
  require("../assets/css/default.css");
12
14
  require("../assets/css/sdoc-editor-article.css");
@@ -18,27 +20,36 @@ const CommentProvider = _ref => {
18
20
  let {
19
21
  children,
20
22
  type,
21
- userInfo,
22
- pluginName = '',
23
+ // comment or replay
23
24
  className = '',
25
+ pluginName = '',
26
+ // sdoc or wiki or txt ...
24
27
  pluginEventBus,
25
28
  pluginEvent,
26
- api
29
+ collaborators = [],
30
+ participants = [],
31
+ addParticipants
27
32
  } = _ref;
28
- const {
29
- t
30
- } = (0, _reactI18next.useTranslation)('sdoc-editor');
31
- const [collaborators, setCollaborators] = (0, _react.useState)([]);
33
+ console.log('children', children);
34
+ const getCollaborators = (0, _react.useCallback)(() => {
35
+ const newCollaborators = collaborators.map(user => new _model.User(user));
36
+ return newCollaborators;
37
+ }, [collaborators]);
38
+ const getParticipants = (0, _react.useCallback)(() => {
39
+ const newParticipants = participants.map(user => new _model.User(user));
40
+ return newParticipants;
41
+ }, [participants]);
32
42
  return /*#__PURE__*/_react.default.createElement(CommentContext.Provider, {
33
43
  value: {
34
44
  type,
35
- userInfo,
36
- pluginName,
45
+ userInfo: _context.default.getUserInfo(),
37
46
  className,
38
- api,
47
+ pluginName,
39
48
  pluginEventBus,
40
49
  pluginEvent,
41
- collaborators
50
+ collaborators: getCollaborators(),
51
+ participants: getParticipants(),
52
+ addParticipants
42
53
  }
43
54
  }, children);
44
55
  };
@@ -4,17 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- Object.defineProperty(exports, "Notification", {
8
- enumerable: true,
9
- get: function () {
10
- return _notification.default;
11
- }
12
- });
13
7
  Object.defineProperty(exports, "User", {
14
8
  enumerable: true,
15
9
  get: function () {
16
10
  return _user.default;
17
11
  }
18
12
  });
19
- var _user = _interopRequireDefault(require("./user"));
20
- var _notification = _interopRequireDefault(require("./notification"));
13
+ var _user = _interopRequireDefault(require("./user"));