@ckeditor/ckeditor5-clipboard 0.0.0-nightly-20231218.0 → 0.0.0-nightly-20231220.0
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/package.json +6 -6
- package/src/dragdroptarget.js +9 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ckeditor/ckeditor5-clipboard",
|
|
3
|
-
"version": "0.0.0-nightly-
|
|
3
|
+
"version": "0.0.0-nightly-20231220.0",
|
|
4
4
|
"description": "Clipboard integration feature for CKEditor 5.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ckeditor",
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
"type": "module",
|
|
14
14
|
"main": "src/index.js",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@ckeditor/ckeditor5-core": "0.0.0-nightly-
|
|
17
|
-
"@ckeditor/ckeditor5-engine": "0.0.0-nightly-
|
|
18
|
-
"@ckeditor/ckeditor5-ui": "0.0.0-nightly-
|
|
19
|
-
"@ckeditor/ckeditor5-utils": "0.0.0-nightly-
|
|
20
|
-
"@ckeditor/ckeditor5-widget": "0.0.0-nightly-
|
|
16
|
+
"@ckeditor/ckeditor5-core": "0.0.0-nightly-20231220.0",
|
|
17
|
+
"@ckeditor/ckeditor5-engine": "0.0.0-nightly-20231220.0",
|
|
18
|
+
"@ckeditor/ckeditor5-ui": "0.0.0-nightly-20231220.0",
|
|
19
|
+
"@ckeditor/ckeditor5-utils": "0.0.0-nightly-20231220.0",
|
|
20
|
+
"@ckeditor/ckeditor5-widget": "0.0.0-nightly-20231220.0",
|
|
21
21
|
"lodash-es": "4.17.21"
|
|
22
22
|
},
|
|
23
23
|
"author": "CKSource (http://cksource.com/)",
|
package/src/dragdroptarget.js
CHANGED
|
@@ -200,6 +200,9 @@ export default class DragDropTarget extends Plugin {
|
|
|
200
200
|
const viewElementAfter = nodeAfter ? editing.mapper.toViewElement(nodeAfter) : null;
|
|
201
201
|
const domElementAfter = viewElementAfter ? editing.view.domConverter.mapViewToDom(viewElementAfter) : null;
|
|
202
202
|
const viewElementParent = editing.mapper.toViewElement(nodeParent);
|
|
203
|
+
if (!viewElementParent) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
203
206
|
const domElementParent = editing.view.domConverter.mapViewToDom(viewElementParent);
|
|
204
207
|
const domScrollableRect = this._getScrollableRect(viewElementParent);
|
|
205
208
|
const { scrollX, scrollY } = global.window;
|
|
@@ -285,7 +288,7 @@ function findDropTargetRange(editor, targetViewElement, targetViewRanges, client
|
|
|
285
288
|
}
|
|
286
289
|
else if (model.schema.checkChild(modelElement, '$block')) {
|
|
287
290
|
const childNodes = Array.from(modelElement.getChildren())
|
|
288
|
-
.filter((node) => node.is('element') && !
|
|
291
|
+
.filter((node) => node.is('element') && !shouldIgnoreElement(editor, node));
|
|
289
292
|
let startIndex = 0;
|
|
290
293
|
let endIndex = childNodes.length;
|
|
291
294
|
if (endIndex == 0) {
|
|
@@ -308,12 +311,15 @@ function findDropTargetRange(editor, targetViewElement, targetViewRanges, client
|
|
|
308
311
|
return null;
|
|
309
312
|
}
|
|
310
313
|
/**
|
|
311
|
-
* Returns true for elements
|
|
314
|
+
* Returns true for elements which should be ignored.
|
|
312
315
|
*/
|
|
313
|
-
function
|
|
316
|
+
function shouldIgnoreElement(editor, modelElement) {
|
|
314
317
|
const mapper = editor.editing.mapper;
|
|
315
318
|
const domConverter = editor.editing.view.domConverter;
|
|
316
319
|
const viewElement = mapper.toViewElement(modelElement);
|
|
320
|
+
if (!viewElement) {
|
|
321
|
+
return true;
|
|
322
|
+
}
|
|
317
323
|
const domElement = domConverter.mapViewToDom(viewElement);
|
|
318
324
|
return global.window.getComputedStyle(domElement).float != 'none';
|
|
319
325
|
}
|