@seafile/seafile-editor 3.0.5 → 3.0.7-alpha.1
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/browser-tip/index.js +1 -1
- package/dist/components/longtext-modal.js +1 -1
- package/dist/constants/event-types.js +1 -0
- package/dist/containers/article-info/index.js +6 -7
- package/dist/containers/comment-panel/index.js +92 -0
- package/dist/containers/comment-panel/style.css +22 -0
- package/dist/containers/hotkeys-helper/index.js +1 -1
- package/dist/editors/inline-editor/index.js +1 -1
- package/dist/editors/simple-slate-editor/index.js +1 -1
- package/dist/editors/slate-editor/editor-help/index.js +35 -9
- package/dist/editors/slate-editor/index.js +2 -2
- package/dist/editors/slate-viewer/index.js +7 -7
- package/dist/extension/commons/insert-element-dialog/index.js +4 -4
- package/dist/extension/commons/menu/menu-drop-down.js +4 -4
- package/dist/extension/commons/menu-shortcut-indicator/index.js +1 -1
- package/dist/extension/commons/select/_option.js +2 -2
- package/dist/extension/commons/select/field-setting.js +6 -7
- package/dist/extension/commons/select/index.js +3 -3
- package/dist/extension/commons/select/menu/item.js +2 -2
- package/dist/extension/constants/element-types.js +6 -6
- package/dist/extension/constants/menus-config.js +21 -21
- package/dist/extension/core/queries/index.js +22 -23
- package/dist/extension/core/transforms/remove-node-children.js +4 -3
- package/dist/extension/core/transforms/replace-node-children.js +4 -3
- package/dist/extension/core/utils/index.js +4 -4
- package/dist/extension/highlight/set-node-decorations.js +4 -4
- package/dist/extension/plugins/clear-format/menu/index.js +6 -4
- package/dist/extension/plugins/code-block/plugin.js +7 -9
- package/dist/extension/plugins/code-block/render-elem/language-selector.js +1 -1
- package/dist/extension/plugins/column/helpers.js +2 -3
- package/dist/extension/plugins/column/render-elem.js +13 -17
- package/dist/extension/plugins/definition/render-elem/index.js +1 -1
- package/dist/extension/plugins/header/menu/index.js +2 -2
- package/dist/extension/plugins/header/render-elem.js +1 -1
- package/dist/extension/plugins/image/helper.js +11 -12
- package/dist/extension/plugins/image/render-element/index.js +5 -5
- package/dist/extension/plugins/link/helper.js +3 -3
- package/dist/extension/plugins/link/menu/index.js +7 -8
- package/dist/extension/plugins/link/menu/link-modal.js +8 -10
- package/dist/extension/plugins/link/render-elem/link-popover.js +1 -1
- package/dist/extension/plugins/link-reference/render-elem/index.js +2 -2
- package/dist/extension/plugins/list/plugin/on-tab-handle.js +3 -6
- package/dist/extension/plugins/list/transforms/insert-list-item.js +3 -4
- package/dist/extension/plugins/list/transforms/transforms-to-list.js +4 -3
- package/dist/extension/plugins/markdown/plugin.js +6 -12
- package/dist/extension/plugins/node-id/helpers.js +5 -6
- package/dist/extension/plugins/table/context-menu/index.js +1 -1
- package/dist/extension/plugins/table/helper.js +2 -3
- package/dist/extension/plugins/table/menu/table-operator.js +12 -18
- package/dist/extension/plugins/table/menu/table-size-selector.js +4 -4
- package/dist/extension/plugins/text-style/render-elem.js +6 -4
- package/dist/extension/render/render-element.js +10 -8
- package/dist/extension/toolbar/header-toolbar/insert-toolbar/index.js +1 -1
- package/dist/pages/email-editor-dialog/index.js +1 -1
- package/dist/pages/longtext-editor-dialog/index.js +1 -1
- package/dist/pages/simple-editor.js +17 -15
- package/dist/slate-convert/html-to-slate/constants.js +6 -6
- package/dist/slate-convert/html-to-slate/index.js +2 -2
- package/dist/slate-convert/md-to-slate/transform.js +28 -43
- package/dist/slate-convert/slate-to-md/transform.js +5 -5
- package/dist/utils/object-utils.js +3 -5
- package/dist/utils/replace-slate-nodes.js +5 -6
- package/package.json +4 -4
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
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
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
8
9
|
var _slugid = _interopRequireDefault(require("slugid"));
|
|
9
10
|
var _core = require("../../extension/core");
|
|
10
11
|
var _elementTypes = require("../../extension/constants/element-types");
|
|
@@ -42,21 +43,17 @@ const applyMarkForInlineItem = function (result, item) {
|
|
|
42
43
|
return result;
|
|
43
44
|
}
|
|
44
45
|
if (type === _elementTypes.IMAGE) {
|
|
45
|
-
const data = {
|
|
46
|
-
src: item.url
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
...(item.height && {
|
|
57
|
-
height: item.height
|
|
58
|
-
})
|
|
59
|
-
};
|
|
46
|
+
const data = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
47
|
+
src: item.url
|
|
48
|
+
}, item.title && {
|
|
49
|
+
title: item.title
|
|
50
|
+
}), item.alt && {
|
|
51
|
+
alt: item.alt
|
|
52
|
+
}), item.width && {
|
|
53
|
+
width: item.width
|
|
54
|
+
}), item.height && {
|
|
55
|
+
height: item.height
|
|
56
|
+
});
|
|
60
57
|
const image = {
|
|
61
58
|
id: _slugid.default.nice(),
|
|
62
59
|
data: data,
|
|
@@ -80,9 +77,7 @@ const applyMarkForInlineItem = function (result, item) {
|
|
|
80
77
|
// https://symbl.cc/en/200B/
|
|
81
78
|
const formatValue = value && value !== '' ? value : '';
|
|
82
79
|
textNode['text'] = formatValue;
|
|
83
|
-
result.push({
|
|
84
|
-
...textNode
|
|
85
|
-
});
|
|
80
|
+
result.push((0, _objectSpread2.default)({}, textNode));
|
|
86
81
|
|
|
87
82
|
// reset testNode
|
|
88
83
|
textNode = {};
|
|
@@ -91,9 +86,7 @@ const applyMarkForInlineItem = function (result, item) {
|
|
|
91
86
|
if (type === 'inlineCode') {
|
|
92
87
|
textNode['code'] = true;
|
|
93
88
|
textNode['text'] = value || '';
|
|
94
|
-
result.push({
|
|
95
|
-
...textNode
|
|
96
|
-
});
|
|
89
|
+
result.push((0, _objectSpread2.default)({}, textNode));
|
|
97
90
|
|
|
98
91
|
// reset testNode
|
|
99
92
|
textNode = {};
|
|
@@ -109,17 +102,13 @@ const applyMarkForInlineItem = function (result, item) {
|
|
|
109
102
|
id: textNode.id,
|
|
110
103
|
text: ''
|
|
111
104
|
}];
|
|
112
|
-
result.push({
|
|
113
|
-
...textNode
|
|
114
|
-
});
|
|
105
|
+
result.push((0, _objectSpread2.default)({}, textNode));
|
|
115
106
|
return;
|
|
116
107
|
}
|
|
117
108
|
const attr_key = INLINE_KEY_MAP[type];
|
|
118
109
|
if (!Array.isArray(children) || children.length === 0 || !attr_key) {
|
|
119
110
|
textNode['text'] = value || '';
|
|
120
|
-
result.push({
|
|
121
|
-
...textNode
|
|
122
|
-
});
|
|
111
|
+
result.push((0, _objectSpread2.default)({}, textNode));
|
|
123
112
|
|
|
124
113
|
// reset testNode
|
|
125
114
|
textNode = {};
|
|
@@ -146,7 +135,7 @@ const transformHeader = node => {
|
|
|
146
135
|
const {
|
|
147
136
|
depth
|
|
148
137
|
} = node;
|
|
149
|
-
const type =
|
|
138
|
+
const type = "".concat(_elementTypes.HEADER).concat(depth);
|
|
150
139
|
return {
|
|
151
140
|
id: _slugid.default.nice(),
|
|
152
141
|
type: type,
|
|
@@ -401,21 +390,17 @@ const transformHtml = node => {
|
|
|
401
390
|
const title = img.getAttribute('title');
|
|
402
391
|
const width = img.getAttribute('width');
|
|
403
392
|
const height = img.getAttribute('height');
|
|
404
|
-
const data = {
|
|
405
|
-
src: src
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
...(!isNaN(height) && height > 0 && {
|
|
416
|
-
height
|
|
417
|
-
})
|
|
418
|
-
};
|
|
393
|
+
const data = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({
|
|
394
|
+
src: src
|
|
395
|
+
}, alt && {
|
|
396
|
+
alt
|
|
397
|
+
}), title && {
|
|
398
|
+
title
|
|
399
|
+
}), !isNaN(width) && width > 0 && {
|
|
400
|
+
width
|
|
401
|
+
}), !isNaN(height) && height > 0 && {
|
|
402
|
+
height
|
|
403
|
+
});
|
|
419
404
|
const image = {
|
|
420
405
|
id: _slugid.default.nice(),
|
|
421
406
|
data: data,
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.formatSlateToMd = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
8
9
|
var _slate = require("slate");
|
|
9
10
|
var _isPunctuationMark = _interopRequireDefault(require("../../utils/is-punctuation-mark"));
|
|
10
11
|
const formatInlineChildren = children => {
|
|
@@ -59,10 +60,9 @@ const transformTextNode = textNode => {
|
|
|
59
60
|
|
|
60
61
|
// code = true, override text type
|
|
61
62
|
if (textNode['code']) {
|
|
62
|
-
mdNode = {
|
|
63
|
-
...mdNode,
|
|
63
|
+
mdNode = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, mdNode), {}, {
|
|
64
64
|
type: 'inlineCode'
|
|
65
|
-
};
|
|
65
|
+
});
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
// blob = true, add strong parent
|
|
@@ -112,7 +112,7 @@ const transformInlineChildren = (result, item) => {
|
|
|
112
112
|
if (data.height || data.width) {
|
|
113
113
|
image = {
|
|
114
114
|
type: 'html',
|
|
115
|
-
value:
|
|
115
|
+
value: "<img src=\"".concat(data.src, "\" alt=\"").concat(data.alt, "\" title=\"").concat(data.title, "\" width=\"").concat(data.width, "\" height=\"").concat(data.height, "\" />")
|
|
116
116
|
};
|
|
117
117
|
}
|
|
118
118
|
result.push(image);
|
|
@@ -133,7 +133,7 @@ const transformInlineChildren = (result, item) => {
|
|
|
133
133
|
if (item.type && item.type === 'column') {
|
|
134
134
|
const data = item.data;
|
|
135
135
|
const newNode = {
|
|
136
|
-
text:
|
|
136
|
+
text: "{".concat(data.name, "}")
|
|
137
137
|
};
|
|
138
138
|
const column = transformTextNode(newNode);
|
|
139
139
|
result.push(column);
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
8
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
9
10
|
var _ObjectUtils;
|
|
10
11
|
class ObjectUtils {
|
|
@@ -20,16 +21,13 @@ class ObjectUtils {
|
|
|
20
21
|
}
|
|
21
22
|
static isObjectChanged(source, comparison, notIncludeKeys) {
|
|
22
23
|
if (!this.iterable(source)) {
|
|
23
|
-
throw new Error(
|
|
24
|
+
throw new Error("source should be a Object or Array , but got ".concat(this.getDataType(source)));
|
|
24
25
|
}
|
|
25
26
|
if (this.getDataType(source) !== this.getDataType(comparison)) {
|
|
26
27
|
return true;
|
|
27
28
|
}
|
|
28
29
|
const sourceKeys = Object.keys(source);
|
|
29
|
-
const comparisonKeys = Object.keys({
|
|
30
|
-
...source,
|
|
31
|
-
...comparison
|
|
32
|
-
}).filter(key => !notIncludeKeys.includes(key));
|
|
30
|
+
const comparisonKeys = Object.keys((0, _objectSpread2.default)((0, _objectSpread2.default)({}, source), comparison)).filter(key => !notIncludeKeys.includes(key));
|
|
33
31
|
if (sourceKeys.length !== comparisonKeys.length) {
|
|
34
32
|
return true;
|
|
35
33
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.replaceColumnData = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
7
9
|
// root -> paragraph ->
|
|
8
10
|
const replaceColumnData = (mdNodes, columns, getCellValue, updateImgUrl) => {
|
|
9
11
|
for (let i = 0; i < mdNodes.length; i++) {
|
|
@@ -34,12 +36,9 @@ const replaceColumnData = (mdNodes, columns, getCellValue, updateImgUrl) => {
|
|
|
34
36
|
};
|
|
35
37
|
if (updateImgUrl && typeof updateImgUrl === 'function') {
|
|
36
38
|
const src = updateImgUrl(data.src);
|
|
37
|
-
const newData = {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
src
|
|
41
|
-
}
|
|
42
|
-
};
|
|
39
|
+
const newData = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {
|
|
40
|
+
src
|
|
41
|
+
});
|
|
43
42
|
node.data = newData;
|
|
44
43
|
}
|
|
45
44
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/seafile-editor",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.7-alpha.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@babel/plugin-transform-class-properties": "7.23.3",
|
|
31
31
|
"@babel/plugin-transform-private-methods": "7.23.3",
|
|
32
32
|
"@babel/runtime": "7.26.10",
|
|
33
|
-
"axios": "^1.
|
|
33
|
+
"axios": "^1.13.2",
|
|
34
34
|
"babel-jest": "29.7.0",
|
|
35
35
|
"babel-loader": "9.1.3",
|
|
36
36
|
"babel-plugin-import": "^1.13.6",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"terser-webpack-plugin": "5.3.9",
|
|
70
70
|
"url-loader": "4.1.1",
|
|
71
71
|
"webpack": "5.98.0",
|
|
72
|
-
"webpack-dev-server": "
|
|
72
|
+
"webpack-dev-server": "5.2.2",
|
|
73
73
|
"webpack-merge": "5.9.0"
|
|
74
74
|
},
|
|
75
75
|
"browserslist": {
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
]
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
-
"@seafile/react-image-lightbox": "^5.0.
|
|
88
|
+
"@seafile/react-image-lightbox": "^5.0.4",
|
|
89
89
|
"classnames": "2.3.2",
|
|
90
90
|
"copy-to-clipboard": "3.3.1",
|
|
91
91
|
"deep-copy": "1.4.2",
|