@seafile/seafile-editor 2.0.33-alpha.1 → 2.0.34-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/editors/inline-editor/index.js +3 -4
- package/dist/extension/constants/element-types.js +4 -2
- package/dist/extension/core/queries/index.js +17 -1
- package/dist/extension/plugins/definition/index.js +17 -0
- package/dist/extension/plugins/definition/render-elem/index.css +1 -0
- package/dist/extension/plugins/definition/render-elem/index.js +36 -0
- package/dist/extension/plugins/index.js +15 -1
- package/dist/extension/plugins/link-reference/index.js +17 -0
- package/dist/extension/plugins/link-reference/render-elem/index.css +1 -0
- package/dist/extension/plugins/link-reference/render-elem/index.js +34 -0
- package/dist/extension/plugins/text-style/render-elem.js +1 -0
- package/dist/extension/render/render-element.js +10 -0
- package/dist/pages/longtext-inline-editor/index.js +2 -2
- package/dist/pages/longtext-inline-editor/normal-editor.js +2 -2
- package/dist/pages/simple-editor.js +2 -2
- package/dist/slate-convert/md-to-slate/index.js +1 -0
- package/dist/slate-convert/md-to-slate/transform.js +33 -2
- package/package.json +1 -1
|
@@ -24,7 +24,7 @@ const isMacOS = (0, _common.isMac)();
|
|
|
24
24
|
const InlineEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
25
25
|
let {
|
|
26
26
|
enableEdit,
|
|
27
|
-
|
|
27
|
+
autoFocus,
|
|
28
28
|
value,
|
|
29
29
|
editorApi,
|
|
30
30
|
onSave,
|
|
@@ -36,7 +36,6 @@ const InlineEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
36
36
|
onExpandEditorToggle,
|
|
37
37
|
handelEnableEdit
|
|
38
38
|
} = _ref;
|
|
39
|
-
console.log('defaultAutoFocus', defaultAutoFocus);
|
|
40
39
|
const [slateValue, setSlateValue] = (0, _react.useState)(value);
|
|
41
40
|
const focusRangeRef = (0, _react.useRef)(null);
|
|
42
41
|
const editor = (0, _react.useMemo)(() => {
|
|
@@ -103,7 +102,7 @@ const InlineEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
103
102
|
const timer = setTimeout(() => {
|
|
104
103
|
editor.forceNormalize = false;
|
|
105
104
|
if (!enableEdit) return;
|
|
106
|
-
if (!
|
|
105
|
+
if (!autoFocus) return;
|
|
107
106
|
focusNode(editor);
|
|
108
107
|
}, 300);
|
|
109
108
|
return () => {
|
|
@@ -117,7 +116,7 @@ const InlineEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
117
116
|
editor.hasMovedSelection = false;
|
|
118
117
|
return;
|
|
119
118
|
}
|
|
120
|
-
if (!
|
|
119
|
+
if (!autoFocus) return;
|
|
121
120
|
focusNode(editor, focusRangeRef.current);
|
|
122
121
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
123
122
|
}, [enableEdit]);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.UNORDERED_LIST = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.PARAGRAPH = exports.ORDERED_LIST = exports.LIST_ITEM = exports.LINK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.FORMULA = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.BLOCKQUOTE = void 0;
|
|
6
|
+
exports.UNORDERED_LIST = exports.TABLE_ROW = exports.TABLE_CELL = exports.TABLE = exports.PARAGRAPH = exports.ORDERED_LIST = exports.LIST_ITEM = exports.LINK_REFERENCE = exports.LINK = exports.IMAGE = exports.HEADER6 = exports.HEADER5 = exports.HEADER4 = exports.HEADER3 = exports.HEADER2 = exports.HEADER1 = exports.HEADER = exports.FORMULA = exports.DEFINITION = exports.COLUMN = exports.CODE_LINE = exports.CODE_BLOCK = exports.CHECK_LIST_ITEM = exports.BLOCKQUOTE = void 0;
|
|
7
7
|
const BLOCKQUOTE = exports.BLOCKQUOTE = 'blockquote';
|
|
8
8
|
const HEADER = exports.HEADER = 'header';
|
|
9
9
|
// each header type should be start with HEADER, all of justices should based on HEADER
|
|
@@ -26,4 +26,6 @@ const TABLE_CELL = exports.TABLE_CELL = 'table_cell';
|
|
|
26
26
|
const IMAGE = exports.IMAGE = 'image';
|
|
27
27
|
const LINK = exports.LINK = 'link';
|
|
28
28
|
const FORMULA = exports.FORMULA = 'formula';
|
|
29
|
-
const COLUMN = exports.COLUMN = 'column';
|
|
29
|
+
const COLUMN = exports.COLUMN = 'column';
|
|
30
|
+
const LINK_REFERENCE = exports.LINK_REFERENCE = 'link-reference';
|
|
31
|
+
const DEFINITION = exports.DEFINITION = 'definition';
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.isTextNode = exports.isStartPoint = exports.isSelectionAtBlockStart = exports.isSelectionAtBlockEnd = exports.isRangeAcrossBlocks = exports.isLastNode = exports.isLastChild = exports.isFirstNode = exports.isFirstChild = exports.isEndPoint = exports.isBlockTextEmptyAfterSelection = exports.isBlockAboveEmpty = exports.isAncestorEmpty = exports.getSelectedNodeEntryByTypes = exports.getSelectedNodeEntryByType = exports.getSelectedNodeByTypes = exports.getSelectedNodeByType = exports.getSelectedElems = exports.getQueryOptions = exports.getPreviousPath = exports.getPrevNode = exports.getParentNode = exports.getNodes = exports.getNodeType = exports.getNodePathById = exports.getNodeEntries = exports.getNode = exports.getNextSiblingNodes = exports.getNextNode = exports.getLastChildPath = exports.getLastChild = exports.getInlineNodes = exports.getEditorString = exports.getDeepInlineChildren = exports.getCommonNode = exports.getChildren = exports.getAboveNode = exports.getAboveBlockNode = exports.findPath = exports.findNode = exports.findDescendant = void 0;
|
|
7
|
+
exports.isTextNode = exports.isStartPoint = exports.isSelectionAtBlockStart = exports.isSelectionAtBlockEnd = exports.isRangeAcrossBlocks = exports.isLastNode = exports.isLastChild = exports.isFirstNode = exports.isFirstChild = exports.isEndPoint = exports.isBlockTextEmptyAfterSelection = exports.isBlockAboveEmpty = exports.isAncestorEmpty = exports.getSelectedNodeEntryByTypes = exports.getSelectedNodeEntryByType = exports.getSelectedNodeByTypes = exports.getSelectedNodeByType = exports.getSelectedElems = exports.getQueryOptions = exports.getPreviousPath = exports.getPrevNode = exports.getParentNode = exports.getNodesByType = exports.getNodes = exports.getNodeType = exports.getNodePathById = exports.getNodeEntries = exports.getNode = exports.getNextSiblingNodes = exports.getNextNode = exports.getLastChildPath = exports.getLastChild = exports.getInlineNodes = exports.getEditorString = exports.getDeepInlineChildren = exports.getCommonNode = exports.getChildren = exports.getAboveNode = exports.getAboveBlockNode = exports.findPath = exports.findNode = exports.findDescendant = void 0;
|
|
8
8
|
var _slate = require("slate");
|
|
9
9
|
var _slateReact = require("slate-react");
|
|
10
10
|
var _slugid = _interopRequireDefault(require("slugid"));
|
|
@@ -46,6 +46,22 @@ const getNode = (editor, path) => {
|
|
|
46
46
|
return node;
|
|
47
47
|
};
|
|
48
48
|
exports.getNode = getNode;
|
|
49
|
+
const getNodesByType = function () {
|
|
50
|
+
let target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
51
|
+
let type = arguments.length > 1 ? arguments[1] : undefined;
|
|
52
|
+
let nodes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
|
53
|
+
Array.isArray(target) && target.forEach(n => {
|
|
54
|
+
if (n.type === type) {
|
|
55
|
+
nodes.push(n);
|
|
56
|
+
} else {
|
|
57
|
+
if (Array.isArray(n.children) && n.children.length > 0) {
|
|
58
|
+
getNodesByType(n, type, nodes);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return nodes;
|
|
63
|
+
};
|
|
64
|
+
exports.getNodesByType = getNodesByType;
|
|
49
65
|
const getNodeType = node => {
|
|
50
66
|
return _slate.Element.isElement(node) ? node.type : '';
|
|
51
67
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
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 _elementTypes = require("../../constants/element-types");
|
|
9
|
+
var _renderElem = _interopRequireDefault(require("./render-elem"));
|
|
10
|
+
const DefinitionPlugin = {
|
|
11
|
+
type: _elementTypes.DEFINITION,
|
|
12
|
+
nodeType: 'element',
|
|
13
|
+
// editorMenus: [],
|
|
14
|
+
// editorPlugin: withLink,
|
|
15
|
+
renderElements: [_renderElem.default]
|
|
16
|
+
};
|
|
17
|
+
var _default = exports.default = DefinitionPlugin;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,36 @@
|
|
|
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 _classnames = _interopRequireDefault(require("classnames"));
|
|
11
|
+
var _slateReact = require("slate-react");
|
|
12
|
+
require("./index.css");
|
|
13
|
+
/* eslint-disable react-hooks/rules-of-hooks */
|
|
14
|
+
|
|
15
|
+
const renderDefinition = (_ref, editor) => {
|
|
16
|
+
let {
|
|
17
|
+
attributes,
|
|
18
|
+
children,
|
|
19
|
+
element
|
|
20
|
+
} = _ref;
|
|
21
|
+
const [isShowPopover, setShowPopover] = (0, _react.useState)(false);
|
|
22
|
+
const onHrefClick = (0, _react.useCallback)(event => {
|
|
23
|
+
event.preventDefault();
|
|
24
|
+
setShowPopover(true);
|
|
25
|
+
}, []);
|
|
26
|
+
console.log(element);
|
|
27
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", Object.assign({
|
|
28
|
+
"data-url": element.url,
|
|
29
|
+
"data-id": element.id,
|
|
30
|
+
className: "sf-virtual-definition"
|
|
31
|
+
}, attributes), /*#__PURE__*/_react.default.createElement("span", null, element.identifier + '. '), /*#__PURE__*/_react.default.createElement("a", {
|
|
32
|
+
href: element.url,
|
|
33
|
+
onClick: onHrefClick
|
|
34
|
+
}, children)));
|
|
35
|
+
};
|
|
36
|
+
var _default = exports.default = renderDefinition;
|
|
@@ -28,6 +28,12 @@ Object.defineProperty(exports, "ColumnPlugin", {
|
|
|
28
28
|
return _column.default;
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
|
+
Object.defineProperty(exports, "DefinitionPlugin", {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () {
|
|
34
|
+
return _definition.default;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
31
37
|
Object.defineProperty(exports, "FormulaPlugin", {
|
|
32
38
|
enumerable: true,
|
|
33
39
|
get: function () {
|
|
@@ -58,6 +64,12 @@ Object.defineProperty(exports, "LinkPlugin", {
|
|
|
58
64
|
return _link.default;
|
|
59
65
|
}
|
|
60
66
|
});
|
|
67
|
+
Object.defineProperty(exports, "LinkReferencePlugin", {
|
|
68
|
+
enumerable: true,
|
|
69
|
+
get: function () {
|
|
70
|
+
return _linkReference.default;
|
|
71
|
+
}
|
|
72
|
+
});
|
|
61
73
|
Object.defineProperty(exports, "ListPlugin", {
|
|
62
74
|
enumerable: true,
|
|
63
75
|
get: function () {
|
|
@@ -110,7 +122,9 @@ var _formula = _interopRequireDefault(require("./formula"));
|
|
|
110
122
|
var _column = _interopRequireDefault(require("./column"));
|
|
111
123
|
var _markdown = _interopRequireDefault(require("./markdown"));
|
|
112
124
|
var _html = _interopRequireDefault(require("./html"));
|
|
125
|
+
var _linkReference = _interopRequireDefault(require("./link-reference"));
|
|
126
|
+
var _definition = _interopRequireDefault(require("./definition"));
|
|
113
127
|
const Plugins = [_paragraph.default, _textStyle.default, _header.default, _image.default, _checkList.default, _list.default, _codeBlock.default, _table.default, _blockquote.default, _link.default, _formula.default, _markdown.default, _html.default, _column.default,
|
|
114
128
|
// put at the end
|
|
115
|
-
_nodeId.default];
|
|
129
|
+
_nodeId.default, _linkReference.default, _definition.default];
|
|
116
130
|
var _default = exports.default = Plugins;
|
|
@@ -0,0 +1,17 @@
|
|
|
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 _elementTypes = require("../../constants/element-types");
|
|
9
|
+
var _renderElem = _interopRequireDefault(require("./render-elem"));
|
|
10
|
+
const LinkReferencePlugin = {
|
|
11
|
+
type: _elementTypes.LINK_REFERENCE,
|
|
12
|
+
nodeType: 'element',
|
|
13
|
+
// editorMenus: [],
|
|
14
|
+
// editorPlugin: withLink,
|
|
15
|
+
renderElements: [_renderElem.default]
|
|
16
|
+
};
|
|
17
|
+
var _default = exports.default = LinkReferencePlugin;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _core = require("../../../core");
|
|
10
|
+
var _elementTypes = require("../../../constants/element-types");
|
|
11
|
+
require("./index.css");
|
|
12
|
+
/* eslint-disable react-hooks/rules-of-hooks */
|
|
13
|
+
|
|
14
|
+
const renderLinkReference = (_ref, editor) => {
|
|
15
|
+
let {
|
|
16
|
+
attributes,
|
|
17
|
+
children,
|
|
18
|
+
element
|
|
19
|
+
} = _ref;
|
|
20
|
+
const onClick = (0, _react.useCallback)(() => {
|
|
21
|
+
const doms = (0, _core.getNodesByType)(editor.children, _elementTypes.DEFINITION);
|
|
22
|
+
const dom = doms.find(d => d.identifier === element.identifier);
|
|
23
|
+
if (!dom) return;
|
|
24
|
+
console.log(dom);
|
|
25
|
+
}, [element, editor]);
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement("sup", Object.assign({
|
|
27
|
+
onClick: onClick,
|
|
28
|
+
className: "sf-virtual-link-reference",
|
|
29
|
+
"data-id": element.id
|
|
30
|
+
}, attributes, {
|
|
31
|
+
title: element.label
|
|
32
|
+
}), `[${element.identifier}]`);
|
|
33
|
+
};
|
|
34
|
+
var _default = exports.default = renderLinkReference;
|
|
@@ -17,6 +17,7 @@ const renderText = (props, editor) => {
|
|
|
17
17
|
text,
|
|
18
18
|
...rest
|
|
19
19
|
} = leaf;
|
|
20
|
+
console.log(leaf);
|
|
20
21
|
let markedChildren = /*#__PURE__*/_react.default.cloneElement(children);
|
|
21
22
|
if (leaf[_constants.TEXT_STYLE_MAP.BOLD]) {
|
|
22
23
|
markedChildren = /*#__PURE__*/_react.default.createElement("strong", null, markedChildren);
|
|
@@ -41,6 +41,16 @@ const SlateElement = props => {
|
|
|
41
41
|
const [renderLink] = _plugins.LinkPlugin.renderElements;
|
|
42
42
|
return renderLink(props, editor);
|
|
43
43
|
}
|
|
44
|
+
case ElementType.LINK_REFERENCE:
|
|
45
|
+
{
|
|
46
|
+
const [renderLinkReferencePlugin] = _plugins.LinkReferencePlugin.renderElements;
|
|
47
|
+
return renderLinkReferencePlugin(props, editor);
|
|
48
|
+
}
|
|
49
|
+
case ElementType.DEFINITION:
|
|
50
|
+
{
|
|
51
|
+
const [renderDefinition] = _plugins.DefinitionPlugin.renderElements;
|
|
52
|
+
return renderDefinition(props, editor);
|
|
53
|
+
}
|
|
44
54
|
case ElementType.CODE_BLOCK:
|
|
45
55
|
{
|
|
46
56
|
const [renderCodeBlock] = _plugins.CodeBlockPlugin.renderElements;
|
|
@@ -17,7 +17,7 @@ require("./index.css");
|
|
|
17
17
|
const LongTextInlineEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
18
18
|
let {
|
|
19
19
|
isAlwaysEnableEdit = false,
|
|
20
|
-
|
|
20
|
+
autoFocus = true,
|
|
21
21
|
autoSave,
|
|
22
22
|
isCheckBrowser,
|
|
23
23
|
saveDelay,
|
|
@@ -107,7 +107,7 @@ const LongTextInlineEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) =>
|
|
|
107
107
|
isCheckBrowser: isCheckBrowser,
|
|
108
108
|
isImageUploadOnly: isImageUploadOnly,
|
|
109
109
|
isSupportMultipleFiles: isSupportMultipleFiles,
|
|
110
|
-
|
|
110
|
+
autoFocus: autoFocus,
|
|
111
111
|
editorApi: editorApi,
|
|
112
112
|
onSaveEditorValue: onSaveEditorValue,
|
|
113
113
|
onEditorValueChanged: onEditorValueChanged
|
|
@@ -25,7 +25,7 @@ const NormalEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
25
25
|
isCheckBrowser = false,
|
|
26
26
|
isImageUploadOnly = true,
|
|
27
27
|
isSupportMultipleFiles = false,
|
|
28
|
-
|
|
28
|
+
autoFocus,
|
|
29
29
|
editorApi,
|
|
30
30
|
onSaveEditorValue,
|
|
31
31
|
onEditorValueChanged
|
|
@@ -122,7 +122,7 @@ const NormalEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
122
122
|
ref: editorRef,
|
|
123
123
|
enableEdit: enableEdit,
|
|
124
124
|
isInline: true,
|
|
125
|
-
|
|
125
|
+
autoFocus: autoFocus,
|
|
126
126
|
isImageUploadOnly: isImageUploadOnly,
|
|
127
127
|
isSupportMultipleFiles: isSupportMultipleFiles,
|
|
128
128
|
value: valueRef.current.text,
|
|
@@ -16,7 +16,7 @@ const SimpleEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
16
16
|
let {
|
|
17
17
|
isInline,
|
|
18
18
|
isFetching,
|
|
19
|
-
|
|
19
|
+
autoFocus,
|
|
20
20
|
value,
|
|
21
21
|
focusEnd = false,
|
|
22
22
|
editorApi,
|
|
@@ -60,7 +60,7 @@ const SimpleEditor = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
60
60
|
isSupportFormula: !!mathJaxSource,
|
|
61
61
|
value: richValue,
|
|
62
62
|
focusEnd,
|
|
63
|
-
|
|
63
|
+
autoFocus,
|
|
64
64
|
editorApi: editorApi,
|
|
65
65
|
onSave: propsOnSave,
|
|
66
66
|
onContentChanged: onContentChanged,
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.transformUnorderedList = exports.transformTableRow = exports.transformTableCell = exports.transformTable = exports.transformParagraph = exports.transformOrderedList = exports.transformMath = exports.transformListItem = exports.transformListContent = exports.transformList = exports.transformHtml = exports.transformHr = exports.transformHeader = exports.transformCodeLine = exports.transformCodeBlock = exports.transformCheckListItem = exports.transformCheckList = exports.transformBlockquote = exports.transformBlockHtml = exports.formatMdToSlate = void 0;
|
|
7
|
+
exports.transformUnorderedList = exports.transformTableRow = exports.transformTableCell = exports.transformTable = exports.transformParagraph = exports.transformOrderedList = exports.transformMath = exports.transformListItem = exports.transformListContent = exports.transformList = exports.transformHtml = exports.transformHr = exports.transformHeader = exports.transformDefinition = exports.transformCodeLine = exports.transformCodeBlock = exports.transformCheckListItem = exports.transformCheckList = exports.transformBlockquote = exports.transformBlockHtml = exports.formatMdToSlate = void 0;
|
|
8
8
|
var _slugid = _interopRequireDefault(require("slugid"));
|
|
9
9
|
var _core = require("../../extension/core");
|
|
10
10
|
var _elementTypes = require("../../extension/constants/element-types");
|
|
@@ -99,6 +99,22 @@ const applyMarkForInlineItem = function (result, item) {
|
|
|
99
99
|
textNode = {};
|
|
100
100
|
return;
|
|
101
101
|
}
|
|
102
|
+
if (type === 'linkReference') {
|
|
103
|
+
var _item$children$;
|
|
104
|
+
console.log('linkReference: ', item);
|
|
105
|
+
textNode['type'] = _elementTypes.LINK_REFERENCE;
|
|
106
|
+
textNode['identifier'] = item.identifier;
|
|
107
|
+
textNode['referenceType'] = item.referenceType;
|
|
108
|
+
textNode['label'] = (_item$children$ = item.children[0]) === null || _item$children$ === void 0 ? void 0 : _item$children$.value;
|
|
109
|
+
textNode['children'] = [{
|
|
110
|
+
id: textNode.id,
|
|
111
|
+
text: ''
|
|
112
|
+
}];
|
|
113
|
+
result.push({
|
|
114
|
+
...textNode
|
|
115
|
+
});
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
102
118
|
const attr_key = INLINE_KEY_MAP[type];
|
|
103
119
|
if (!Array.isArray(children) || children.length === 0 || !attr_key) {
|
|
104
120
|
textNode['text'] = value || '';
|
|
@@ -351,6 +367,20 @@ const transformCodeBlock = node => {
|
|
|
351
367
|
};
|
|
352
368
|
};
|
|
353
369
|
exports.transformCodeBlock = transformCodeBlock;
|
|
370
|
+
const transformDefinition = node => {
|
|
371
|
+
return {
|
|
372
|
+
id: _slugid.default.nice(),
|
|
373
|
+
type: _elementTypes.DEFINITION,
|
|
374
|
+
identifier: node.identifier,
|
|
375
|
+
url: node === null || node === void 0 ? void 0 : node.url,
|
|
376
|
+
title: node === null || node === void 0 ? void 0 : node.title,
|
|
377
|
+
children: [{
|
|
378
|
+
id: _slugid.default.nice(),
|
|
379
|
+
text: node === null || node === void 0 ? void 0 : node.title
|
|
380
|
+
}]
|
|
381
|
+
};
|
|
382
|
+
};
|
|
383
|
+
exports.transformDefinition = transformDefinition;
|
|
354
384
|
const transformHr = node => {
|
|
355
385
|
return {
|
|
356
386
|
id: _slugid.default.nice(),
|
|
@@ -430,7 +460,8 @@ const elementHandlers = {
|
|
|
430
460
|
'code': transformCodeBlock,
|
|
431
461
|
'thematicBreak': transformHr,
|
|
432
462
|
'math': transformMath,
|
|
433
|
-
'html': transformBlockHtml
|
|
463
|
+
'html': transformBlockHtml,
|
|
464
|
+
'definition': transformDefinition
|
|
434
465
|
};
|
|
435
466
|
const formatMdToSlate = children => {
|
|
436
467
|
const validChildren = children.filter(child => elementHandlers[child.type]);
|