@seafile/sdoc-editor 2.0.165 → 2.0.167
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.
|
@@ -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.setHeaderType = exports.isSelectionInHeader = exports.isMenuDisabled = exports.getHeaderType = void 0;
|
|
7
|
+
exports.setHeaderType = exports.isSelectionInHeader = exports.isMenuDisabled = exports.isHasImage = exports.getHeaderType = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
9
|
var _slate = require("@seafile/slate");
|
|
10
10
|
var _constants = require("../../constants");
|
|
@@ -71,4 +71,10 @@ var setHeaderType = exports.setHeaderType = function setHeaderType(editor, type)
|
|
|
71
71
|
_slate.Transforms.setNodes(editor, {
|
|
72
72
|
type: type
|
|
73
73
|
});
|
|
74
|
+
};
|
|
75
|
+
var isHasImage = exports.isHasImage = function isHasImage(node) {
|
|
76
|
+
return node.children.some(function (item) {
|
|
77
|
+
if (item.type === 'image') return true;
|
|
78
|
+
return false;
|
|
79
|
+
});
|
|
74
80
|
};
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports["default"] = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
8
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
9
10
|
var _slate = require("@seafile/slate");
|
|
10
11
|
var _isHotkey = _interopRequireDefault(require("is-hotkey"));
|
|
@@ -24,7 +25,8 @@ var withHeader = function withHeader(editor) {
|
|
|
24
25
|
var insertBreak = editor.insertBreak,
|
|
25
26
|
insertFragment = editor.insertFragment,
|
|
26
27
|
insertText = editor.insertText,
|
|
27
|
-
deleteBackward = editor.deleteBackward
|
|
28
|
+
deleteBackward = editor.deleteBackward,
|
|
29
|
+
normalizeNode = editor.normalizeNode;
|
|
28
30
|
var newEditor = editor;
|
|
29
31
|
|
|
30
32
|
// Utility function to check if selection is inside multi-column node
|
|
@@ -138,6 +140,40 @@ var withHeader = function withHeader(editor) {
|
|
|
138
140
|
(0, _helpers2.setHeaderType)(newEditor, headerType);
|
|
139
141
|
return true;
|
|
140
142
|
};
|
|
143
|
+
newEditor.normalizeNode = function (_ref) {
|
|
144
|
+
var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
|
|
145
|
+
node = _ref2[0],
|
|
146
|
+
path = _ref2[1];
|
|
147
|
+
var type = (0, _core.getNodeType)(node);
|
|
148
|
+
if (_constants.HEADERS.includes(type) && (0, _helpers2.isHasImage)(node)) {
|
|
149
|
+
var imagePaths = [];
|
|
150
|
+
var imageNodes = [];
|
|
151
|
+
node.children.forEach(function (item, index) {
|
|
152
|
+
if (item.type === 'image') {
|
|
153
|
+
var imgPath = [].concat((0, _toConsumableArray2["default"])(path), [index]);
|
|
154
|
+
imagePaths.push(imgPath);
|
|
155
|
+
imageNodes.push(item);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
if (imagePaths.length > 0) {
|
|
159
|
+
_slate.Editor.withoutNormalizing(editor, function () {
|
|
160
|
+
imagePaths.reverse().forEach(function (path) {
|
|
161
|
+
_slate.Transforms.removeNodes(editor, {
|
|
162
|
+
at: path
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
var p = (0, _core.generateDefaultParagraph)();
|
|
166
|
+
p.children = imageNodes;
|
|
167
|
+
var newPath = _slate.Path.next(path);
|
|
168
|
+
_slate.Transforms.insertNodes(editor, p, {
|
|
169
|
+
at: newPath
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return normalizeNode([node, path]);
|
|
176
|
+
};
|
|
141
177
|
return newEditor;
|
|
142
178
|
};
|
|
143
179
|
var _default = exports["default"] = withHeader;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@seafile/sdoc-editor",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.167",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"test": "jest",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"publishConfig": {
|
|
72
72
|
"access": "public"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "3aeaf24f2dc672bc32a6dc6d962542adb53a6f73"
|
|
75
75
|
}
|