@seafile/seafile-editor 1.0.67 → 1.0.68
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/index.js +0 -14
- package/dist/pages/markdown-editor.js +8 -1
- package/package.json +1 -5
- package/dist/editors/plain-markdown-editor/code-mirror.css +0 -8
- package/dist/editors/plain-markdown-editor/code-mirror.js +0 -68
- package/dist/editors/plain-markdown-editor/index.js +0 -140
- package/dist/editors/plain-markdown-editor/style.css +0 -38
- package/dist/pages/rich-markdown-editor.js +0 -115
package/dist/index.js
CHANGED
|
@@ -46,18 +46,6 @@ Object.defineProperty(exports, "MarkdownViewer", {
|
|
|
46
46
|
return _markdownView.default;
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
|
-
Object.defineProperty(exports, "PlainMarkdownEditor", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
get: function () {
|
|
52
|
-
return _plainMarkdownEditor.default;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
Object.defineProperty(exports, "RichMarkdownEditor", {
|
|
56
|
-
enumerable: true,
|
|
57
|
-
get: function () {
|
|
58
|
-
return _richMarkdownEditor.default;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
49
|
Object.defineProperty(exports, "SeaTableEditor", {
|
|
62
50
|
enumerable: true,
|
|
63
51
|
get: function () {
|
|
@@ -113,8 +101,6 @@ Object.defineProperty(exports, "slateToMdString", {
|
|
|
113
101
|
}
|
|
114
102
|
});
|
|
115
103
|
var _eventTypes = require("./constants/event-types");
|
|
116
|
-
var _plainMarkdownEditor = _interopRequireDefault(require("./editors/plain-markdown-editor"));
|
|
117
|
-
var _richMarkdownEditor = _interopRequireDefault(require("./pages/rich-markdown-editor"));
|
|
118
104
|
var _markdownEditor = _interopRequireDefault(require("./pages/markdown-editor"));
|
|
119
105
|
var _markdownView = _interopRequireDefault(require("./pages/markdown-view"));
|
|
120
106
|
var _simpleEditor = _interopRequireDefault(require("./pages/simple-editor"));
|
|
@@ -11,12 +11,15 @@ var _loading = _interopRequireDefault(require("../containers/loading"));
|
|
|
11
11
|
var _slateConvert = require("../slate-convert");
|
|
12
12
|
var _useMathjax = _interopRequireDefault(require("../hooks/use-mathjax"));
|
|
13
13
|
var _slateEditor = _interopRequireDefault(require("../editors/slate-editor"));
|
|
14
|
+
var _core = require("../extension/core");
|
|
14
15
|
const SimpleEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
15
16
|
let {
|
|
16
17
|
isFetching,
|
|
17
18
|
value,
|
|
19
|
+
initValue,
|
|
18
20
|
editorApi,
|
|
19
21
|
mathJaxSource,
|
|
22
|
+
isSupportInsertSeafileImage,
|
|
20
23
|
onSave: propsOnSave,
|
|
21
24
|
onContentChanged: propsOnContentChanged,
|
|
22
25
|
children
|
|
@@ -36,7 +39,10 @@ const SimpleEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
36
39
|
}, [richValue]);
|
|
37
40
|
(0, _react.useEffect)(() => {
|
|
38
41
|
if (!isFetching) {
|
|
39
|
-
|
|
42
|
+
let richValue = (0, _slateConvert.mdStringToSlate)(value);
|
|
43
|
+
if (!value && initValue) {
|
|
44
|
+
richValue = [(0, _core.generateHeaderElement)(initValue)];
|
|
45
|
+
}
|
|
40
46
|
setRichValue(richValue);
|
|
41
47
|
setIsLoading(false);
|
|
42
48
|
}
|
|
@@ -48,6 +54,7 @@ const SimpleEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
48
54
|
}, [propsOnContentChanged]);
|
|
49
55
|
const props = {
|
|
50
56
|
isSupportFormula: !!mathJaxSource,
|
|
57
|
+
isSupportInsertSeafileImage,
|
|
51
58
|
value: richValue,
|
|
52
59
|
editorApi: editorApi,
|
|
53
60
|
onSave: propsOnSave,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/seafile-editor",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.68",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -85,12 +85,8 @@
|
|
|
85
85
|
]
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"@codemirror/lang-markdown": "6.2.3",
|
|
89
|
-
"@codemirror/language-data": "6.3.1",
|
|
90
|
-
"@codemirror/view": "6.22.1",
|
|
91
88
|
"@seafile/react-image-lightbox": "2.0.5",
|
|
92
89
|
"classnames": "2.3.2",
|
|
93
|
-
"codemirror": "6.0.1",
|
|
94
90
|
"deep-copy": "1.4.2",
|
|
95
91
|
"deepmerge": "4.3.1",
|
|
96
92
|
"is-url": "^1.2.4",
|
|
@@ -1,68 +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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
-
var _codemirror = require("codemirror");
|
|
12
|
-
var _view = require("@codemirror/view");
|
|
13
|
-
var _langMarkdown = require("@codemirror/lang-markdown");
|
|
14
|
-
var _languageData = require("@codemirror/language-data");
|
|
15
|
-
require("./code-mirror.css");
|
|
16
|
-
class SeafileCodeMirror extends _react.default.Component {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
(0, _defineProperty2.default)(this, "onValueChanged", viewUpdate => {
|
|
20
|
-
const {
|
|
21
|
-
onChange
|
|
22
|
-
} = this.props;
|
|
23
|
-
if (onChange && viewUpdate.docChanged) {
|
|
24
|
-
const doc = viewUpdate.state.doc;
|
|
25
|
-
const value = doc.toString();
|
|
26
|
-
onChange(value);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
(0, _defineProperty2.default)(this, "focus", () => {
|
|
30
|
-
this.view.focus();
|
|
31
|
-
});
|
|
32
|
-
(0, _defineProperty2.default)(this, "scrollIntoView", pos => {
|
|
33
|
-
_view.EditorView.scrollIntoView(pos);
|
|
34
|
-
});
|
|
35
|
-
(0, _defineProperty2.default)(this, "setCodeMirrorRef", ref => {
|
|
36
|
-
this.codeMirrorRef = ref;
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
componentDidMount() {
|
|
40
|
-
const {
|
|
41
|
-
initialValue,
|
|
42
|
-
autoFocus
|
|
43
|
-
} = this.props;
|
|
44
|
-
this.view = new _view.EditorView({
|
|
45
|
-
doc: initialValue,
|
|
46
|
-
extensions: [_codemirror.basicSetup, (0, _langMarkdown.markdown)({
|
|
47
|
-
codeLanguages: _languageData.languages
|
|
48
|
-
}), _view.EditorView.updateListener.of(viewUpdate => {
|
|
49
|
-
this.onValueChanged(viewUpdate);
|
|
50
|
-
}), _view.EditorView.lineWrapping],
|
|
51
|
-
parent: this.codeMirrorRef
|
|
52
|
-
});
|
|
53
|
-
if (autoFocus) this.focus();
|
|
54
|
-
}
|
|
55
|
-
componentWillUnmount() {
|
|
56
|
-
if (this.view) {
|
|
57
|
-
this.view.destroy();
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
render() {
|
|
61
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
62
|
-
className: (0, _classnames.default)('sf-code-mirror', this.props.className)
|
|
63
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
64
|
-
ref: this.setCodeMirrorRef
|
|
65
|
-
}));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
var _default = exports.default = SeafileCodeMirror;
|
|
@@ -1,140 +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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
9
|
-
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _isHotkey = _interopRequireDefault(require("is-hotkey"));
|
|
11
|
-
var _mdToHtml = _interopRequireDefault(require("../../slate-convert/md-to-html"));
|
|
12
|
-
var _codeMirror = _interopRequireDefault(require("./code-mirror"));
|
|
13
|
-
require("./style.css");
|
|
14
|
-
class PlainMarkdownEditor extends _react.default.Component {
|
|
15
|
-
constructor(props) {
|
|
16
|
-
super(props);
|
|
17
|
-
/*
|
|
18
|
-
* the data about scroll, these variable has nothing to width react
|
|
19
|
-
* they are not state
|
|
20
|
-
* */
|
|
21
|
-
(0, _defineProperty2.default)(this, "scrollData", {
|
|
22
|
-
scrollPercentage: 0,
|
|
23
|
-
leftPanel: null,
|
|
24
|
-
rightPanel: null
|
|
25
|
-
});
|
|
26
|
-
(0, _defineProperty2.default)(this, "setContent", markdownContent => {
|
|
27
|
-
this.setState({
|
|
28
|
-
editorValue: markdownContent
|
|
29
|
-
});
|
|
30
|
-
_mdToHtml.default.process(markdownContent, (error, vfile) => {
|
|
31
|
-
var html = String(vfile);
|
|
32
|
-
this.setState({
|
|
33
|
-
previewValue: html
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
(0, _defineProperty2.default)(this, "updateCode", newCode => {
|
|
38
|
-
this.setContent(newCode);
|
|
39
|
-
this.props.onContentChanged && this.props.onContentChanged(newCode);
|
|
40
|
-
});
|
|
41
|
-
(0, _defineProperty2.default)(this, "onEnterLeftPanel", () => {
|
|
42
|
-
this.setState({
|
|
43
|
-
isMouseInLeftSide: true
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
(0, _defineProperty2.default)(this, "onLeaveLeftPanel", () => {
|
|
47
|
-
this.setState({
|
|
48
|
-
isMouseInLeftSide: false
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
(0, _defineProperty2.default)(this, "onLeftScroll", e => {
|
|
52
|
-
const {
|
|
53
|
-
isMouseInLeftSide
|
|
54
|
-
} = this.state;
|
|
55
|
-
if (!isMouseInLeftSide) return;
|
|
56
|
-
let srcElement = this.scrollData.leftPanel;
|
|
57
|
-
this.scrollData.scrollPercentage = srcElement.scrollTop / srcElement.scrollHeight;
|
|
58
|
-
this.scrollData.rightPanel.scrollTop = this.scrollData.scrollPercentage * this.scrollData.rightPanel.scrollHeight;
|
|
59
|
-
});
|
|
60
|
-
(0, _defineProperty2.default)(this, "onEnterRightPanel", () => {
|
|
61
|
-
this.setState({
|
|
62
|
-
isMouseInRightSide: true
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
(0, _defineProperty2.default)(this, "onLeaveRightPanel", () => {
|
|
66
|
-
this.setState({
|
|
67
|
-
isMouseInRightSide: false
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
(0, _defineProperty2.default)(this, "onRightScroll", e => {
|
|
71
|
-
const {
|
|
72
|
-
isMouseInRightSide
|
|
73
|
-
} = this.state;
|
|
74
|
-
if (!isMouseInRightSide) return;
|
|
75
|
-
let srcElement = this.scrollData.rightPanel;
|
|
76
|
-
this.scrollData.scrollPercentage = srcElement.scrollTop / srcElement.scrollHeight;
|
|
77
|
-
this.scrollData.leftPanel.scrollTop = this.scrollData.scrollPercentage * this.scrollData.leftPanel.scrollHeight;
|
|
78
|
-
});
|
|
79
|
-
(0, _defineProperty2.default)(this, "onHotKey", event => {
|
|
80
|
-
const {
|
|
81
|
-
onSave
|
|
82
|
-
} = this.props;
|
|
83
|
-
if ((0, _isHotkey.default)('mod+s', event)) {
|
|
84
|
-
event.preventDefault();
|
|
85
|
-
onSave && onSave(this.state.editorValue);
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
this.state = {
|
|
90
|
-
editorValue: props.value,
|
|
91
|
-
previewValue: '',
|
|
92
|
-
isMouseInLeftSide: false,
|
|
93
|
-
isMouseInRightSide: false
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
componentDidMount() {
|
|
97
|
-
// get relevant dom when component mounted instead of get them when scrolling to improve performance
|
|
98
|
-
this.scrollData.leftPanel = document.querySelector('.sf-plain-editor-left-panel');
|
|
99
|
-
this.scrollData.rightPanel = document.querySelector('.sf-plain-editor-right-panel');
|
|
100
|
-
this.setContent(this.props.value);
|
|
101
|
-
}
|
|
102
|
-
componentDidUpdate() {
|
|
103
|
-
// render math formula
|
|
104
|
-
// window.MathJax.typesetPromise(document.querySelectorAll('.math-display'));
|
|
105
|
-
}
|
|
106
|
-
render() {
|
|
107
|
-
const {
|
|
108
|
-
editorValue,
|
|
109
|
-
previewValue
|
|
110
|
-
} = this.state;
|
|
111
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
112
|
-
className: "sf-plain-editor"
|
|
113
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
114
|
-
className: "sf-plain-editor-main d-flex",
|
|
115
|
-
onKeyDown: this.onHotKey
|
|
116
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
117
|
-
className: "sf-plain-editor-left-panel",
|
|
118
|
-
onMouseLeave: this.onLeaveLeftPanel,
|
|
119
|
-
onMouseEnter: this.onEnterLeftPanel,
|
|
120
|
-
onScroll: this.onLeftScroll
|
|
121
|
-
}, /*#__PURE__*/_react.default.createElement(_codeMirror.default, {
|
|
122
|
-
autoFocus: true,
|
|
123
|
-
initialValue: editorValue,
|
|
124
|
-
onChange: this.updateCode
|
|
125
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
126
|
-
className: "sf-plain-editor-right-panel",
|
|
127
|
-
onMouseEnter: this.onEnterRightPanel,
|
|
128
|
-
onMouseLeave: this.onLeaveRightPanel,
|
|
129
|
-
onScroll: this.onRightScroll
|
|
130
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
131
|
-
className: "preview"
|
|
132
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
133
|
-
className: "rendered-markdown article",
|
|
134
|
-
dangerouslySetInnerHTML: {
|
|
135
|
-
__html: previewValue
|
|
136
|
-
}
|
|
137
|
-
})))));
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
var _default = exports.default = PlainMarkdownEditor;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
.sf-plain-editor {
|
|
2
|
-
flex: 1;
|
|
3
|
-
display: flex;
|
|
4
|
-
min-height: 0;
|
|
5
|
-
min-width: 0;
|
|
6
|
-
position: relative;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/* fix plain editor main height */
|
|
10
|
-
.sf-plain-editor-main {
|
|
11
|
-
position: absolute;
|
|
12
|
-
inset: 0;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.sf-plain-editor-left-panel {
|
|
16
|
-
height: 100%;
|
|
17
|
-
width: 50%;
|
|
18
|
-
background-color: #fff;
|
|
19
|
-
border-right: 1px solid rgb(230,230,221);
|
|
20
|
-
overflow-y: scroll;
|
|
21
|
-
overflow-x: hidden;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.sf-plain-editor-right-panel {
|
|
25
|
-
height: 100%;
|
|
26
|
-
width: 50%;
|
|
27
|
-
background-color: rgb(250,250,249);
|
|
28
|
-
overflow-y: scroll;
|
|
29
|
-
overflow-x: hidden;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.rendered-markdown.article {
|
|
33
|
-
padding:0 20px 20px;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.rendered-markdown tbody tr:first-child {
|
|
37
|
-
font-weight: 400;
|
|
38
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _slateEditor = _interopRequireDefault(require("../editors/slate-editor"));
|
|
11
|
-
var _plainMarkdownEditor = _interopRequireDefault(require("../editors/plain-markdown-editor"));
|
|
12
|
-
var _loading = _interopRequireDefault(require("../containers/loading"));
|
|
13
|
-
var _slateConvert = require("../slate-convert");
|
|
14
|
-
var _useMathjax = _interopRequireDefault(require("../hooks/use-mathjax"));
|
|
15
|
-
var _core = require("../extension/core");
|
|
16
|
-
const EDITOR_MODE = {
|
|
17
|
-
RICH: 'rich',
|
|
18
|
-
PLAIN: 'plain'
|
|
19
|
-
};
|
|
20
|
-
const RichMarkdownEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
21
|
-
let {
|
|
22
|
-
mode = EDITOR_MODE.RICH,
|
|
23
|
-
isFetching,
|
|
24
|
-
initValue,
|
|
25
|
-
value,
|
|
26
|
-
editorApi,
|
|
27
|
-
onSave: propsOnSave,
|
|
28
|
-
onContentChanged: propsOnContentChanged,
|
|
29
|
-
mathJaxSource,
|
|
30
|
-
isSupportInsertSeafileImage,
|
|
31
|
-
children
|
|
32
|
-
} = _ref;
|
|
33
|
-
const currentMode = (0, _react.useRef)(mode);
|
|
34
|
-
const [mdStringValue, setMdStringValue] = (0, _react.useState)('');
|
|
35
|
-
const [richValue, setRichValue] = (0, _react.useState)([]);
|
|
36
|
-
const [isLoading, setIsLoading] = (0, _react.useState)(true);
|
|
37
|
-
const {
|
|
38
|
-
isLoadingMathJax
|
|
39
|
-
} = (0, _useMathjax.default)(mathJaxSource);
|
|
40
|
-
(0, _react.useImperativeHandle)(ref, () => {
|
|
41
|
-
return {
|
|
42
|
-
getValue: () => {
|
|
43
|
-
if (mode === EDITOR_MODE.RICH) {
|
|
44
|
-
const newValue = (0, _slateConvert.slateToMdString)(richValue);
|
|
45
|
-
return newValue;
|
|
46
|
-
} else {
|
|
47
|
-
return mdStringValue;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}, [mdStringValue, mode, richValue]);
|
|
52
|
-
(0, _react.useEffect)(() => {
|
|
53
|
-
if (!isFetching) {
|
|
54
|
-
let richValue = (0, _slateConvert.mdStringToSlate)(value);
|
|
55
|
-
if (!value && initValue) {
|
|
56
|
-
richValue = [(0, _core.generateHeaderElement)(initValue)];
|
|
57
|
-
}
|
|
58
|
-
setRichValue(richValue);
|
|
59
|
-
setMdStringValue(value);
|
|
60
|
-
setIsLoading(false);
|
|
61
|
-
}
|
|
62
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
63
|
-
}, [isFetching]);
|
|
64
|
-
(0, _react.useEffect)(() => {
|
|
65
|
-
if (mode !== currentMode.current && mode === EDITOR_MODE.RICH) {
|
|
66
|
-
setIsLoading(true);
|
|
67
|
-
queueMicrotask(() => {
|
|
68
|
-
currentMode.current = mode;
|
|
69
|
-
const newRichValue = (0, _slateConvert.mdStringToSlate)(mdStringValue);
|
|
70
|
-
setRichValue(newRichValue);
|
|
71
|
-
setIsLoading(false);
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
if (mode !== currentMode.current && mode === EDITOR_MODE.PLAIN) {
|
|
75
|
-
setIsLoading(true);
|
|
76
|
-
queueMicrotask(() => {
|
|
77
|
-
currentMode.current = mode;
|
|
78
|
-
const newMdStringValue = (0, _slateConvert.slateToMdString)(richValue);
|
|
79
|
-
setMdStringValue(newMdStringValue);
|
|
80
|
-
setIsLoading(false);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}, [mdStringValue, mode, richValue]);
|
|
84
|
-
const onContentChanged = (0, _react.useCallback)(content => {
|
|
85
|
-
if (mode === EDITOR_MODE.RICH) {
|
|
86
|
-
setRichValue(content);
|
|
87
|
-
} else {
|
|
88
|
-
setMdStringValue(content);
|
|
89
|
-
}
|
|
90
|
-
propsOnContentChanged && propsOnContentChanged();
|
|
91
|
-
}, [mode, propsOnContentChanged]);
|
|
92
|
-
const props = {
|
|
93
|
-
onSave: propsOnSave,
|
|
94
|
-
onContentChanged: onContentChanged,
|
|
95
|
-
isSupportFormula: !!mathJaxSource,
|
|
96
|
-
isSupportInsertSeafileImage,
|
|
97
|
-
...(children && {
|
|
98
|
-
children
|
|
99
|
-
}),
|
|
100
|
-
...(mode === EDITOR_MODE.PLAIN && {
|
|
101
|
-
value: mdStringValue
|
|
102
|
-
}),
|
|
103
|
-
...(mode === EDITOR_MODE.RICH && {
|
|
104
|
-
value: richValue
|
|
105
|
-
}),
|
|
106
|
-
...(mode === EDITOR_MODE.RICH && {
|
|
107
|
-
editorApi: editorApi
|
|
108
|
-
})
|
|
109
|
-
};
|
|
110
|
-
if (isFetching || isLoading || isLoadingMathJax) {
|
|
111
|
-
return /*#__PURE__*/_react.default.createElement(_loading.default, null);
|
|
112
|
-
}
|
|
113
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, mode === 'rich' && /*#__PURE__*/_react.default.createElement(_slateEditor.default, props), mode === 'plain' && /*#__PURE__*/_react.default.createElement(_plainMarkdownEditor.default, props));
|
|
114
|
-
});
|
|
115
|
-
var _default = exports.default = RichMarkdownEditor;
|