@seafile/sdoc-editor 2.0.78-test-0.0.1 → 2.0.78-test-0.0.2

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.
@@ -1,7 +1,3 @@
1
1
  .sdoc-editor-container .sdoc-editor-content.no-outline .sdoc-article-container {
2
2
  margin: 0 auto !important;
3
3
  }
4
-
5
- html {
6
- scrollbar-width: none;
7
- }
@@ -135,8 +135,9 @@ const EditorComment = _ref => {
135
135
  }, 0);
136
136
  };
137
137
  const handleClickCommentedText = event => {
138
+ var _parentDom$className2;
138
139
  const parentDom = event.target.parentElement;
139
- if (parentDom.className.split(/\s+/).some(cls => cls.startsWith('sdoc_comment'))) {
140
+ 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'))) {
140
141
  commentedDomRef.current = parentDom;
141
142
  const matchedAttributes = parentDom.className.split(' ').filter(cls => cls.startsWith('sdoc_comment_'));
142
143
  const clickedCommmentIdArray = matchedAttributes.map(item => item.replace('sdoc_comment_', ''));
@@ -25,7 +25,7 @@ Object.defineProperty(exports, "PLUGIN_DISPLAY_TYPE", {
25
25
  return _plugin.PLUGIN_DISPLAY_TYPE;
26
26
  }
27
27
  });
28
- exports.Z_INDEX = exports.WIKI_OUTLINE = exports.WIKI_EDITOR_EDIT_AREA_WIDTH = exports.WIKI_EDITOR = exports.SDOC_STORAGE = exports.REBASE_TYPES = exports.REBASE_TYPE = exports.REBASE_ORIGIN = exports.REBASE_MARK_KEY = exports.REBASE_MARKS = void 0;
28
+ exports.Z_INDEX = exports.WIKI_OUTLINE = exports.WIKI_EDITOR_EDIT_AREA_WIDTH = exports.WIKI_EDITOR = exports.SDOC_STORAGE = exports.REVISION_DIFF_VALUE = exports.REVISION_DIFF_KEY = exports.REBASE_TYPES = exports.REBASE_TYPE = exports.REBASE_ORIGIN = exports.REBASE_MARK_KEY = exports.REBASE_MARKS = void 0;
29
29
  var _keyCodes = _interopRequireDefault(require("./key-codes"));
30
30
  var _plugin = require("./plugin");
31
31
  var _Z_INDEX = _interopRequireWildcard(require("./z-index"));
@@ -76,6 +76,8 @@ const INTERNAL_EVENT = exports.INTERNAL_EVENT = {
76
76
  CREATE_WIKI_PAGE: 'create_wiki_page',
77
77
  IMAGE_COLUMN_TOGGLE: 'Image_column_toggle'
78
78
  };
79
+ const REVISION_DIFF_KEY = exports.REVISION_DIFF_KEY = 'diff';
80
+ const REVISION_DIFF_VALUE = exports.REVISION_DIFF_VALUE = '1';
79
81
  const PAGE_EDIT_AREA_WIDTH = exports.PAGE_EDIT_AREA_WIDTH = 672; // 672 = 794 - 2[borderLeft + borderRight] - 120[paddingLeft + paddingRight]
80
82
  const COMMENT_EDITOR_EDIT_AREA_WIDTH = exports.COMMENT_EDITOR_EDIT_AREA_WIDTH = 364;
81
83
  const WIKI_EDITOR_EDIT_AREA_WIDTH = exports.WIKI_EDITOR_EDIT_AREA_WIDTH = 714;
@@ -139,9 +139,11 @@ const SdocEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
139
139
  isShowFullScreen
140
140
  } = _ref2;
141
141
  if (isShowFullScreen) {
142
+ // Boundary situation
143
+ (0, _helpers.removeMarks)(validEditor);
142
144
  setShowFullScreen(true);
143
145
  }
