@seafile/seafile-editor 2.0.36 → 2.0.37-beta
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/components/link-verified-dialog/index.js +1 -1
- package/dist/editors/slate-viewer/index.js +6 -2
- package/dist/extension/plugins/definition/render-elem/index.js +17 -2
- package/dist/extension/plugins/link-reference/render-elem/index.js +13 -1
- package/dist/extension/render/render-element.js +11 -3
- package/dist/index.js +8 -1
- package/dist/pages/markdown-view.js +27 -1
- package/package.json +1 -1
|
@@ -21,7 +21,8 @@ function SlateViewer(_ref) {
|
|
|
21
21
|
value,
|
|
22
22
|
isShowOutline,
|
|
23
23
|
scrollRef: externalScrollRef,
|
|
24
|
-
onLinkClick
|
|
24
|
+
onLinkClick,
|
|
25
|
+
options
|
|
25
26
|
} = _ref;
|
|
26
27
|
const scrollRef = (0, _react.useRef)(null);
|
|
27
28
|
const {
|
|
@@ -69,7 +70,10 @@ function SlateViewer(_ref) {
|
|
|
69
70
|
}, /*#__PURE__*/_react.default.createElement(_extension.SetNodeToDecorations, null), /*#__PURE__*/_react.default.createElement(_slateReact.Editable, {
|
|
70
71
|
readOnly: true,
|
|
71
72
|
decorate: decorate,
|
|
72
|
-
renderElement: _extension.renderElement
|
|
73
|
+
renderElement: props => (0, _extension.renderElement)({
|
|
74
|
+
options,
|
|
75
|
+
...props
|
|
76
|
+
}),
|
|
73
77
|
renderLeaf: _extension.renderLeaf
|
|
74
78
|
}))))))));
|
|
75
79
|
}
|
|
@@ -14,9 +14,13 @@ const renderDefinition = (_ref, editor) => {
|
|
|
14
14
|
let {
|
|
15
15
|
attributes,
|
|
16
16
|
children,
|
|
17
|
-
element
|
|
17
|
+
element,
|
|
18
|
+
option
|
|
18
19
|
} = _ref;
|
|
19
20
|
const [isShowConfirmDialog, setIsShowConfirmDialog] = (0, _react.useState)(false);
|
|
21
|
+
const {
|
|
22
|
+
render
|
|
23
|
+
} = option || {};
|
|
20
24
|
const onHrefClick = (0, _react.useCallback)(event => {
|
|
21
25
|
event.preventDefault();
|
|
22
26
|
if (element.url.startsWith(window.location.origin)) {
|
|
@@ -24,10 +28,21 @@ const renderDefinition = (_ref, editor) => {
|
|
|
24
28
|
return;
|
|
25
29
|
}
|
|
26
30
|
setIsShowConfirmDialog(true);
|
|
27
|
-
}, [element
|
|
31
|
+
}, [element]);
|
|
28
32
|
const onToggle = (0, _react.useCallback)(() => {
|
|
29
33
|
setIsShowConfirmDialog(!isShowConfirmDialog);
|
|
30
34
|
}, [isShowConfirmDialog]);
|
|
35
|
+
if ( /*#__PURE__*/(0, _react.isValidElement)(render)) {
|
|
36
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/(0, _react.cloneElement)(render, {
|
|
37
|
+
element,
|
|
38
|
+
onClick: onHrefClick,
|
|
39
|
+
attributes,
|
|
40
|
+
editor
|
|
41
|
+
}), isShowConfirmDialog && /*#__PURE__*/_react.default.createElement(_components.LinkVerifiedDialog, {
|
|
42
|
+
link: element.url,
|
|
43
|
+
onToggle: onToggle
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
31
46
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", Object.assign({
|
|
32
47
|
"data-url": element.url,
|
|
33
48
|
"data-id": element.id,
|
|
@@ -15,8 +15,12 @@ const renderLinkReference = (_ref, editor) => {
|
|
|
15
15
|
let {
|
|
16
16
|
attributes,
|
|
17
17
|
children,
|
|
18
|
-
element
|
|
18
|
+
element,
|
|
19
|
+
option
|
|
19
20
|
} = _ref;
|
|
21
|
+
const {
|
|
22
|
+
render
|
|
23
|
+
} = option || {};
|
|
20
24
|
const onClick = (0, _react.useCallback)(() => {
|
|
21
25
|
const doms = (0, _core.getNodesByType)(editor.children, _elementTypes.DEFINITION);
|
|
22
26
|
const dom = doms.find(d => d.identifier === element.identifier);
|
|
@@ -29,6 +33,14 @@ const renderLinkReference = (_ref, editor) => {
|
|
|
29
33
|
block: 'center'
|
|
30
34
|
});
|
|
31
35
|
}, [element, editor]);
|
|
36
|
+
if (render && /*#__PURE__*/(0, _react.isValidElement)(render)) {
|
|
37
|
+
return /*#__PURE__*/(0, _react.cloneElement)(render, {
|
|
38
|
+
element,
|
|
39
|
+
onClick,
|
|
40
|
+
attributes,
|
|
41
|
+
editor
|
|
42
|
+
});
|
|
43
|
+
}
|
|
32
44
|
return /*#__PURE__*/_react.default.createElement("sup", Object.assign({
|
|
33
45
|
onClick: onClick,
|
|
34
46
|
className: "sf-virtual-link-reference",
|
|
@@ -10,10 +10,18 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _slateReact = require("slate-react");
|
|
11
11
|
var ElementType = _interopRequireWildcard(require("../constants/element-types"));
|
|
12
12
|
var _plugins = require("../plugins");
|
|
13
|
-
const SlateElement =
|
|
14
|
-
|
|
13
|
+
const SlateElement = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
element,
|
|
16
|
+
options,
|
|
17
|
+
...params
|
|
18
|
+
} = _ref;
|
|
19
|
+
const option = options ? options[element.type] : null;
|
|
20
|
+
const props = {
|
|
21
|
+
...params,
|
|
22
|
+
option,
|
|
15
23
|
element
|
|
16
|
-
}
|
|
24
|
+
};
|
|
17
25
|
const editor = (0, _slateReact.useSlateStatic)();
|
|
18
26
|
switch (element.type) {
|
|
19
27
|
case ElementType.BLOCKQUOTE:
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,12 @@ Object.defineProperty(exports, "BrowserTip", {
|
|
|
10
10
|
return _components.BrowserTip;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
+
Object.defineProperty(exports, "ELementTypes", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _extension.ELementTypes;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
13
19
|
Object.defineProperty(exports, "EXTERNAL_EVENTS", {
|
|
14
20
|
enumerable: true,
|
|
15
21
|
get: function () {
|
|
@@ -145,4 +151,5 @@ var _slateConvert = require("./slate-convert");
|
|
|
145
151
|
var _replaceSlateNodes = require("./utils/replace-slate-nodes");
|
|
146
152
|
var _getPreviewContent = _interopRequireDefault(require("./utils/get-preview-content"));
|
|
147
153
|
var _getBrowserInfo = _interopRequireDefault(require("./utils/get-browser-Info"));
|
|
148
|
-
var _components = require("./components");
|
|
154
|
+
var _components = require("./components");
|
|
155
|
+
var _extension = require("./extension");
|
|
@@ -11,6 +11,23 @@ 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 _slateViewer = _interopRequireDefault(require("../editors/slate-viewer"));
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @param {
|
|
17
|
+
* options: {
|
|
18
|
+
* loading: {
|
|
19
|
+
* render: Custom loading renderer,
|
|
20
|
+
* ... // others
|
|
21
|
+
* },
|
|
22
|
+
* [ELementTypes.LINK_REFERENCE]: {
|
|
23
|
+
* render: Custom LinkReference renderer
|
|
24
|
+
* },
|
|
25
|
+
* ... // others
|
|
26
|
+
* }
|
|
27
|
+
* }
|
|
28
|
+
* @returns SlateViewer
|
|
29
|
+
*/
|
|
30
|
+
|
|
14
31
|
function MarkdownViewer(_ref) {
|
|
15
32
|
let {
|
|
16
33
|
isFetching,
|
|
@@ -19,7 +36,8 @@ function MarkdownViewer(_ref) {
|
|
|
19
36
|
isShowOutline,
|
|
20
37
|
scrollRef,
|
|
21
38
|
onLinkClick,
|
|
22
|
-
beforeRenderCallback
|
|
39
|
+
beforeRenderCallback,
|
|
40
|
+
options
|
|
23
41
|
} = _ref;
|
|
24
42
|
const [richValue, setRichValue] = (0, _react.useState)([]);
|
|
25
43
|
const [isLoading, setIsLoading] = (0, _react.useState)(true);
|
|
@@ -39,6 +57,7 @@ function MarkdownViewer(_ref) {
|
|
|
39
57
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
40
58
|
}, [isFetching, value]);
|
|
41
59
|
const props = {
|
|
60
|
+
options,
|
|
42
61
|
isSupportFormula: !!mathJaxSource,
|
|
43
62
|
value: richValue,
|
|
44
63
|
isShowOutline: isShowOutline,
|
|
@@ -46,6 +65,13 @@ function MarkdownViewer(_ref) {
|
|
|
46
65
|
onLinkClick: onLinkClick
|
|
47
66
|
};
|
|
48
67
|
if (isFetching || isLoading || isLoadingMathJax) {
|
|
68
|
+
const loadingOption = (options === null || options === void 0 ? void 0 : options.loading) || {};
|
|
69
|
+
const {
|
|
70
|
+
render
|
|
71
|
+
} = loadingOption || {};
|
|
72
|
+
if (render && /*#__PURE__*/(0, _react.isValidElement)(render)) {
|
|
73
|
+
return /*#__PURE__*/(0, _react.cloneElement)(render);
|
|
74
|
+
}
|
|
49
75
|
return /*#__PURE__*/_react.default.createElement(_loading.default, null);
|
|
50
76
|
}
|
|
51
77
|
return /*#__PURE__*/_react.default.createElement(_slateViewer.default, props);
|