@ckeditor/ckeditor5-engine 41.3.1 → 41.4.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/dist/index-content.css +4 -0
- package/dist/index-editor.css +23 -0
- package/dist/index.css +49 -0
- package/dist/index.css.map +1 -0
- package/dist/index.js +35370 -0
- package/dist/index.js.map +1 -0
- package/dist/types/controller/datacontroller.d.ts +339 -0
- package/dist/types/controller/editingcontroller.d.ts +102 -0
- package/dist/types/conversion/conversion.d.ts +482 -0
- package/dist/types/conversion/conversionhelpers.d.ts +30 -0
- package/dist/types/conversion/downcastdispatcher.d.ts +566 -0
- package/dist/types/conversion/downcasthelpers.d.ts +1194 -0
- package/dist/types/conversion/mapper.d.ts +507 -0
- package/dist/types/conversion/modelconsumable.d.ts +205 -0
- package/dist/types/conversion/upcastdispatcher.d.ts +496 -0
- package/dist/types/conversion/upcasthelpers.d.ts +503 -0
- package/dist/types/conversion/viewconsumable.d.ts +373 -0
- package/dist/types/dataprocessor/basichtmlwriter.d.ts +22 -0
- package/dist/types/dataprocessor/dataprocessor.d.ts +65 -0
- package/dist/types/dataprocessor/htmldataprocessor.d.ts +80 -0
- package/dist/types/dataprocessor/htmlwriter.d.ts +20 -0
- package/dist/types/dataprocessor/xmldataprocessor.d.ts +94 -0
- package/dist/types/dev-utils/model.d.ts +128 -0
- package/dist/types/dev-utils/operationreplayer.d.ts +55 -0
- package/dist/types/dev-utils/utils.d.ts +41 -0
- package/dist/types/dev-utils/view.d.ts +323 -0
- package/dist/types/index.d.ts +119 -0
- package/dist/types/model/batch.d.ts +110 -0
- package/dist/types/model/differ.d.ts +419 -0
- package/dist/types/model/document.d.ts +278 -0
- package/dist/types/model/documentfragment.d.ts +204 -0
- package/dist/types/model/documentselection.d.ts +424 -0
- package/dist/types/model/element.d.ts +169 -0
- package/dist/types/model/history.d.ts +118 -0
- package/dist/types/model/item.d.ts +18 -0
- package/dist/types/model/liveposition.d.ts +81 -0
- package/dist/types/model/liverange.d.ts +106 -0
- package/dist/types/model/markercollection.d.ts +339 -0
- package/dist/types/model/model.d.ts +923 -0
- package/dist/types/model/node.d.ts +259 -0
- package/dist/types/model/nodelist.d.ts +95 -0
- package/dist/types/model/operation/attributeoperation.d.ts +107 -0
- package/dist/types/model/operation/detachoperation.d.ts +64 -0
- package/dist/types/model/operation/insertoperation.d.ts +94 -0
- package/dist/types/model/operation/markeroperation.d.ts +95 -0
- package/dist/types/model/operation/mergeoperation.d.ts +104 -0
- package/dist/types/model/operation/moveoperation.d.ts +100 -0
- package/dist/types/model/operation/nooperation.d.ts +42 -0
- package/dist/types/model/operation/operation.d.ts +100 -0
- package/dist/types/model/operation/operationfactory.d.ts +22 -0
- package/dist/types/model/operation/renameoperation.d.ts +87 -0
- package/dist/types/model/operation/rootattributeoperation.d.ts +102 -0
- package/dist/types/model/operation/rootoperation.d.ts +80 -0
- package/dist/types/model/operation/splitoperation.d.ts +113 -0
- package/dist/types/model/operation/transform.d.ts +104 -0
- package/dist/types/model/operation/utils.d.ts +75 -0
- package/dist/types/model/position.d.ts +542 -0
- package/dist/types/model/range.d.ts +462 -0
- package/dist/types/model/rootelement.d.ts +64 -0
- package/dist/types/model/schema.d.ts +1210 -0
- package/dist/types/model/selection.d.ts +486 -0
- package/dist/types/model/text.d.ts +70 -0
- package/dist/types/model/textproxy.d.ts +148 -0
- package/dist/types/model/treewalker.d.ts +190 -0
- package/dist/types/model/typecheckable.d.ts +289 -0
- package/dist/types/model/utils/autoparagraphing.d.ts +41 -0
- package/dist/types/model/utils/deletecontent.d.ts +62 -0
- package/dist/types/model/utils/getselectedcontent.d.ts +34 -0
- package/dist/types/model/utils/insertcontent.d.ts +50 -0
- package/dist/types/model/utils/insertobject.d.ts +51 -0
- package/dist/types/model/utils/modifyselection.d.ts +52 -0
- package/dist/types/model/utils/selection-post-fixer.d.ts +78 -0
- package/dist/types/model/writer.d.ts +855 -0
- package/dist/types/view/attributeelement.d.ts +112 -0
- package/dist/types/view/containerelement.d.ts +53 -0
- package/dist/types/view/datatransfer.d.ts +83 -0
- package/dist/types/view/document.d.ts +188 -0
- package/dist/types/view/documentfragment.d.ts +157 -0
- package/dist/types/view/documentselection.d.ts +310 -0
- package/dist/types/view/domconverter.d.ts +656 -0
- package/dist/types/view/downcastwriter.d.ts +1000 -0
- package/dist/types/view/editableelement.d.ts +66 -0
- package/dist/types/view/element.d.ts +472 -0
- package/dist/types/view/elementdefinition.d.ts +91 -0
- package/dist/types/view/emptyelement.d.ts +45 -0
- package/dist/types/view/filler.d.ts +115 -0
- package/dist/types/view/item.d.ts +18 -0
- package/dist/types/view/matcher.d.ts +490 -0
- package/dist/types/view/node.d.ts +166 -0
- package/dist/types/view/observer/arrowkeysobserver.d.ts +49 -0
- package/dist/types/view/observer/bubblingemittermixin.d.ts +170 -0
- package/dist/types/view/observer/bubblingeventinfo.d.ts +51 -0
- package/dist/types/view/observer/clickobserver.d.ts +47 -0
- package/dist/types/view/observer/compositionobserver.d.ts +86 -0
- package/dist/types/view/observer/domeventdata.d.ts +54 -0
- package/dist/types/view/observer/domeventobserver.d.ts +77 -0
- package/dist/types/view/observer/fakeselectionobserver.d.ts +51 -0
- package/dist/types/view/observer/focusobserver.d.ts +86 -0
- package/dist/types/view/observer/inputobserver.d.ts +90 -0
- package/dist/types/view/observer/keyobserver.d.ts +70 -0
- package/dist/types/view/observer/mouseobserver.d.ts +93 -0
- package/dist/types/view/observer/mutationobserver.d.ts +90 -0
- package/dist/types/view/observer/observer.d.ts +93 -0
- package/dist/types/view/observer/selectionobserver.d.ts +152 -0
- package/dist/types/view/observer/tabobserver.d.ts +50 -0
- package/dist/types/view/placeholder.d.ts +100 -0
- package/dist/types/view/position.d.ts +192 -0
- package/dist/types/view/range.d.ts +283 -0
- package/dist/types/view/rawelement.d.ts +77 -0
- package/dist/types/view/renderer.d.ts +269 -0
- package/dist/types/view/rooteditableelement.d.ts +45 -0
- package/dist/types/view/selection.d.ts +379 -0
- package/dist/types/view/styles/background.d.ts +37 -0
- package/dist/types/view/styles/border.d.ts +47 -0
- package/dist/types/view/styles/margin.d.ts +33 -0
- package/dist/types/view/styles/padding.d.ts +33 -0
- package/dist/types/view/styles/utils.d.ts +97 -0
- package/dist/types/view/stylesmap.d.ts +677 -0
- package/dist/types/view/text.d.ts +78 -0
- package/dist/types/view/textproxy.d.ts +101 -0
- package/dist/types/view/treewalker.d.ts +199 -0
- package/dist/types/view/typecheckable.d.ts +452 -0
- package/dist/types/view/uielement.d.ts +100 -0
- package/dist/types/view/upcastwriter.d.ts +421 -0
- package/dist/types/view/view.d.ts +491 -0
- package/package.json +3 -2
- package/src/index.d.ts +2 -0
- package/src/index.js +3 -0
- package/src/model/node.d.ts +0 -1
- package/src/model/node.js +0 -2
- package/src/model/position.d.ts +0 -1
- package/src/model/position.js +0 -2
- package/src/view/domconverter.js +16 -3
- package/src/view/node.d.ts +0 -1
- package/src/view/node.js +0 -2
- package/src/view/position.d.ts +0 -1
- package/src/view/position.js +0 -2
- package/src/view/renderer.js +13 -8
package/src/view/renderer.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import ViewText from './text.js';
|
|
9
9
|
import ViewPosition from './position.js';
|
|
10
10
|
import { INLINE_FILLER, INLINE_FILLER_LENGTH, startsWithFiller, isInlineFiller } from './filler.js';
|
|
11
|
-
import { CKEditorError, ObservableMixin, diff, env, fastDiff, insertAt, isComment, isNode, isText, remove } from '@ckeditor/ckeditor5-utils';
|
|
11
|
+
import { CKEditorError, ObservableMixin, diff, env, fastDiff, insertAt, isComment, isNode, isText, remove, indexOf } from '@ckeditor/ckeditor5-utils';
|
|
12
12
|
import '../../theme/renderer.css';
|
|
13
13
|
/**
|
|
14
14
|
* Renderer is responsible for updating the DOM structure and the DOM selection based on
|
|
@@ -400,15 +400,15 @@ export default class Renderer extends ObservableMixin() {
|
|
|
400
400
|
if (!isEditable(selectionParent)) {
|
|
401
401
|
return false;
|
|
402
402
|
}
|
|
403
|
-
// We have block filler, we do not need inline one.
|
|
404
|
-
if (selectionOffset === selectionParent.getFillerOffset()) {
|
|
405
|
-
return false;
|
|
406
|
-
}
|
|
407
403
|
const nodeBefore = selectionPosition.nodeBefore;
|
|
408
404
|
const nodeAfter = selectionPosition.nodeAfter;
|
|
409
405
|
if (nodeBefore instanceof ViewText || nodeAfter instanceof ViewText) {
|
|
410
406
|
return false;
|
|
411
407
|
}
|
|
408
|
+
// We have block filler, we do not need inline one.
|
|
409
|
+
if (selectionOffset === selectionParent.getFillerOffset() && (!nodeBefore || !nodeBefore.is('element', 'br'))) {
|
|
410
|
+
return false;
|
|
411
|
+
}
|
|
412
412
|
// Do not use inline filler while typing outside inline elements on Android.
|
|
413
413
|
// The deleteContentBackward would remove part of the inline filler instead of removing last letter in a link.
|
|
414
414
|
if (env.isAndroid && (nodeBefore || nodeAfter)) {
|
|
@@ -923,13 +923,18 @@ function sameNodes(domConverter, actualDomChild, expectedDomChild) {
|
|
|
923
923
|
* caret to the new line. A quick fix is as simple as force–refreshing the selection with the same range.
|
|
924
924
|
*/
|
|
925
925
|
function fixGeckoSelectionAfterBr(focus, domSelection) {
|
|
926
|
-
|
|
926
|
+
let parent = focus.parent;
|
|
927
|
+
let offset = focus.offset;
|
|
928
|
+
if (isText(parent) && isInlineFiller(parent)) {
|
|
929
|
+
offset = indexOf(parent) + 1;
|
|
930
|
+
parent = parent.parentNode;
|
|
931
|
+
}
|
|
927
932
|
// This fix works only when the focus point is at the very end of an element.
|
|
928
933
|
// There is no point in running it in cases unrelated to the browser bug.
|
|
929
|
-
if (parent.nodeType != Node.ELEMENT_NODE ||
|
|
934
|
+
if (parent.nodeType != Node.ELEMENT_NODE || offset != parent.childNodes.length - 1) {
|
|
930
935
|
return;
|
|
931
936
|
}
|
|
932
|
-
const childAtOffset = parent.childNodes[
|
|
937
|
+
const childAtOffset = parent.childNodes[offset];
|
|
933
938
|
// To stay on the safe side, the fix being as specific as possible, it targets only the
|
|
934
939
|
// selection which is at the very end of the element and preceded by <br />.
|
|
935
940
|
if (childAtOffset && childAtOffset.tagName == 'BR') {
|