@seafile/sdoc-editor 2.0.80 → 2.0.81

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.
@@ -138,8 +138,9 @@ const EditorComment = _ref => {
138
138
  }, 0);
139
139
  };
140
140
  const handleClickCommentedText = event => {
141
+ var _parentDom$className2;
141
142
  const parentDom = event.target.parentElement;
142
- if (parentDom.className.split(/\s+/).some(cls => cls.startsWith('sdoc_comment'))) {
143
+ if (parentDom !== null && parentDom !== void 0 && (_parentDom$className2 = parentDom.className) !== null && _parentDom$className2 !== void 0 && _parentDom$className2.split(/\s+/).some(cls => cls.startsWith('sdoc_comment'))) {
143
144
  commentedDomRef.current = parentDom;
144
145
  const matchedAttributes = parentDom.className.split(' ').filter(cls => cls.startsWith('sdoc_comment_'));
145
146
  const clickedCommmentIdArray = matchedAttributes.map(item => item.replace('sdoc_comment_', ''));
@@ -138,9 +138,11 @@ const SdocEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
138
138
  isShowFullScreen
139
139
  } = _ref2;
140
140
  if (isShowFullScreen) {
141
+ // Boundary situation
142
+ (0, _helpers.removeMarks)(validEditor);
141
143
  setShowFullScreen(true);
142
144
  }
143
- }, []);
145
+ }, [validEditor]);
144
146
  (0, _react.useEffect)(() => {
145
147
  const eventBus = _eventBus.default.getInstance();
146
148
  const unsubscribePresentationFullScreen = eventBus.subscribe(_constants.INTERNAL_EVENT.TOGGLE_PRESENTATION_MODE, handleFullScreenPresentation);
@@ -118,12 +118,36 @@ Object.defineProperty(exports, "Tooltip", {
118
118
  return _tooltip.default;
119
119
  }
120
120
  });
121
+ Object.defineProperty(exports, "WIKI_EDITOR", {
122
+ enumerable: true,
123
+ get: function () {
124
+ return _constants.WIKI_EDITOR;
125
+ }
126
+ });
127
+ Object.defineProperty(exports, "WIKI_EDITOR_EDIT_AREA_WIDTH", {
128
+ enumerable: true,
129
+ get: function () {
130
+ return _constants.WIKI_EDITOR_EDIT_AREA_WIDTH;
131
+ }
132
+ });
133
+ Object.defineProperty(exports, "WikiEditor", {
134
+ enumerable: true,
135
+ get: function () {
136
+ return _wikiEditor.default;
137
+ }
138
+ });
121
139
  Object.defineProperty(exports, "context", {
122
140
  enumerable: true,
123
141
  get: function () {
124
142
  return _context.default;
125
143
  }
126
144
  });
145
+ Object.defineProperty(exports, "createWikiEditor", {
146
+ enumerable: true,
147
+ get: function () {
148
+ return _extension.createWikiEditor;
149
+ }
150
+ });
127
151
  Object.defineProperty(exports, "deserializeHtml", {
128
152
  enumerable: true,
129
153
  get: function () {
@@ -202,6 +226,18 @@ Object.defineProperty(exports, "usePlugins", {
202
226
  return _usePlugins.usePlugins;
203
227
  }
204
228
  });
229
+ Object.defineProperty(exports, "withNodeId", {
230
+ enumerable: true,
231
+ get: function () {
232
+ return _nodeId.default;
233
+ }
234
+ });
235
+ Object.defineProperty(exports, "withSocketIO", {
236
+ enumerable: true,
237
+ get: function () {
238
+ return _socket.withSocketIO;
239
+ }
240
+ });
205
241
  var _fileLoading = _interopRequireDefault(require("./components/file-loading"));
206
242
  var _loading = _interopRequireDefault(require("./components/loading"));
207
243
  var _toast = _interopRequireDefault(require("./components/toast"));
@@ -210,12 +246,16 @@ var _constants = require("./constants");
210
246
  var _context = _interopRequireDefault(require("./context"));
211
247
  var _revisionEditor = _interopRequireDefault(require("./editor/revision-editor"));
212
248
  var _sdocEditor = _interopRequireDefault(require("./editor/sdoc-editor"));
249
+ var _wikiEditor = _interopRequireDefault(require("./editor/wiki-editor"));
250
+ var _extension = require("./extension");
213
251
  var _dropdownMenuItem = _interopRequireDefault(require("./extension/commons/dropdown-menu-item"));
214
252
  var _menuShortcutIndicator = _interopRequireDefault(require("./extension/commons/menu-shortcut-indicator"));
215
253
  var _useCollaborators = require("./hooks/use-collaborators");
216
254
  var _usePlugins = require("./hooks/use-plugins");
255
+ var _nodeId = _interopRequireDefault(require("./node-id"));
217
256
  var _outline = _interopRequireDefault(require("./outline"));
218
257
  var _slateConvert = require("./slate-convert");
258
+ var _socket = require("./socket");
219
259
  var _commonUtils = require("./utils/common-utils");
220
260
  var _diff = require("./utils/diff");
221
261
  var _eventBus = _interopRequireDefault(require("./utils/event-bus"));
@@ -8,9 +8,9 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactI18next = require("react-i18next");
11
+ var _basicSdk = require("../../basic-sdk");
11
12
  var _revisionAvatar = _interopRequireDefault(require("../../assets/images/revision-avatar.png"));
12
13
  var _sdocFreezed = _interopRequireDefault(require("../../assets/images/sdoc-freezed.png"));
13
- var _basicSdk = require("../../basic-sdk");
14
14
  var _constants = require("../../constants");
15
15
  var _utils = require("../../utils");
16
16
  var _draftDropdown = _interopRequireDefault(require("../draft-dropdown"));
@@ -1,18 +1,18 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _DTableSwitch2 = _interopRequireDefault(require("dtable-ui-component/lib/DTableSwitch"));
10
9
  var _react = _interopRequireWildcard(require("react"));
11
10
  var _reactI18next = require("react-i18next");
12
11
  var _reactstrap = require("reactstrap");
13
12
  var _printJs = _interopRequireDefault(require("@seafile/print-js"));
14
13
  var _basicSdk = require("../../basic-sdk");
15
14
  var _constants = require("../../constants");
15
+ var _switch = _interopRequireDefault(require("../switch"));
16
16
  const MoreOperations = _ref => {
17
17
  let {
18
18
  isStarred,
@@ -144,10 +144,10 @@ const MoreOperations = _ref => {
144
144
  }, t('Document_history')), !_basicSdk.isMobile && /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
145
145
  id: "sdoc-full-width-mode-wrapper",
146
146
  className: "sdoc-dropdown-menu-item"
147
- }, /*#__PURE__*/_react.default.createElement(_DTableSwitch2.default, {
147
+ }, /*#__PURE__*/_react.default.createElement(_switch.default, {
148
148
  checked: isFullWidthMode,
149
149
  placeholder: t('Full_width_mode'),
150
- switchClassName: "sdoc-full-width-mode-wrapper w-100",
150
+ className: "sdoc-full-width-mode-wrapper w-100",
151
151
  onChange: onSwitchMode
152
152
  })), parentFolderURL && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
153
153
  className: "sdoc-operator-folder-divider"
@@ -13,7 +13,15 @@ const PresentationOperation = () => {
13
13
  t
14
14
  } = (0, _reactI18next.useTranslation)('sdoc-editor');
15
15
  const id = 'sdoc_presentation';
16
+ const {
17
+ plugins,
18
+ closePlugin
19
+ } = (0, _basicSdk.usePlugins)();
16
20
  const onPresentationToggle = (0, _react.useCallback)(() => {
21
+ // Close plugins before presentation mode
22
+ if (plugins && ['sdoc-info', 'sdoc-comment'].includes(plugins[0].name)) {
23
+ closePlugin && closePlugin();
24
+ }
17
25
  const eventBus = _basicSdk.EventBus.getInstance();
18
26
  eventBus.dispatch(_basicSdk.INTERNAL_EVENT.TOGGLE_PRESENTATION_MODE, {
19
27
  isShowFullScreen: true
@@ -22,7 +30,7 @@ const PresentationOperation = () => {
22
30
  if (node !== null && node !== void 0 && node.requestFullscreen) {
23
31
  node.requestFullscreen().catch(err => console.error('Failed to enter fullscreen:', err));
24
32
  }
25
- }, []);
33
+ }, [closePlugin, plugins]);
26
34
  return /*#__PURE__*/_react.default.createElement("span", {
27
35
  className: "op-item",
28
36
  id: id,
@@ -79,7 +79,7 @@
79
79
  width: 8px;
80
80
  }
81
81
 
82
- .sdoc-operator-folder .sdoc-dropdown-menu .sdoc-dropdown-menu-item .sdoc-full-width-mode-wrapper .custom-switch .custom-switch-input:checked ~ .custom-switch-indicator:before {
82
+ .sdoc-operator-folder .sdoc-dropdown-menu .sdoc-dropdown-menu-item .sdoc-full-width-mode-wrapper .custom-switch .custom-switch-input:checked~.custom-switch-indicator:before {
83
83
  left: 12px;
84
84
  }
85
85
 
@@ -10,8 +10,8 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactI18next = require("react-i18next");
11
11
  var _reactstrap = require("reactstrap");
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
- var _contentReplaced = _interopRequireDefault(require("../../assets/images/content-replaced.png"));
14
13
  var _basicSdk = require("../../basic-sdk");
14
+ var _contentReplaced = _interopRequireDefault(require("../../assets/images/content-replaced.png"));
15
15
  var _constants = require("../../constants");
16
16
  var _modalHeader = _interopRequireDefault(require("../modal-header"));
17
17
  require("./index.css");
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.TIP_TYPE = exports.TIP_TITLE = exports.TIP_CONTENT = exports.NEW_REVISION = exports.EXTERNAL_EVENT = void 0;
7
- var _constants = require("../basic-sdk/constants");
7
+ var _basicSdk = require("../basic-sdk");
8
8
  const EXTERNAL_EVENT = exports.EXTERNAL_EVENT = {
9
9
  INTERNAL_LINK_CLICK: 'internal_link_click',
10
10
  TOGGLE_STAR: 'toggle_star',
@@ -14,14 +14,14 @@ const EXTERNAL_EVENT = exports.EXTERNAL_EVENT = {
14
14
  UNFREEZE: 'unfreeze',
15
15
  // change internal event to external event
16
16
  // editor
17
- REFRESH_DOCUMENT: _constants.INTERNAL_EVENT.REFRESH_DOCUMENT,
18
- NEW_NOTIFICATION: _constants.INTERNAL_EVENT.NEW_NOTIFICATION,
19
- CLEAR_NOTIFICATION: _constants.INTERNAL_EVENT.CLEAR_NOTIFICATION,
17
+ REFRESH_DOCUMENT: _basicSdk.INTERNAL_EVENT.REFRESH_DOCUMENT,
18
+ NEW_NOTIFICATION: _basicSdk.INTERNAL_EVENT.NEW_NOTIFICATION,
19
+ CLEAR_NOTIFICATION: _basicSdk.INTERNAL_EVENT.CLEAR_NOTIFICATION,
20
20
  // wiki
21
- CREATE_SDOC_FILE: _constants.INTERNAL_EVENT.CREATE_SDOC_FILE,
22
- CREATE_WIKI_PAGE: _constants.INTERNAL_EVENT.CREATE_WIKI_PAGE,
21
+ CREATE_SDOC_FILE: _basicSdk.INTERNAL_EVENT.CREATE_SDOC_FILE,
22
+ CREATE_WIKI_PAGE: _basicSdk.INTERNAL_EVENT.CREATE_WIKI_PAGE,
23
23
  // document
24
- IMAGE_COLUMN_TOGGLE: _constants.INTERNAL_EVENT.IMAGE_COLUMN_TOGGLE,
24
+ IMAGE_COLUMN_TOGGLE: _basicSdk.INTERNAL_EVENT.IMAGE_COLUMN_TOGGLE,
25
25
  COLLABORATORS_UPDATED: 'collaborators_updated',
26
26
  CHANGE_HEADER_WIDTH: 'change_header_width'
27
27
  };
@@ -9,7 +9,6 @@ exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _basicSdk = require("../basic-sdk");
12
- var _localStorageUtils = _interopRequireDefault(require("../basic-sdk/utils/local-storage-utils"));
13
12
  const Layout = _ref => {
14
13
  let {
15
14
  children,
@@ -23,7 +22,7 @@ const Layout = _ref => {
23
22
  if (isSdocRevision) return;
24
23
  const docUuid = _basicSdk.context.getSetting('docUuid');
25
24
  const docName = _basicSdk.context.getSetting('docName');
26
- const recentFiles = _localStorageUtils.default.getItem('sdoc-recent-files', []);
25
+ const recentFiles = _basicSdk.LocalStorage.getItem('sdoc-recent-files', []);
27
26
  let arr = [];
28
27
  const newFile = {
29
28
  doc_uuid: docUuid,
@@ -42,7 +41,7 @@ const Layout = _ref => {
42
41
  } else {
43
42
  arr.push(newFile);
44
43
  }
45
- _localStorageUtils.default.setItem('sdoc-recent-files', arr);
44
+ _basicSdk.LocalStorage.setItem('sdoc-recent-files', arr);
46
45
  };
47
46
  (0, _react.useEffect)(() => {
48
47
  setTimeout(() => {
@@ -9,11 +9,6 @@ exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactI18next = require("react-i18next");
11
11
  var _basicSdk = require("../basic-sdk");
12
- var _constants = require("../basic-sdk/constants");
13
- var _wikiEditor = _interopRequireDefault(require("../basic-sdk/editor/wiki-editor"));
14
- var _extension = require("../basic-sdk/extension");
15
- var _nodeId = _interopRequireDefault(require("../basic-sdk/node-id"));
16
- var _socket = require("../basic-sdk/socket");
17
12
  var _errorBoundary = _interopRequireDefault(require("../components/error-boundary"));
18
13
  require("../assets/css/simple-viewer.css");
19
14
  const SdocWikiEditor = _ref => {
@@ -25,25 +20,25 @@ const SdocWikiEditor = _ref => {
25
20
  } = _ref;
26
21
  _basicSdk.context.initApi();
27
22
  const validEditor = (0, _react.useMemo)(() => {
28
- const defaultEditor = (0, _extension.createWikiEditor)();
23
+ const defaultEditor = (0, _basicSdk.createWikiEditor)();
29
24
  // getEditorConfig cashe the config, so we need to update the uuid,for wiki editor
30
25
  docUuid && _basicSdk.context.updateConfigUuid(docUuid);
31
26
  const editorConfig = _basicSdk.context.getEditorConfig();
32
27
  let newEditor = null;
33
28
  if (!isWikiReadOnly) {
34
- newEditor = (0, _nodeId.default)((0, _socket.withSocketIO)(defaultEditor, {
29
+ newEditor = (0, _basicSdk.withNodeId)((0, _basicSdk.withSocketIO)(defaultEditor, {
35
30
  document,
36
31
  config: editorConfig
37
32
  }));
38
33
  } else {
39
- newEditor = (0, _nodeId.default)(defaultEditor);
34
+ newEditor = (0, _basicSdk.withNodeId)(defaultEditor);
40
35
  }
41
36
  const {
42
37
  cursors
43
38
  } = document;
44
39
  newEditor.cursors = cursors || {};
45
- newEditor.width = _constants.WIKI_EDITOR_EDIT_AREA_WIDTH; // default width
46
- newEditor.editorType = _constants.WIKI_EDITOR;
40
+ newEditor.width = _basicSdk.WIKI_EDITOR_EDIT_AREA_WIDTH; // default width
41
+ newEditor.editorType = _basicSdk.WIKI_EDITOR;
47
42
  return newEditor;
48
43
 
49
44
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -55,7 +50,7 @@ const SdocWikiEditor = _ref => {
55
50
  validEditor.closeConnection();
56
51
  };
57
52
  }, [isWikiReadOnly, validEditor]);
58
- return /*#__PURE__*/_react.default.createElement(_errorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_wikiEditor.default, {
53
+ return /*#__PURE__*/_react.default.createElement(_errorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_basicSdk.WikiEditor, {
59
54
  document: document,
60
55
  docUuid: docUuid,
61
56
  editor: validEditor,
@@ -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 _basicSdk = require("../basic-sdk");
12
- var _views = require("../basic-sdk/views");
13
12
  var _docInfo = _interopRequireDefault(require("../components/doc-info"));
14
13
  var _docOperations = _interopRequireDefault(require("../components/doc-operations"));
15
14
  var _errorBoundary = _interopRequireDefault(require("../components/error-boundary"));
@@ -145,7 +144,7 @@ const SimpleEditor = _ref => {
145
144
  revisionContent: revisionContent,
146
145
  isShowChanges: isShowChanges,
147
146
  didMountCallback: setDiffChanges
148
- }), isSdocRevision && isPublished && /*#__PURE__*/_react.default.createElement(_views.PublishedRevisionDiffViewer, {
147
+ }), isSdocRevision && isPublished && /*#__PURE__*/_react.default.createElement(_basicSdk.PublishedRevisionDiffViewer, {
149
148
  revisionContent: revisionContent,
150
149
  isShowChanges: isShowChanges,
151
150
  didMountCallback: setDiffChanges
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "2.0.80",
3
+ "version": "2.0.81",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",
@@ -104,7 +104,7 @@
104
104
  "css-minimizer-webpack-plugin": "5.0.1",
105
105
  "dotenv": "^10.0.0",
106
106
  "dotenv-expand": "^5.1.0",
107
- "dtable-sdk": "5.0.8",
107
+ "dtable-sdk": "5.0.10",
108
108
  "dtable-utils": "5.0.1",
109
109
  "ejs": "3.1.10",
110
110
  "eslint": "^8.3.0",
package/dist/entry.js DELETED
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _sdocEditor = _interopRequireDefault(require("./basic-sdk/editor/sdoc-editor"));
9
- var _default = exports.default = _sdocEditor.default;