@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.
- package/dist/assets/css/plugin-editor.css +0 -4
- package/dist/basic-sdk/comment/components/editor-comment.js +2 -1
- package/dist/basic-sdk/constants/index.js +3 -1
- package/dist/basic-sdk/editor/sdoc-editor.js +3 -1
- package/dist/basic-sdk/extension/plugins/ai/ai-module/helpers.js +1 -3
- package/dist/basic-sdk/extension/plugins/image/helpers.js +3 -3
- package/dist/basic-sdk/index.js +0 -59
- package/dist/components/doc-info/index.js +1 -1
- package/dist/components/doc-operations/more-operations.js +15 -12
- package/dist/components/doc-operations/plugins-operations.js +4 -3
- package/dist/components/doc-operations/presentation-operation/index.js +11 -2
- package/dist/components/doc-operations/revision-operations/changes-count/index.js +3 -2
- package/dist/components/doc-operations/revision-operations/index.js +26 -24
- package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.js +2 -2
- package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/revision-operation/index.js +2 -2
- package/dist/components/doc-operations/revision-operations/view-changes/index.js +9 -10
- package/package.json +1 -1
- /package/dist/{assets → basic-sdk/assets}/images/sdoc-freezed.png +0 -0
|
@@ -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__*/
|
|
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
|
-
|
|
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 ===
|
|
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;
|
package/dist/basic-sdk/index.js
CHANGED
|
@@ -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)(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
82
|
+
_localStorageUtils.default.setItem(_constants.FULL_WIDTH_MODE, newMode);
|
|
80
83
|
const eventBus = _basicSdk.EventBus.getInstance();
|
|
81
|
-
eventBus.dispatch(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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 ===
|
|
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(
|
|
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,
|
|
36
|
-
const changes = (0,
|
|
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,
|
|
59
|
+
} = (0, _rebase.getRebase)(masterContent, baseContent, revisionContent);
|
|
58
60
|
setMergeValue(value);
|
|
59
|
-
setTipType(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
93
|
-
const unsubscribeMergeDocumentError = eventBus.subscribe(
|
|
94
|
-
const unsubscribePublishDocument = eventBus.subscribe(
|
|
95
|
-
const unsubscribePublishDocumentError = eventBus.subscribe(
|
|
96
|
-
const unsubscribeRemoveDocument = eventBus.subscribe(
|
|
97
|
-
const unsubscribeRemoveDocumentError = eventBus.subscribe(
|
|
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,
|
|
119
|
-
setTipType(
|
|
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(
|
|
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,
|
|
147
|
-
setTipType(
|
|
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,
|
|
156
|
+
} = (0, _rebase.getRebase)(masterContent, baseContent, revisionContent);
|
|
155
157
|
// change to HAS_BEEN_PUBLISHED
|
|
156
158
|
if (canMerge && isNeedReplaceMaster) {
|
|
157
|
-
setTipType(
|
|
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(
|
|
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(
|
|
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 ===
|
|
189
|
+
if (tipType === _constants2.TIP_TYPE.HAS_BEEN_PUBLISHED) {
|
|
188
190
|
// nothing todo
|
|
189
191
|
return;
|
|
190
192
|
}
|
|
191
|
-
if (tipType ===
|
|
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 ===
|
|
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();
|
package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
File without changes
|