@seafile/sdoc-editor 1.0.109 → 1.0.111-alpha1
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/basic-sdk/extension/plugins/file-link/render-elem.js +2 -1
- package/dist/basic-sdk/extension/plugins/header/plugin.js +19 -1
- package/dist/basic-sdk/extension/plugins/image/render-elem.js +1 -0
- package/dist/basic-sdk/extension/plugins/link/helpers.js +1 -1
- package/dist/basic-sdk/extension/plugins/link/render-elem.js +2 -1
- package/dist/basic-sdk/extension/plugins/sdoc-link/render/render-elem.js +2 -1
- package/dist/basic-sdk/views/published-revision-diff-viewer.js +3 -1
- package/dist/basic-sdk/views/revision-diff-viewer.js +3 -1
- package/dist/pages/published-revision-viewer.js +3 -1
- package/dist/utils/format-sdoc-content.js +16 -0
- package/package.json +1 -1
|
@@ -96,7 +96,8 @@ const FileLink = _ref => {
|
|
|
96
96
|
unregisterEventHandle();
|
|
97
97
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
98
98
|
}, []);
|
|
99
|
-
const onUnwrapFileLinkNode = (0, _react.useCallback)(
|
|
99
|
+
const onUnwrapFileLinkNode = (0, _react.useCallback)(event => {
|
|
100
|
+
event.stopPropagation();
|
|
100
101
|
(0, _helpers.unwrapLinkNode)(editor, element);
|
|
101
102
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
102
103
|
}, []);
|
|
@@ -24,7 +24,8 @@ const withHeader = editor => {
|
|
|
24
24
|
const {
|
|
25
25
|
insertBreak,
|
|
26
26
|
insertFragment,
|
|
27
|
-
insertText
|
|
27
|
+
insertText,
|
|
28
|
+
deleteBackward
|
|
28
29
|
} = editor;
|
|
29
30
|
const newEditor = editor;
|
|
30
31
|
|
|
@@ -83,6 +84,23 @@ const withHeader = editor => {
|
|
|
83
84
|
}
|
|
84
85
|
return insertFragment(data);
|
|
85
86
|
};
|
|
87
|
+
newEditor.deleteBackward = unit => {
|
|
88
|
+
const {
|
|
89
|
+
selection
|
|
90
|
+
} = newEditor;
|
|
91
|
+
if (selection === null) {
|
|
92
|
+
deleteBackward(unit);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const headerNode = (0, _core.getSelectedNodeByTypes)(editor, _constants.HEADERS);
|
|
96
|
+
if (headerNode && (0, _core.isSelectionAtBlockStart)(editor) && _slate.Node.string(headerNode).length > 0) {
|
|
97
|
+
_slate.Transforms.setNodes(editor, {
|
|
98
|
+
type: _constants.PARAGRAPH
|
|
99
|
+
});
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
deleteBackward(unit);
|
|
103
|
+
};
|
|
86
104
|
newEditor.onHotKeyDown = event => {
|
|
87
105
|
const HOT_KEYS = (0, _utils.isMac)() ? _keyboard.MAC_HOTKEYS_EVENT : _keyboard.WIN_HOTKEYS;
|
|
88
106
|
const hotEntries = Object.entries(HOT_KEYS);
|
|
@@ -164,7 +164,7 @@ const upsertLinkText = (editor, _ref) => {
|
|
|
164
164
|
}
|
|
165
165
|
};
|
|
166
166
|
exports.upsertLinkText = upsertLinkText;
|
|
167
|
-
const unWrapLinkNode =
|
|
167
|
+
const unWrapLinkNode = editor => {
|
|
168
168
|
if (editor.selection == null) return;
|
|
169
169
|
const [nodeEntry] = _slate.Editor.nodes(editor, {
|
|
170
170
|
match: n => (0, _core.getNodeType)(n) === 'link',
|
|
@@ -67,7 +67,8 @@ class Link extends _react.default.Component {
|
|
|
67
67
|
this.registerEventHandle();
|
|
68
68
|
}, 0);
|
|
69
69
|
});
|
|
70
|
-
(0, _defineProperty2.default)(this, "deleteLink",
|
|
70
|
+
(0, _defineProperty2.default)(this, "deleteLink", event => {
|
|
71
|
+
event.stopPropagation();
|
|
71
72
|
const {
|
|
72
73
|
editor
|
|
73
74
|
} = this.props;
|
|
@@ -102,7 +102,8 @@ const SdocFileLink = _ref => {
|
|
|
102
102
|
unregisterEventHandle();
|
|
103
103
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
104
104
|
}, []);
|
|
105
|
-
const onUnwrapFileLinkNode = (0, _react.useCallback)(
|
|
105
|
+
const onUnwrapFileLinkNode = (0, _react.useCallback)(event => {
|
|
106
|
+
event.stopPropagation();
|
|
106
107
|
(0, _helpers.unwrapLinkNode)(editor, element);
|
|
107
108
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
108
109
|
}, []);
|
|
@@ -11,6 +11,7 @@ var _context = _interopRequireDefault(require("../../context"));
|
|
|
11
11
|
var _diff = require("../utils/diff");
|
|
12
12
|
var _sdocViewer = _interopRequireDefault(require("./sdoc-viewer"));
|
|
13
13
|
var _loading = _interopRequireDefault(require("../../components/loading"));
|
|
14
|
+
var _formatSdocContent = require("../../utils/format-sdoc-content");
|
|
14
15
|
require("../../assets/css/diff-viewer.css");
|
|
15
16
|
const PublishedRevisionDiffViewer = _ref => {
|
|
16
17
|
let {
|
|
@@ -34,7 +35,8 @@ const PublishedRevisionDiffViewer = _ref => {
|
|
|
34
35
|
const {
|
|
35
36
|
content: baseContentString
|
|
36
37
|
} = res.data;
|
|
37
|
-
|
|
38
|
+
let baseContent = JSON.parse(baseContentString);
|
|
39
|
+
baseContent = (0, _formatSdocContent.formatSdocContent)(baseContent);
|
|
38
40
|
const diff = (0, _diff.getDiff)(revisionContent, baseContent);
|
|
39
41
|
setDiff(diff);
|
|
40
42
|
didMountCallback && didMountCallback(diff);
|
|
@@ -12,6 +12,7 @@ var _diff = require("../utils/diff");
|
|
|
12
12
|
var _insertElementDialog = _interopRequireDefault(require("../extension/commons/insert-element-dialog"));
|
|
13
13
|
var _sdocViewer = _interopRequireDefault(require("./sdoc-viewer"));
|
|
14
14
|
var _loading = _interopRequireDefault(require("../../components/loading"));
|
|
15
|
+
var _formatSdocContent = require("../../utils/format-sdoc-content");
|
|
15
16
|
require("../../assets/css/diff-viewer.css");
|
|
16
17
|
const RevisionDiffViewer = _ref => {
|
|
17
18
|
let {
|
|
@@ -27,7 +28,8 @@ const RevisionDiffViewer = _ref => {
|
|
|
27
28
|
const {
|
|
28
29
|
content: originContentString
|
|
29
30
|
} = res.data;
|
|
30
|
-
|
|
31
|
+
let originContent = JSON.parse(originContentString);
|
|
32
|
+
originContent = (0, _formatSdocContent.formatSdocContent)(originContent);
|
|
31
33
|
const diff = (0, _diff.getDiff)(revisionContent, originContent);
|
|
32
34
|
setDiff(diff);
|
|
33
35
|
didMountCallback && didMountCallback(diff);
|
|
@@ -16,6 +16,7 @@ var _context = _interopRequireDefault(require("../context"));
|
|
|
16
16
|
var _errorBoundary = _interopRequireDefault(require("./error-boundary"));
|
|
17
17
|
var _basicSdk = require("../basic-sdk");
|
|
18
18
|
var _utils = require("../utils");
|
|
19
|
+
var _formatSdocContent = require("../utils/format-sdoc-content");
|
|
19
20
|
require("../assets/css/simple-editor.css");
|
|
20
21
|
const PublishedRevisionViewer = () => {
|
|
21
22
|
_context.default.initApi();
|
|
@@ -38,7 +39,8 @@ const PublishedRevisionViewer = () => {
|
|
|
38
39
|
const {
|
|
39
40
|
content: revisionContentString
|
|
40
41
|
} = res.data;
|
|
41
|
-
|
|
42
|
+
let document = JSON.parse(revisionContentString);
|
|
43
|
+
document = (0, _formatSdocContent.formatSdocContent)(document);
|
|
42
44
|
setDocument(document);
|
|
43
45
|
setIsFirstLoading(false);
|
|
44
46
|
}).catch(error => {
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.formatSdocContent = void 0;
|
|
7
|
+
// patch: update children to elements
|
|
8
|
+
const formatSdocContent = content => {
|
|
9
|
+
return {
|
|
10
|
+
...content,
|
|
11
|
+
...(!content.elements && {
|
|
12
|
+
elements: content.children
|
|
13
|
+
})
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.formatSdocContent = formatSdocContent;
|