144
- }, []);
146
+ }, [validEditor]);
145
147
  (0, _react.useEffect)(() => {
146
148
  const eventBus = _eventBus.default.getInstance();
147
149
  const unsubscribePresentationFullScreen = eventBus.subscribe(_constants.INTERNAL_EVENT.TOGGLE_PRESENTATION_MODE, handleFullScreenPresentation);
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.removeMarks = exports.markdownTableRenderer = exports.insertHtmlTransferredNodes = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
7
  var _slate = require("@seafile/slate");
10
8
  var _constants = require("../../../constants");
11
9
  var _core = require("../../../core");
@@ -30,7 +28,7 @@ const removeMarks = editor => {
30
28
  exports.removeMarks = removeMarks;
31
29
  const markdownTableRenderer = searchResult => {
32
30
  if (!searchResult) return '';
33
- return /*#__PURE__*/_react.default.createElement("div", {
31
+ return /*#__PURE__*/React.createElement("div", {
34
32
  className: "md-rendered-html",
35
33
  dangerouslySetInnerHTML: {
36
34
  __html: searchResult
@@ -8,6 +8,7 @@ exports.updateImage = exports.selectImageWhenSelectPartial = exports.resetCursor
8
8
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
9
  var _slate = require("@seafile/slate");
10
10
  var _slateReact = require("@seafile/slate-react");
11
+ var _dtableUtils = require("dtable-utils");
11
12
  var _slugid = _interopRequireDefault(require("slugid"));
12
13
  var _urlJoin = _interopRequireDefault(require("url-join"));
13
14
  var _constants = require("../../../constants");
@@ -164,12 +165,11 @@ const getImageURL = (data, editor) => {
164
165
  const {
165
166
  type
166
167
  } = column || {};
167
- // TODO: Plugin contants, image digital-sign
168
- if (type === 'image') {
168
+ if (type === _dtableUtils.CellType.IMAGE) {
169
169
  const imgUrl = editor.getColumnCellValue(column_key) || '';
170
170
  const firstSrc = imgUrl.split(',')[0];
171
171
  return firstSrc;
172
- } else if (type === 'digital-sign') {
172
+ } else if (type === _dtableUtils.CellType.DIGITAL_SIGN) {
173
173
  const partUrl = editor.getColumnCellValue(column_key) || '';
174
174
  const imgUrl = getDigitalSignImgUrl(partUrl);
175
175
  return imgUrl;
@@ -22,48 +22,18 @@ Object.defineProperty(exports, "EventBus", {
22
22
  return _eventBus.default;
23
23
  }
24
24
  });
25
- Object.defineProperty(exports, "FULL_WIDTH_MODE", {
26
- enumerable: true,
27
- get: function () {
28
- return _constants.FULL_WIDTH_MODE;
29
- }
30
- });
31
25
  Object.defineProperty(exports, "FileLoading", {
32
26
  enumerable: true,
33
27
  get: function () {
34
28
  return _fileLoading.default;
35
29
  }
36
30
  });
37
- Object.defineProperty(exports, "INTERNAL_EVENT", {
38
- enumerable: true,
39
- get: function () {
40
- return _constants.INTERNAL_EVENT;
41
- }
42
- });
43
31
  Object.defineProperty(exports, "Loading", {
44
32
  enumerable: true,
45
33
  get: function () {
46
34
  return _loading.default;
47
35
  }
48
36
  });
49
- Object.defineProperty(exports, "LocalStorage", {
50
- enumerable: true,
51
- get: function () {
52
- return _localStorageUtils.default;
53
- }
54
- });
55
- Object.defineProperty(exports, "MenuShortcutPrompt", {
56
- enumerable: true,
57
- get: function () {
58
- return _menuShortcutIndicator.default;
59
- }
60
- });
61
- Object.defineProperty(exports, "PLUGIN_BTN_POSITION", {
62
- enumerable: true,
63
- get: function () {
64
- return _constants.PLUGIN_BTN_POSITION;
65
- }
66
- });
67
37
  Object.defineProperty(exports, "PluginsProvider", {
68
38
  enumerable: true,
69
39
  get: function () {
@@ -124,30 +94,6 @@ Object.defineProperty(exports, "deserializeHtml", {
124
94
  return _slateConvert.deserializeHtml;
125
95
  }
126
96
  });
127
- Object.defineProperty(exports, "getMergedChanges", {
128
- enumerable: true,
129
- get: function () {
130
- return _diff.getMergedChanges;
131
- }
132
- });
133
- Object.defineProperty(exports, "getRebase", {
134
- enumerable: true,
135
- get: function () {
136
- return _rebase.getRebase;
137
- }
138
- });
139
- Object.defineProperty(exports, "getTopLevelChanges", {
140
- enumerable: true,
141
- get: function () {
142
- return _diff.getTopLevelChanges;
143
- }
144
- });
145
- Object.defineProperty(exports, "hasConflict", {
146
- enumerable: true,
147
- get: function () {
148
- return _rebase.hasConflict;
149
- }
150
- });
151
97
  Object.defineProperty(exports, "isMac", {
152
98
  enumerable: true,
153
99
  get: function () {
@@ -200,18 +146,13 @@ var _fileLoading = _interopRequireDefault(require("./components/file-loading"));
200
146
  var _loading = _interopRequireDefault(require("./components/loading"));
201
147
  var _toast = _interopRequireDefault(require("./components/toast"));
202
148
  var _tooltip = _interopRequireDefault(require("./components/tooltip"));
203
- var _constants = require("./constants");
204
149
  var _context = _interopRequireDefault(require("./context"));
205
150
  var _revisionEditor = _interopRequireDefault(require("./editor/revision-editor"));
206
151
  var _sdocEditor = _interopRequireDefault(require("./editor/sdoc-editor"));
207
- var _menuShortcutIndicator = _interopRequireDefault(require("./extension/commons/menu-shortcut-indicator"));
208
152
  var _useCollaborators = require("./hooks/use-collaborators");
209
153
  var _usePlugins = require("./hooks/use-plugins");
210
154
  var _outline = _interopRequireDefault(require("./outline"));
211
155
  var _slateConvert = require("./slate-convert");
212
156
  var _commonUtils = require("./utils/common-utils");
213
- var _diff = require("./utils/diff");
214
157
  var _eventBus = _interopRequireDefault(require("./utils/event-bus"));
215
- var _localStorageUtils = _interopRequireDefault(require("./utils/local-storage-utils"));
216
- var _rebase = require("./utils/rebase");
217
158
  var _views = require("./views");
@@ -9,8 +9,8 @@ exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactI18next = require("react-i18next");
11
11
  var _revisionAvatar = _interopRequireDefault(require("../../assets/images/revision-avatar.png"));
12
- var _sdocFreezed = _interopRequireDefault(require("../../assets/images/sdoc-freezed.png"));
13
12
  var _basicSdk = require("../../basic-sdk");
13
+ var _sdocFreezed = _interopRequireDefault(require("../../basic-sdk/assets/images/sdoc-freezed.png"));
14
14
  var _constants = require("../../constants");
15
15
  var _utils = require("../../utils");
16
16
  var _draftDropdown = _interopRequireDefault(require("../draft-dropdown"));
@@ -12,14 +12,17 @@ var _reactI18next = require("react-i18next");
12
12
  var _reactstrap = require("reactstrap");
13
13
  var _printJs = _interopRequireDefault(require("@seafile/print-js"));
14
14
  var _basicSdk = require("../../basic-sdk");
15
- var _constants = require("../../constants");
15
+ var _constants = require("../../basic-sdk/constants");
16
+ var _menuShortcutIndicator = _interopRequireDefault(require("../../basic-sdk/extension/commons/menu-shortcut-indicator"));
17
+ var _localStorageUtils = _interopRequireDefault(require("../../basic-sdk/utils/local-storage-utils"));
18
+ var _constants2 = require("../../constants");
16
19
  const MoreOperations = _ref => {
17
20
  let {
18
21
  isStarred,
19
22
  t
20
23
  } = _ref;
21
24
  const [isDropdownOpen, setIsDropdownOpen] = (0, _react.useState)(false);
22
- const [isFullWidthMode, setIsFullWidthMode] = (0, _react.useState)(_basicSdk.LocalStorage.getItem(_basicSdk.FULL_WIDTH_MODE));
25
+ const [isFullWidthMode, setIsFullWidthMode] = (0, _react.useState)(_localStorageUtils.default.getItem(_constants.FULL_WIDTH_MODE));
23
26
  const parentFolderURL = _basicSdk.context.getSetting('parentFolderURL');
24
27
  const isPro = _basicSdk.context.getSetting('isPro');
25
28
  const isFreezed = _basicSdk.context.getSetting('isFreezed');
@@ -31,7 +34,7 @@ const MoreOperations = _ref => {
31
34
  const id = 'sdoc_more_operation';
32
35
  (0, _react.useEffect)(() => {
33
36
  const eventBus = _basicSdk.EventBus.getInstance();
34
- const unSubscribe = eventBus.subscribe(_basicSdk.INTERNAL_EVENT.ON_PRINT, handlePrint);
37
+ const unSubscribe = eventBus.subscribe(_constants.INTERNAL_EVENT.ON_PRINT, handlePrint);
35
38
  return () => {
36
39
  unSubscribe();
37
40
  };
@@ -57,11 +60,11 @@ const MoreOperations = _ref => {
57
60
  }, [cssUrls]);
58
61
  const onFreezeDocument = (0, _react.useCallback)(() => {
59
62
  const eventBus = _basicSdk.EventBus.getInstance();
60
- eventBus.dispatch(_constants.EXTERNAL_EVENT.FREEZE_DOCUMENT);
63
+ eventBus.dispatch(_constants2.EXTERNAL_EVENT.FREEZE_DOCUMENT);
61
64
  }, []);
62
65
  const unFreeze = (0, _react.useCallback)(() => {
63
66
  const eventBus = _basicSdk.EventBus.getInstance();
64
- eventBus.dispatch(_constants.EXTERNAL_EVENT.UNFREEZE);
67
+ eventBus.dispatch(_constants2.EXTERNAL_EVENT.UNFREEZE);
65
68
  }, []);
66
69
  const handleClickHistory = (0, _react.useCallback)(event => {
67
70
  if (docPerm !== 'rw' || !historyURL) return;
@@ -76,28 +79,28 @@ const MoreOperations = _ref => {
76
79
  }, []);
77
80
  const onSwitchMode = (0, _react.useCallback)(() => {
78
81
  const newMode = !isFullWidthMode;
79
- _basicSdk.LocalStorage.setItem(_basicSdk.FULL_WIDTH_MODE, newMode);
82
+ _localStorageUtils.default.setItem(_constants.FULL_WIDTH_MODE, newMode);
80
83
  const eventBus = _basicSdk.EventBus.getInstance();
81
- eventBus.dispatch(_basicSdk.INTERNAL_EVENT.RESIZE_ARTICLE);
84
+ eventBus.dispatch(_constants.INTERNAL_EVENT.RESIZE_ARTICLE);
82
85
  setIsFullWidthMode(newMode);
83
86
  }, [isFullWidthMode]);
84
87
  const toggleStar = (0, _react.useCallback)(() => {
85
88
  const eventBus = _basicSdk.EventBus.getInstance();
86
- eventBus.dispatch(_constants.EXTERNAL_EVENT.TOGGLE_STAR);
89
+ eventBus.dispatch(_constants2.EXTERNAL_EVENT.TOGGLE_STAR);
87
90
  }, []);
88
91
  const onShareToggle = (0, _react.useCallback)(() => {
89
92
  const eventBus = _basicSdk.EventBus.getInstance();
90
- eventBus.dispatch(_constants.EXTERNAL_EVENT.SHARE_SDOC);
93
+ eventBus.dispatch(_constants2.EXTERNAL_EVENT.SHARE_SDOC);
91
94
  }, []);
92
95
  const onInternalLinkClick = (0, _react.useCallback)(() => {
93
96
  const eventBus = _basicSdk.EventBus.getInstance();
94
97
  if (isSdocRevision) {
95
- eventBus.dispatch(_constants.EXTERNAL_EVENT.INTERNAL_LINK_CLICK, {
98
+ eventBus.dispatch(_constants2.EXTERNAL_EVENT.INTERNAL_LINK_CLICK, {
96
99
  internalLink: window.location.href
97
100
  });
98
101
  return;
99
102
  }
100
- eventBus.dispatch(_constants.EXTERNAL_EVENT.INTERNAL_LINK_CLICK);
103
+ eventBus.dispatch(_constants2.EXTERNAL_EVENT.INTERNAL_LINK_CLICK);
101
104
  }, [isSdocRevision]);
102
105
  return /*#__PURE__*/_react.default.createElement(_reactstrap.Dropdown, {
103
106
  className: "sdoc-operator-folder ".concat(mobileLogin ? 'mobile-login' : ''),
@@ -130,7 +133,7 @@ const MoreOperations = _ref => {
130
133
  onClick: handlePrint
131
134
  }, /*#__PURE__*/_react.default.createElement("div", {
132
135
  className: "sdoc-dropdown-print-container"
133
- }, /*#__PURE__*/_react.default.createElement("div", null, t('Print')), /*#__PURE__*/_react.default.createElement(_basicSdk.MenuShortcutPrompt, {
136
+ }, /*#__PURE__*/_react.default.createElement("div", null, t('Print')), /*#__PURE__*/_react.default.createElement(_menuShortcutIndicator.default, {
134
137
  shortcuts: printShortcutTexts
135
138
  }))), isPro && isFreezed && /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
136
139
  className: "sdoc-dropdown-menu-item",
@@ -10,6 +10,8 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactI18next = require("react-i18next");
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _basicSdk = require("../../basic-sdk");
13
+ var _constants = require("../../basic-sdk/constants");
14
+ var _mouseEvent = require("../../basic-sdk/utils/mouse-event");
13
15
  const PluginsOperations = () => {
14
16
  const {
15
17
  plugins,
@@ -23,12 +25,11 @@ const PluginsOperations = () => {
23
25
  'sdoc-comment': 'sdoc_comment'
24
26
  };
25
27
  const onClick = (0, _react.useCallback)((event, pluginName) => {
26
- event.stopPropagation();
27
- event.nativeEvent && event.nativeEvent.stopImmediatePropagation && event.nativeEvent.stopImmediatePropagation();
28
+ (0, _mouseEvent.eventStopPropagation)(event);
28
29
  updateDisplayPlugin(pluginName);
29
30
  }, [updateDisplayPlugin]);
30
31
  if (plugins.length === 0) return null;
31
- return plugins.filter(plugin => !plugin.position || plugin.position === _basicSdk.PLUGIN_BTN_POSITION.DEFAULT).map(plugin => {
32
+ return plugins.filter(plugin => !plugin.position || plugin.position === _constants.PLUGIN_BTN_POSITION.DEFAULT).map(plugin => {
32
33
  const {
33
34
  name,
34
35
  icon
@@ -8,21 +8,30 @@ exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _reactI18next = require("react-i18next");
10
10
  var _basicSdk = require("../../../basic-sdk");
11
+ var _constants = require("../../../basic-sdk/constants");
11
12
  const PresentationOperation = () => {
12
13
  const {
13
14
  t
14
15
  } = (0, _reactI18next.useTranslation)('sdoc-editor');
15
16
  const id = 'sdoc_presentation';
17
+ const {
18
+ plugins,
19
+ closePlugin
20
+ } = (0, _basicSdk.usePlugins)();
16
21
  const onPresentationToggle = (0, _react.useCallback)(() => {
22
+ // Close plugins before presentation mode
23
+ if (plugins && ['sdoc-info', 'sdoc-comment'].includes(plugins[0].name)) {
24
+ closePlugin && closePlugin();
25
+ }
17
26
  const eventBus = _basicSdk.EventBus.getInstance();
18
- eventBus.dispatch(_basicSdk.INTERNAL_EVENT.TOGGLE_PRESENTATION_MODE, {
27
+ eventBus.dispatch(_constants.INTERNAL_EVENT.TOGGLE_PRESENTATION_MODE, {
19
28
  isShowFullScreen: true
20
29
  });
21
30
  const node = document.querySelector('.sdoc-editor-container');
22
31
  if (node !== null && node !== void 0 && node.requestFullscreen) {
23
32
  node.requestFullscreen().catch(err => console.error('Failed to enter fullscreen:', err));
24
33
  }
25
- }, []);
34
+ }, [closePlugin, plugins]);
26
35
  return /*#__PURE__*/_react.default.createElement("span", {
27
36
  className: "op-item",
28
37
  id: id,
@@ -8,6 +8,7 @@ exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _reactI18next = require("react-i18next");
10
10
  var _basicSdk = require("../../../../basic-sdk");
11
+ var _diff = require("../../../../basic-sdk/utils/diff");
11
12
  require("./index.css");
12
13
  const ChangesCount = _ref => {
13
14
  let {
@@ -32,8 +33,8 @@ const ChangesCount = _ref => {
32
33
  }, 100);
33
34
  }).then(() => {
34
35
  if (allChanges.changes.length !== 0) {
35
- const topLevelChanges = (0, _basicSdk.getTopLevelChanges)(allChanges.changes);
36
- const changes = (0, _basicSdk.getMergedChanges)(topLevelChanges, allChanges.value);
36
+ const topLevelChanges = (0, _diff.getTopLevelChanges)(allChanges.changes);
37
+ const changes = (0, _diff.getMergedChanges)(topLevelChanges, allChanges.value);
37
38
  setChanges(changes);
38
39
  }
39
40
  });
@@ -9,7 +9,9 @@ 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("../../../constants");
12
+ var _constants = require("../../../basic-sdk/constants");
13
+ var _rebase = require("../../../basic-sdk/utils/rebase");
14
+ var _constants2 = require("../../../constants");
13
15
  var _hooks = require("../../../hooks");
14
16
  var _tipDialog = _interopRequireDefault(require("../../tip-dialog"));
15
17
  var _changesCount = _interopRequireDefault(require("./changes-count"));
@@ -54,9 +56,9 @@ const RevisionOperations = _ref => {
54
56
  setShowTip(true);
55
57
  const {
56
58
  value
57
- } = (0, _basicSdk.getRebase)(masterContent, baseContent, revisionContent);
59
+ } = (0, _rebase.getRebase)(masterContent, baseContent, revisionContent);
58
60
  setMergeValue(value);
59
- setTipType(_constants.TIP_TYPE.SOURCE_DOCUMENT_CHANGED);
61
+ setTipType(_constants2.TIP_TYPE.SOURCE_DOCUMENT_CHANGED);
60
62
  }).catch(error => {
61
63
  if (typeof error === 'string') {
62
64
  _basicSdk.toaster.danger(t(error));
@@ -70,16 +72,16 @@ const RevisionOperations = _ref => {
70
72
  }, []);
71
73
  const onDocumentReplaced = (0, _react.useCallback)(() => {
72
74
  if (isShowTip) return;
73
- setTipType(_constants.TIP_TYPE.HAS_BEEN_REPLACED);
75
+ setTipType(_constants2.TIP_TYPE.HAS_BEEN_REPLACED);
74
76
  setShowTip(true);
75
77
  }, [isShowTip]);
76
78
  const hasPublishRevision = (0, _react.useCallback)(() => {
77
79
  handleRevisionPublished();
78
- _basicSdk.toaster.success(t(_constants.TIP_CONTENT[_constants.TIP_TYPE.HAS_BEEN_PUBLISHED]));
80
+ _basicSdk.toaster.success(t(_constants2.TIP_CONTENT[_constants2.TIP_TYPE.HAS_BEEN_PUBLISHED]));
79
81
  }, [handleRevisionPublished, t]);
80
82
  const onDocumentRemoved = (0, _react.useCallback)(() => {
81
83
  if (isShowTip) return;
82
- setTipType(_constants.TIP_TYPE.HAS_BEEN_REMOVED);
84
+ setTipType(_constants2.TIP_TYPE.HAS_BEEN_REMOVED);
83
85
  setShowTip(true);
84
86
  }, [isShowTip]);
85
87
  const onError = (0, _react.useCallback)(() => {
@@ -89,12 +91,12 @@ const RevisionOperations = _ref => {
89
91
  }, []);
90
92
  (0, _react.useEffect)(() => {
91
93
  const eventBus = _basicSdk.EventBus.getInstance();
92
- const unsubscribeMergeDocument = eventBus.subscribe(_basicSdk.INTERNAL_EVENT.DOCUMENT_REPLACED, onDocumentReplaced);
93
- const unsubscribeMergeDocumentError = eventBus.subscribe(_basicSdk.INTERNAL_EVENT.DOCUMENT_REPLACED_ERROR, onError);
94
- const unsubscribePublishDocument = eventBus.subscribe(_basicSdk.INTERNAL_EVENT.PUBLISH_DOCUMENT, hasPublishRevision);
95
- const unsubscribePublishDocumentError = eventBus.subscribe(_basicSdk.INTERNAL_EVENT.PUBLISH_DOCUMENT_ERROR, onError);
96
- const unsubscribeRemoveDocument = eventBus.subscribe(_basicSdk.INTERNAL_EVENT.REMOVE_DOCUMENT, onDocumentRemoved);
97
- const unsubscribeRemoveDocumentError = eventBus.subscribe(_basicSdk.INTERNAL_EVENT.REMOVE_DOCUMENT_ERROR, onError);
94
+ const unsubscribeMergeDocument = eventBus.subscribe(_constants.INTERNAL_EVENT.DOCUMENT_REPLACED, onDocumentReplaced);
95
+ const unsubscribeMergeDocumentError = eventBus.subscribe(_constants.INTERNAL_EVENT.DOCUMENT_REPLACED_ERROR, onError);
96
+ const unsubscribePublishDocument = eventBus.subscribe(_constants.INTERNAL_EVENT.PUBLISH_DOCUMENT, hasPublishRevision);
97
+ const unsubscribePublishDocumentError = eventBus.subscribe(_constants.INTERNAL_EVENT.PUBLISH_DOCUMENT_ERROR, onError);
98
+ const unsubscribeRemoveDocument = eventBus.subscribe(_constants.INTERNAL_EVENT.REMOVE_DOCUMENT, onDocumentRemoved);
99
+ const unsubscribeRemoveDocumentError = eventBus.subscribe(_constants.INTERNAL_EVENT.REMOVE_DOCUMENT_ERROR, onError);
98
100
  return () => {
99
101
  unsubscribeMergeDocument();
100
102
  unsubscribeMergeDocumentError();
@@ -115,8 +117,8 @@ const RevisionOperations = _ref => {
115
117
  // The trick here is to send one more api request in order to use the same information box.
116
118
  loadDocument().then(revisionContent => {
117
119
  // Prevent users from switching if document contains conflicting content
118
- if ((0, _basicSdk.hasConflict)(revisionContent.elements)) {
119
- setTipType(_constants.TIP_TYPE.HAS_CONFLICT_BEFORE_VIEW_CHANGES);
120
+ if ((0, _rebase.hasConflict)(revisionContent.elements)) {
121
+ setTipType(_constants2.TIP_TYPE.HAS_CONFLICT_BEFORE_VIEW_CHANGES);
120
122
  setShowTip(true);
121
123
  } else {
122
124
  handleViewChangesToggle(isShowChanges);
@@ -135,7 +137,7 @@ const RevisionOperations = _ref => {
135
137
  // publish revision
136
138
  const publishRevision = (0, _react.useCallback)(() => {
137
139
  setShowTip(true);
138
- setTipType(_constants.TIP_TYPE.CHECKING);
140
+ setTipType(_constants2.TIP_TYPE.CHECKING);
139
141
  const revisionPromise = loadDocument();
140
142
  const baseVersionPromise = _basicSdk.context.getRevisionBaseVersionContent();
141
143
  const originVersionPromise = _basicSdk.context.getSeadocOriginFileContent();
@@ -143,18 +145,18 @@ const RevisionOperations = _ref => {
143
145
  const [revisionContent, baseRes, masterRes] = results;
144
146
  const baseContent = JSON.parse(baseRes.data.content);
145
147
  const masterContent = JSON.parse(masterRes.data.content);
146
- if ((0, _basicSdk.hasConflict)(revisionContent.elements)) {
147
- setTipType(_constants.TIP_TYPE.HAS_CONFLICT_BEFORE_PUBLISH);
148
+ if ((0, _rebase.hasConflict)(revisionContent.elements)) {
149
+ setTipType(_constants2.TIP_TYPE.HAS_CONFLICT_BEFORE_PUBLISH);
148
150
  return;
149
151
  }
150
152
  const {
151
153
  canMerge,
152
154
  isNeedReplaceMaster,
153
155
  value
154
- } = (0, _basicSdk.getRebase)(masterContent, baseContent, revisionContent);
156
+ } = (0, _rebase.getRebase)(masterContent, baseContent, revisionContent);
155
157
  // change to HAS_BEEN_PUBLISHED
156
158
  if (canMerge && isNeedReplaceMaster) {
157
- setTipType(_constants.TIP_TYPE.PUBLISHING);
159
+ setTipType(_constants2.TIP_TYPE.PUBLISHING);
158
160
  _basicSdk.context.publishRevision().then(res => {
159
161
  setShowTip(false);
160
162
  setTipType('');
@@ -166,13 +168,13 @@ const RevisionOperations = _ref => {
166
168
 
167
169
  // change to DELETE_NO_CHANGES_REVISION
168
170
  if (canMerge && !isNeedReplaceMaster) {
169
- setTipType(_constants.TIP_TYPE.DELETE_NO_CHANGES_REVISION);
171
+ setTipType(_constants2.TIP_TYPE.DELETE_NO_CHANGES_REVISION);
170
172
  return;
171
173
  }
172
174
 
173
175
  // change to MERGE
174
176
  setMergeValue(value);
175
- setTipType(_constants.TIP_TYPE.MERGE);
177
+ setTipType(_constants2.TIP_TYPE.MERGE);
176
178
  }).catch(error => {
177
179
  if (typeof error === 'string') {
178
180
  _basicSdk.toaster.danger(t(error));
@@ -184,11 +186,11 @@ const RevisionOperations = _ref => {
184
186
 
185
187
  // confirm publish
186
188
  const onSubmit = (0, _react.useCallback)(() => {
187
- if (tipType === _constants.TIP_TYPE.HAS_BEEN_PUBLISHED) {
189
+ if (tipType === _constants2.TIP_TYPE.HAS_BEEN_PUBLISHED) {
188
190
  // nothing todo
189
191
  return;
190
192
  }
191
- if (tipType === _constants.TIP_TYPE.DELETE_NO_CHANGES_REVISION) {
193
+ if (tipType === _constants2.TIP_TYPE.DELETE_NO_CHANGES_REVISION) {
192
194
  _basicSdk.context.deleteSdocRevision().then(res => {
193
195
  // update current location
194
196
  const originFileURL = _basicSdk.context.getSetting('originFileURL');
@@ -198,7 +200,7 @@ const RevisionOperations = _ref => {
198
200
  });
199
201
  return;
200
202
  }
201
- if (tipType === _constants.TIP_TYPE.MERGE || tipType === _constants.TIP_TYPE.SOURCE_DOCUMENT_CHANGED) {
203
+ if (tipType === _constants2.TIP_TYPE.MERGE || tipType === _constants2.TIP_TYPE.SOURCE_DOCUMENT_CHANGED) {
202
204
  const {
203
205
  username
204
206
  } = _basicSdk.context.getUserInfo();
@@ -11,6 +11,7 @@ var _reactI18next = require("react-i18next");
11
11
  var _reactstrap = require("reactstrap");
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
  var _basicSdk = require("../../../../../basic-sdk");
14
+ var _mouseEvent = require("../../../../../basic-sdk/utils/mouse-event");
14
15
  var _constants = require("../../../../../constants");
15
16
  var _model = require("../../../../../model");
16
17
  var _utils = require("../../../../../utils");
@@ -71,8 +72,7 @@ const RevisionsDialog = _ref => {
71
72
  // eslint-disable-next-line react-hooks/exhaustive-deps
72
73
  }, [revisions, page, perPage]);
73
74
  const openRevision = (0, _react.useCallback)((event, revisionId) => {
74
- event.stopPropagation();
75
- event.nativeEvent && event.nativeEvent.stopImmediatePropagation && event.nativeEvent.stopImmediatePropagation();
75
+ (0, _mouseEvent.eventStopPropagation)(event);
76
76
  if (event.target.className.includes('sdoc-revision-operation-toggle')) return;
77
77
  const url = "".concat(siteRoot, "lib/").concat(repoID, "/revisions/").concat(revisionId, "/");
78
78
  window.open(url, '_blank');
@@ -9,6 +9,7 @@ exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactstrap = require("reactstrap");
11
11
  var _dropdownMenuItem = _interopRequireDefault(require("../../../../../../basic-sdk/extension/commons/dropdown-menu-item"));
12
+ var _mouseEvent = require("../../../../../../basic-sdk/utils/mouse-event");
12
13
  require("./index.css");
13
14
  const RevisionOperation = _ref => {
14
15
  let {
@@ -28,8 +29,7 @@ const RevisionOperation = _ref => {
28
29
  updateOperatingRevision(nextPopoverShow ? revision.id : '');
29
30
  }, [isPopoverShow, updateOperatingRevision, revision]);
30
31
  const deleteRevision = (0, _react.useCallback)(event => {
31
- event.stopPropagation();
32
- event.nativeEvent && event.nativeEvent.stopImmediatePropagation && event.nativeEvent.stopImmediatePropagation();
32
+ (0, _mouseEvent.eventStopPropagation)(event);
33
33
  onDeleteOtherRevision();
34
34
  popoverRef.current.toggle();
35
35
  }, [onDeleteOtherRevision]);
@@ -5,14 +5,13 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.REVISION_DIFF_VALUE = exports.REVISION_DIFF_KEY = void 0;
8
+ 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");
12
13
  var _switch = _interopRequireDefault(require("../../../switch"));
13
14
  require("./index.css");
14
- const REVISION_DIFF_KEY = exports.REVISION_DIFF_KEY = 'diff';
15
- const REVISION_DIFF_VALUE = exports.REVISION_DIFF_VALUE = '1';
16
15
  const ViewChanges = _ref => {
17
16
  let {
18
17
  isShowChanges,
@@ -24,9 +23,9 @@ const ViewChanges = _ref => {
24
23
  (0, _react.useEffect)(() => {
25
24
  const url = new URL(window.location.href);
26
25
  const searchParams = new URLSearchParams(url.search);
27
- if (!searchParams.has(REVISION_DIFF_KEY)) return;
28
- const firstLoadValue = searchParams.get(REVISION_DIFF_KEY);
29
- if (firstLoadValue === REVISION_DIFF_VALUE) {
26
+ if (!searchParams.has(_constants.REVISION_DIFF_KEY)) return;
27
+ const firstLoadValue = searchParams.get(_constants.REVISION_DIFF_KEY);
28
+ if (firstLoadValue === _constants.REVISION_DIFF_VALUE) {
30
29
  propsOnViewChangesToggle(true);
31
30
  }
32
31
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -37,7 +36,7 @@ const ViewChanges = _ref => {
37
36
  const searchParams = new URLSearchParams(url.search);
38
37
  let newParamsString = '';
39
38
  for (const item of searchParams.entries()) {
40
- if (item[0] !== REVISION_DIFF_KEY) {
39
+ if (item[0] !== _constants.REVISION_DIFF_KEY) {
41
40
  if (newParamsString) {
42
41
  newParamsString = newParamsString + "&".concat(item[0], "=").concat(item[1]);
43
42
  } else {
@@ -45,11 +44,11 @@ const ViewChanges = _ref => {
45
44
  }
46
45
  }
47
46
  }
48
- if (!searchParams.has(REVISION_DIFF_KEY) && nextIsShowChanges) {
47
+ if (!searchParams.has(_constants.REVISION_DIFF_KEY) && nextIsShowChanges) {
49
48
  if (newParamsString) {
50
- newParamsString = newParamsString + "&".concat(REVISION_DIFF_KEY, "=").concat(REVISION_DIFF_VALUE);
49
+ newParamsString = newParamsString + "&".concat(_constants.REVISION_DIFF_KEY, "=").concat(_constants.REVISION_DIFF_VALUE);
51
50
  } else {
52
- newParamsString = "".concat(REVISION_DIFF_KEY, "=").concat(REVISION_DIFF_VALUE);
51
+ newParamsString = "".concat(_constants.REVISION_DIFF_KEY, "=").concat(_constants.REVISION_DIFF_VALUE);
53
52
  }
54
53
  }
55
54
  const validPathName = url.pathname.endsWith('/') ? url.pathname : url.pathname + '/';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "2.0.78-test-0.0.1",
3
+ "version": "2.0.78-test-0.0.2",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",