@ckeditor/ckeditor5-engine 40.0.0 → 40.2.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/CHANGELOG.md +39 -39
- package/LICENSE.md +3 -3
- package/package.json +2 -2
- package/src/controller/datacontroller.d.ts +334 -334
- package/src/controller/datacontroller.js +481 -481
- package/src/controller/editingcontroller.d.ts +98 -98
- package/src/controller/editingcontroller.js +191 -191
- package/src/conversion/conversion.d.ts +478 -478
- package/src/conversion/conversion.js +601 -601
- package/src/conversion/conversionhelpers.d.ts +26 -26
- package/src/conversion/conversionhelpers.js +32 -32
- package/src/conversion/downcastdispatcher.d.ts +562 -562
- package/src/conversion/downcastdispatcher.js +548 -547
- package/src/conversion/downcasthelpers.d.ts +1226 -1226
- package/src/conversion/downcasthelpers.js +2178 -2183
- package/src/conversion/mapper.d.ts +503 -503
- package/src/conversion/mapper.js +536 -536
- package/src/conversion/modelconsumable.d.ts +201 -201
- package/src/conversion/modelconsumable.js +333 -333
- package/src/conversion/upcastdispatcher.d.ts +492 -492
- package/src/conversion/upcastdispatcher.js +460 -460
- package/src/conversion/upcasthelpers.d.ts +499 -499
- package/src/conversion/upcasthelpers.js +950 -950
- package/src/conversion/viewconsumable.d.ts +369 -369
- package/src/conversion/viewconsumable.js +536 -532
- package/src/dataprocessor/basichtmlwriter.d.ts +18 -18
- package/src/dataprocessor/basichtmlwriter.js +20 -19
- package/src/dataprocessor/dataprocessor.d.ts +61 -61
- package/src/dataprocessor/dataprocessor.js +5 -5
- package/src/dataprocessor/htmldataprocessor.d.ts +76 -76
- package/src/dataprocessor/htmldataprocessor.js +96 -96
- package/src/dataprocessor/htmlwriter.d.ts +16 -16
- package/src/dataprocessor/htmlwriter.js +5 -5
- package/src/dataprocessor/xmldataprocessor.d.ts +90 -90
- package/src/dataprocessor/xmldataprocessor.js +108 -108
- package/src/dev-utils/model.d.ts +124 -124
- package/src/dev-utils/model.js +395 -395
- package/src/dev-utils/operationreplayer.d.ts +51 -51
- package/src/dev-utils/operationreplayer.js +112 -112
- package/src/dev-utils/utils.d.ts +37 -37
- package/src/dev-utils/utils.js +73 -73
- package/src/dev-utils/view.d.ts +319 -319
- package/src/dev-utils/view.js +967 -967
- package/src/index.d.ts +114 -114
- package/src/index.js +78 -78
- package/src/model/batch.d.ts +106 -106
- package/src/model/batch.js +96 -96
- package/src/model/differ.d.ts +387 -387
- package/src/model/differ.js +1149 -1149
- package/src/model/document.d.ts +272 -272
- package/src/model/document.js +360 -361
- package/src/model/documentfragment.d.ts +200 -200
- package/src/model/documentfragment.js +306 -306
- package/src/model/documentselection.d.ts +420 -420
- package/src/model/documentselection.js +993 -993
- package/src/model/element.d.ts +165 -165
- package/src/model/element.js +281 -281
- package/src/model/history.d.ts +114 -114
- package/src/model/history.js +207 -207
- package/src/model/item.d.ts +14 -14
- package/src/model/item.js +5 -5
- package/src/model/liveposition.d.ts +77 -77
- package/src/model/liveposition.js +93 -93
- package/src/model/liverange.d.ts +102 -102
- package/src/model/liverange.js +120 -120
- package/src/model/markercollection.d.ts +335 -335
- package/src/model/markercollection.js +403 -403
- package/src/model/model.d.ts +919 -919
- package/src/model/model.js +842 -842
- package/src/model/node.d.ts +256 -256
- package/src/model/node.js +375 -375
- package/src/model/nodelist.d.ts +91 -91
- package/src/model/nodelist.js +163 -163
- package/src/model/operation/attributeoperation.d.ts +103 -103
- package/src/model/operation/attributeoperation.js +148 -148
- package/src/model/operation/detachoperation.d.ts +60 -60
- package/src/model/operation/detachoperation.js +77 -77
- package/src/model/operation/insertoperation.d.ts +90 -90
- package/src/model/operation/insertoperation.js +135 -135
- package/src/model/operation/markeroperation.d.ts +91 -91
- package/src/model/operation/markeroperation.js +107 -107
- package/src/model/operation/mergeoperation.d.ts +100 -100
- package/src/model/operation/mergeoperation.js +167 -167
- package/src/model/operation/moveoperation.d.ts +96 -96
- package/src/model/operation/moveoperation.js +164 -164
- package/src/model/operation/nooperation.d.ts +38 -38
- package/src/model/operation/nooperation.js +48 -48
- package/src/model/operation/operation.d.ts +96 -96
- package/src/model/operation/operation.js +59 -62
- package/src/model/operation/operationfactory.d.ts +18 -18
- package/src/model/operation/operationfactory.js +44 -44
- package/src/model/operation/renameoperation.d.ts +83 -83
- package/src/model/operation/renameoperation.js +115 -115
- package/src/model/operation/rootattributeoperation.d.ts +98 -98
- package/src/model/operation/rootattributeoperation.js +155 -155
- package/src/model/operation/rootoperation.d.ts +76 -76
- package/src/model/operation/rootoperation.js +90 -90
- package/src/model/operation/splitoperation.d.ts +109 -109
- package/src/model/operation/splitoperation.js +194 -194
- package/src/model/operation/transform.d.ts +100 -100
- package/src/model/operation/transform.js +1985 -1985
- package/src/model/operation/utils.d.ts +71 -71
- package/src/model/operation/utils.js +217 -213
- package/src/model/position.d.ts +539 -539
- package/src/model/position.js +979 -979
- package/src/model/range.d.ts +458 -458
- package/src/model/range.js +875 -875
- package/src/model/rootelement.d.ts +60 -60
- package/src/model/rootelement.js +74 -74
- package/src/model/schema.d.ts +1186 -1186
- package/src/model/schema.js +1242 -1242
- package/src/model/selection.d.ts +482 -482
- package/src/model/selection.js +789 -789
- package/src/model/text.d.ts +66 -66
- package/src/model/text.js +85 -85
- package/src/model/textproxy.d.ts +144 -144
- package/src/model/textproxy.js +189 -189
- package/src/model/treewalker.d.ts +186 -186
- package/src/model/treewalker.js +244 -244
- package/src/model/typecheckable.d.ts +285 -285
- package/src/model/typecheckable.js +16 -16
- package/src/model/utils/autoparagraphing.d.ts +37 -37
- package/src/model/utils/autoparagraphing.js +63 -63
- package/src/model/utils/deletecontent.d.ts +58 -58
- package/src/model/utils/deletecontent.js +488 -488
- package/src/model/utils/findoptimalinsertionrange.d.ts +32 -32
- package/src/model/utils/findoptimalinsertionrange.js +57 -57
- package/src/model/utils/getselectedcontent.d.ts +30 -30
- package/src/model/utils/getselectedcontent.js +125 -125
- package/src/model/utils/insertcontent.d.ts +46 -46
- package/src/model/utils/insertcontent.js +705 -705
- package/src/model/utils/insertobject.d.ts +44 -44
- package/src/model/utils/insertobject.js +139 -139
- package/src/model/utils/modifyselection.d.ts +48 -48
- package/src/model/utils/modifyselection.js +186 -186
- package/src/model/utils/selection-post-fixer.d.ts +74 -74
- package/src/model/utils/selection-post-fixer.js +260 -260
- package/src/model/writer.d.ts +851 -851
- package/src/model/writer.js +1306 -1306
- package/src/view/attributeelement.d.ts +108 -108
- package/src/view/attributeelement.js +184 -184
- package/src/view/containerelement.d.ts +49 -49
- package/src/view/containerelement.js +80 -80
- package/src/view/datatransfer.d.ts +79 -79
- package/src/view/datatransfer.js +98 -98
- package/src/view/document.d.ts +184 -184
- package/src/view/document.js +122 -120
- package/src/view/documentfragment.d.ts +153 -149
- package/src/view/documentfragment.js +234 -228
- package/src/view/documentselection.d.ts +306 -306
- package/src/view/documentselection.js +256 -256
- package/src/view/domconverter.d.ts +652 -640
- package/src/view/domconverter.js +1473 -1450
- package/src/view/downcastwriter.d.ts +996 -996
- package/src/view/downcastwriter.js +1696 -1696
- package/src/view/editableelement.d.ts +62 -62
- package/src/view/editableelement.js +62 -62
- package/src/view/element.d.ts +468 -468
- package/src/view/element.js +724 -724
- package/src/view/elementdefinition.d.ts +87 -87
- package/src/view/elementdefinition.js +5 -5
- package/src/view/emptyelement.d.ts +41 -41
- package/src/view/emptyelement.js +73 -73
- package/src/view/filler.d.ts +111 -111
- package/src/view/filler.js +150 -150
- package/src/view/item.d.ts +14 -14
- package/src/view/item.js +5 -5
- package/src/view/matcher.d.ts +486 -486
- package/src/view/matcher.js +507 -507
- package/src/view/node.d.ts +163 -163
- package/src/view/node.js +228 -228
- package/src/view/observer/arrowkeysobserver.d.ts +45 -45
- package/src/view/observer/arrowkeysobserver.js +40 -40
- package/src/view/observer/bubblingemittermixin.d.ts +166 -166
- package/src/view/observer/bubblingemittermixin.js +172 -172
- package/src/view/observer/bubblingeventinfo.d.ts +47 -47
- package/src/view/observer/bubblingeventinfo.js +37 -37
- package/src/view/observer/clickobserver.d.ts +43 -43
- package/src/view/observer/clickobserver.js +29 -29
- package/src/view/observer/compositionobserver.d.ts +82 -82
- package/src/view/observer/compositionobserver.js +60 -60
- package/src/view/observer/domeventdata.d.ts +50 -50
- package/src/view/observer/domeventdata.js +47 -47
- package/src/view/observer/domeventobserver.d.ts +73 -73
- package/src/view/observer/domeventobserver.js +79 -79
- package/src/view/observer/fakeselectionobserver.d.ts +47 -47
- package/src/view/observer/fakeselectionobserver.js +91 -91
- package/src/view/observer/focusobserver.d.ts +82 -82
- package/src/view/observer/focusobserver.js +86 -86
- package/src/view/observer/inputobserver.d.ts +86 -86
- package/src/view/observer/inputobserver.js +164 -164
- package/src/view/observer/keyobserver.d.ts +66 -66
- package/src/view/observer/keyobserver.js +39 -39
- package/src/view/observer/mouseobserver.d.ts +89 -89
- package/src/view/observer/mouseobserver.js +29 -29
- package/src/view/observer/mutationobserver.d.ts +86 -86
- package/src/view/observer/mutationobserver.js +206 -206
- package/src/view/observer/observer.d.ts +89 -89
- package/src/view/observer/observer.js +84 -84
- package/src/view/observer/selectionobserver.d.ts +148 -148
- package/src/view/observer/selectionobserver.js +202 -202
- package/src/view/observer/tabobserver.d.ts +46 -46
- package/src/view/observer/tabobserver.js +42 -42
- package/src/view/placeholder.d.ts +96 -96
- package/src/view/placeholder.js +267 -267
- package/src/view/position.d.ts +189 -189
- package/src/view/position.js +324 -324
- package/src/view/range.d.ts +279 -279
- package/src/view/range.js +430 -430
- package/src/view/rawelement.d.ts +73 -73
- package/src/view/rawelement.js +105 -105
- package/src/view/renderer.d.ts +265 -265
- package/src/view/renderer.js +1000 -999
- package/src/view/rooteditableelement.d.ts +41 -41
- package/src/view/rooteditableelement.js +69 -69
- package/src/view/selection.d.ts +375 -375
- package/src/view/selection.js +559 -559
- package/src/view/styles/background.d.ts +33 -33
- package/src/view/styles/background.js +74 -74
- package/src/view/styles/border.d.ts +43 -43
- package/src/view/styles/border.js +316 -316
- package/src/view/styles/margin.d.ts +29 -29
- package/src/view/styles/margin.js +34 -34
- package/src/view/styles/padding.d.ts +29 -29
- package/src/view/styles/padding.js +34 -34
- package/src/view/styles/utils.d.ts +93 -93
- package/src/view/styles/utils.js +219 -219
- package/src/view/stylesmap.d.ts +675 -675
- package/src/view/stylesmap.js +765 -766
- package/src/view/text.d.ts +74 -74
- package/src/view/text.js +93 -93
- package/src/view/textproxy.d.ts +97 -97
- package/src/view/textproxy.js +124 -124
- package/src/view/treewalker.d.ts +195 -195
- package/src/view/treewalker.js +327 -327
- package/src/view/typecheckable.d.ts +448 -448
- package/src/view/typecheckable.js +19 -19
- package/src/view/uielement.d.ts +96 -96
- package/src/view/uielement.js +183 -182
- package/src/view/upcastwriter.d.ts +417 -417
- package/src/view/upcastwriter.js +359 -359
- package/src/view/view.d.ts +487 -487
- package/src/view/view.js +546 -546
package/src/model/batch.js
CHANGED
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module engine/model/batch
|
|
7
|
-
*/
|
|
8
|
-
import { logWarning } from '@ckeditor/ckeditor5-utils';
|
|
9
|
-
/**
|
|
10
|
-
* A batch instance groups model changes ({@link module:engine/model/operation/operation~Operation operations}). All operations
|
|
11
|
-
* grouped in a single batch can be reverted together, so you can also think about a batch as of a single undo step. If you want
|
|
12
|
-
* to extend a given undo step, you can add more changes to the batch using {@link module:engine/model/model~Model#enqueueChange}:
|
|
13
|
-
*
|
|
14
|
-
* ```ts
|
|
15
|
-
* model.enqueueChange( batch, writer => {
|
|
16
|
-
* writer.insertText( 'foo', paragraph, 'end' );
|
|
17
|
-
* } );
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @see module:engine/model/model~Model#enqueueChange
|
|
21
|
-
* @see module:engine/model/model~Model#change
|
|
22
|
-
*/
|
|
23
|
-
export default class Batch {
|
|
24
|
-
/**
|
|
25
|
-
* Creates a batch instance.
|
|
26
|
-
*
|
|
27
|
-
* @see module:engine/model/model~Model#enqueueChange
|
|
28
|
-
* @see module:engine/model/model~Model#change
|
|
29
|
-
* @param type A set of flags that specify the type of the batch. Batch type can alter how some of the features work
|
|
30
|
-
* when encountering a given `Batch` instance (for example, when a feature listens to applied operations).
|
|
31
|
-
*/
|
|
32
|
-
constructor(type = {}) {
|
|
33
|
-
if (typeof type === 'string') {
|
|
34
|
-
type = type === 'transparent' ? { isUndoable: false } : {};
|
|
35
|
-
/**
|
|
36
|
-
* The string value for a `type` property of the `Batch` constructor has been deprecated and will be removed in the near future.
|
|
37
|
-
* Please refer to the {@link module:engine/model/batch~Batch#constructor `Batch` constructor API documentation} for more
|
|
38
|
-
* information.
|
|
39
|
-
*
|
|
40
|
-
* @error batch-constructor-deprecated-string-type
|
|
41
|
-
*/
|
|
42
|
-
logWarning('batch-constructor-deprecated-string-type');
|
|
43
|
-
}
|
|
44
|
-
const { isUndoable = true, isLocal = true, isUndo = false, isTyping = false } = type;
|
|
45
|
-
this.operations = [];
|
|
46
|
-
this.isUndoable = isUndoable;
|
|
47
|
-
this.isLocal = isLocal;
|
|
48
|
-
this.isUndo = isUndo;
|
|
49
|
-
this.isTyping = isTyping;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* The type of the batch.
|
|
53
|
-
*
|
|
54
|
-
* **This property has been deprecated and is always set to the `'default'` value.**
|
|
55
|
-
*
|
|
56
|
-
* It can be one of the following values:
|
|
57
|
-
* * `'default'` – All "normal" batches. This is the most commonly used type.
|
|
58
|
-
* * `'transparent'` – A batch that should be ignored by other features, i.e. an initial batch or collaborative editing
|
|
59
|
-
* changes.
|
|
60
|
-
*
|
|
61
|
-
* @deprecated
|
|
62
|
-
*/
|
|
63
|
-
get type() {
|
|
64
|
-
/**
|
|
65
|
-
* The {@link module:engine/model/batch~Batch#type `Batch#type` } property has been deprecated and will be removed in the near
|
|
66
|
-
* future. Use `Batch#isLocal`, `Batch#isUndoable`, `Batch#isUndo` and `Batch#isTyping` instead.
|
|
67
|
-
*
|
|
68
|
-
* @error batch-type-deprecated
|
|
69
|
-
*/
|
|
70
|
-
logWarning('batch-type-deprecated');
|
|
71
|
-
return 'default';
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Returns the base version of this batch, which is equal to the base version of the first operation in the batch.
|
|
75
|
-
* If there are no operations in the batch or neither operation has the base version set, it returns `null`.
|
|
76
|
-
*/
|
|
77
|
-
get baseVersion() {
|
|
78
|
-
for (const op of this.operations) {
|
|
79
|
-
if (op.baseVersion !== null) {
|
|
80
|
-
return op.baseVersion;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Adds an operation to the batch instance.
|
|
87
|
-
*
|
|
88
|
-
* @param operation An operation to add.
|
|
89
|
-
* @returns The added operation.
|
|
90
|
-
*/
|
|
91
|
-
addOperation(operation) {
|
|
92
|
-
operation.batch = this;
|
|
93
|
-
this.operations.push(operation);
|
|
94
|
-
return operation;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module engine/model/batch
|
|
7
|
+
*/
|
|
8
|
+
import { logWarning } from '@ckeditor/ckeditor5-utils';
|
|
9
|
+
/**
|
|
10
|
+
* A batch instance groups model changes ({@link module:engine/model/operation/operation~Operation operations}). All operations
|
|
11
|
+
* grouped in a single batch can be reverted together, so you can also think about a batch as of a single undo step. If you want
|
|
12
|
+
* to extend a given undo step, you can add more changes to the batch using {@link module:engine/model/model~Model#enqueueChange}:
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* model.enqueueChange( batch, writer => {
|
|
16
|
+
* writer.insertText( 'foo', paragraph, 'end' );
|
|
17
|
+
* } );
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @see module:engine/model/model~Model#enqueueChange
|
|
21
|
+
* @see module:engine/model/model~Model#change
|
|
22
|
+
*/
|
|
23
|
+
export default class Batch {
|
|
24
|
+
/**
|
|
25
|
+
* Creates a batch instance.
|
|
26
|
+
*
|
|
27
|
+
* @see module:engine/model/model~Model#enqueueChange
|
|
28
|
+
* @see module:engine/model/model~Model#change
|
|
29
|
+
* @param type A set of flags that specify the type of the batch. Batch type can alter how some of the features work
|
|
30
|
+
* when encountering a given `Batch` instance (for example, when a feature listens to applied operations).
|
|
31
|
+
*/
|
|
32
|
+
constructor(type = {}) {
|
|
33
|
+
if (typeof type === 'string') {
|
|
34
|
+
type = type === 'transparent' ? { isUndoable: false } : {};
|
|
35
|
+
/**
|
|
36
|
+
* The string value for a `type` property of the `Batch` constructor has been deprecated and will be removed in the near future.
|
|
37
|
+
* Please refer to the {@link module:engine/model/batch~Batch#constructor `Batch` constructor API documentation} for more
|
|
38
|
+
* information.
|
|
39
|
+
*
|
|
40
|
+
* @error batch-constructor-deprecated-string-type
|
|
41
|
+
*/
|
|
42
|
+
logWarning('batch-constructor-deprecated-string-type');
|
|
43
|
+
}
|
|
44
|
+
const { isUndoable = true, isLocal = true, isUndo = false, isTyping = false } = type;
|
|
45
|
+
this.operations = [];
|
|
46
|
+
this.isUndoable = isUndoable;
|
|
47
|
+
this.isLocal = isLocal;
|
|
48
|
+
this.isUndo = isUndo;
|
|
49
|
+
this.isTyping = isTyping;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The type of the batch.
|
|
53
|
+
*
|
|
54
|
+
* **This property has been deprecated and is always set to the `'default'` value.**
|
|
55
|
+
*
|
|
56
|
+
* It can be one of the following values:
|
|
57
|
+
* * `'default'` – All "normal" batches. This is the most commonly used type.
|
|
58
|
+
* * `'transparent'` – A batch that should be ignored by other features, i.e. an initial batch or collaborative editing
|
|
59
|
+
* changes.
|
|
60
|
+
*
|
|
61
|
+
* @deprecated
|
|
62
|
+
*/
|
|
63
|
+
get type() {
|
|
64
|
+
/**
|
|
65
|
+
* The {@link module:engine/model/batch~Batch#type `Batch#type` } property has been deprecated and will be removed in the near
|
|
66
|
+
* future. Use `Batch#isLocal`, `Batch#isUndoable`, `Batch#isUndo` and `Batch#isTyping` instead.
|
|
67
|
+
*
|
|
68
|
+
* @error batch-type-deprecated
|
|
69
|
+
*/
|
|
70
|
+
logWarning('batch-type-deprecated');
|
|
71
|
+
return 'default';
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Returns the base version of this batch, which is equal to the base version of the first operation in the batch.
|
|
75
|
+
* If there are no operations in the batch or neither operation has the base version set, it returns `null`.
|
|
76
|
+
*/
|
|
77
|
+
get baseVersion() {
|
|
78
|
+
for (const op of this.operations) {
|
|
79
|
+
if (op.baseVersion !== null) {
|
|
80
|
+
return op.baseVersion;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Adds an operation to the batch instance.
|
|
87
|
+
*
|
|
88
|
+
* @param operation An operation to add.
|
|
89
|
+
* @returns The added operation.
|
|
90
|
+
*/
|
|
91
|
+
addOperation(operation) {
|
|
92
|
+
operation.batch = this;
|
|
93
|
+
this.operations.push(operation);
|
|
94
|
+
return operation;
|
|
95
|
+
}
|
|
96
|
+
}
|