@seafile/sdoc-editor 0.1.158 → 0.1.159-beta11
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/api/seafile-api.js +28 -9
- package/dist/basic-sdk/constants/index.js +25 -1
- package/dist/basic-sdk/editor/common-editor.js +50 -0
- package/dist/basic-sdk/editor/index.css +29 -0
- package/dist/basic-sdk/editor/index.js +129 -0
- package/dist/basic-sdk/{slate-editor.js → editor/slate-editor.js} +21 -16
- package/dist/basic-sdk/extension/constants/element-type.js +6 -1
- package/dist/basic-sdk/extension/core/transforms/replace-node-children.js +26 -0
- package/dist/basic-sdk/extension/plugins/font/helpers.js +1 -3
- package/dist/basic-sdk/extension/plugins/text-style/render-elem.js +4 -3
- package/dist/basic-sdk/extension/render/render-element.js +221 -1
- package/dist/basic-sdk/socket/helpers.js +2 -0
- package/dist/basic-sdk/socket/socket-client.js +51 -0
- package/dist/basic-sdk/socket/socket-manager.js +31 -2
- package/dist/basic-sdk/socket/with-socket-io.js +35 -12
- package/dist/basic-sdk/utils/diff.js +4 -3
- package/dist/basic-sdk/utils/rebase.js +193 -0
- package/dist/basic-sdk/views/diff-viewer.js +3 -1
- package/dist/basic-sdk/views/viewer.js +9 -12
- package/dist/components/doc-operations/index.js +4 -2
- package/dist/components/doc-operations/revision-operations/index.js +5 -2
- package/dist/components/doc-operations/revision-operations/publish-button.js +6 -13
- package/dist/components/tip-dialog/index.js +50 -0
- package/dist/components/tip-dialog/tip-content.js +47 -0
- package/dist/constants/index.js +26 -2
- package/dist/context.js +43 -9
- package/dist/pages/simple-editor.js +245 -88
- package/package.json +1 -1
- package/public/locales/en/sdoc-editor.json +12 -1
- package/public/locales/zh_CN/sdoc-editor.json +10 -1
- package/dist/basic-sdk/editor.js +0 -105
package/dist/basic-sdk/editor.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
-
import React, { useEffect, useMemo, useState, forwardRef, useImperativeHandle } from 'react';
|
|
3
|
-
import { Editor } from '@seafile/slate';
|
|
4
|
-
import { useTranslation } from 'react-i18next';
|
|
5
|
-
import { createDefaultEditor } from './extension';
|
|
6
|
-
import { focusEditor } from './extension/core';
|
|
7
|
-
import { withSocketIO } from './socket';
|
|
8
|
-
import withNodeId from './node-id';
|
|
9
|
-
import { PAGE_EDIT_AREA_WIDTH } from './constants';
|
|
10
|
-
import context from '../context';
|
|
11
|
-
import { EditorContainer, EditorContent } from './layout';
|
|
12
|
-
import SlateEditor from './slate-editor';
|
|
13
|
-
import InsertElementDialog from './extension/commons/insert-element-dialog';
|
|
14
|
-
var SDocEditor = forwardRef(function (_ref, ref) {
|
|
15
|
-
var document = _ref.document,
|
|
16
|
-
config = _ref.config;
|
|
17
|
-
var _useTranslation = useTranslation(),
|
|
18
|
-
t = _useTranslation.t;
|
|
19
|
-
|
|
20
|
-
// init editor
|
|
21
|
-
var editor = useMemo(function () {
|
|
22
|
-
var defaultEditor = createDefaultEditor();
|
|
23
|
-
var newEditor = withNodeId(withSocketIO(defaultEditor, {
|
|
24
|
-
document: document,
|
|
25
|
-
config: config
|
|
26
|
-
}));
|
|
27
|
-
var cursors = document.cursors;
|
|
28
|
-
newEditor.cursors = cursors || {};
|
|
29
|
-
newEditor.width = PAGE_EDIT_AREA_WIDTH; // default width
|
|
30
|
-
newEditor.readonly = false;
|
|
31
|
-
return newEditor;
|
|
32
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
33
|
-
}, []);
|
|
34
|
-
var _useState = useState(document.children),
|
|
35
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
-
slateValue = _useState2[0],
|
|
37
|
-
setSlateValue = _useState2[1];
|
|
38
|
-
|
|
39
|
-
// The parent component can call the method of this component through ref
|
|
40
|
-
useImperativeHandle(ref, function () {
|
|
41
|
-
return {
|
|
42
|
-
// get latest value
|
|
43
|
-
getValue: function getValue() {
|
|
44
|
-
return slateValue;
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
}, [slateValue]);
|
|
48
|
-
|
|
49
|
-
// useMount: init socket connection
|
|
50
|
-
useEffect(function () {
|
|
51
|
-
editor.openConnection();
|
|
52
|
-
return function () {
|
|
53
|
-
editor.closeConnection();
|
|
54
|
-
};
|
|
55
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
|
-
}, []);
|
|
57
|
-
|
|
58
|
-
// useMount: focus editor
|
|
59
|
-
useEffect(function () {
|
|
60
|
-
var timer = setTimeout(function () {
|
|
61
|
-
var _editor$children = _slicedToArray(editor.children, 1),
|
|
62
|
-
firstNode = _editor$children[0];
|
|
63
|
-
if (firstNode) {
|
|
64
|
-
var _firstNode$children = _slicedToArray(firstNode.children, 1),
|
|
65
|
-
firstNodeFirstChild = _firstNode$children[0];
|
|
66
|
-
if (firstNodeFirstChild) {
|
|
67
|
-
var endOfFirstNode = Editor.end(editor, [0, 0]);
|
|
68
|
-
var range = {
|
|
69
|
-
anchor: endOfFirstNode,
|
|
70
|
-
focus: endOfFirstNode
|
|
71
|
-
};
|
|
72
|
-
focusEditor(editor, range);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}, 300);
|
|
76
|
-
return function () {
|
|
77
|
-
clearTimeout(timer);
|
|
78
|
-
};
|
|
79
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
80
|
-
}, []);
|
|
81
|
-
|
|
82
|
-
// useMount: reset title
|
|
83
|
-
useEffect(function () {
|
|
84
|
-
var isSdocRevision = context.getSetting('isSdocRevision');
|
|
85
|
-
var originFilename = context.getSetting('originFilename');
|
|
86
|
-
if (isSdocRevision) {
|
|
87
|
-
window.document.getElementsByTagName('title')[0].innerText = "".concat(t('Revision'), " - ").concat(originFilename);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
91
|
-
}, []);
|
|
92
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(EditorContainer, {
|
|
93
|
-
editor: editor
|
|
94
|
-
}, /*#__PURE__*/React.createElement(EditorContent, {
|
|
95
|
-
docValue: slateValue,
|
|
96
|
-
showOutline: true
|
|
97
|
-
}, /*#__PURE__*/React.createElement(SlateEditor, {
|
|
98
|
-
editor: editor,
|
|
99
|
-
slateValue: slateValue,
|
|
100
|
-
setSlateValue: setSlateValue
|
|
101
|
-
}))), /*#__PURE__*/React.createElement(InsertElementDialog, {
|
|
102
|
-
editor: editor
|
|
103
|
-
}));
|
|
104
|
-
});
|
|
105
|
-
export default SDocEditor;
|