@ckeditor/ckeditor5-engine 45.2.1 → 46.0.0-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/index.js +2563 -2257
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/controller/datacontroller.d.ts +33 -32
- package/src/controller/datacontroller.js +29 -28
- package/src/controller/editingcontroller.d.ts +8 -8
- package/src/controller/editingcontroller.js +10 -10
- package/src/conversion/conversion.d.ts +18 -19
- package/src/conversion/conversion.js +4 -4
- package/src/conversion/conversionhelpers.d.ts +1 -1
- package/src/conversion/conversionhelpers.js +1 -1
- package/src/conversion/downcastdispatcher.d.ts +63 -69
- package/src/conversion/downcastdispatcher.js +16 -16
- package/src/conversion/downcasthelpers.d.ts +94 -83
- package/src/conversion/downcasthelpers.js +63 -53
- package/src/conversion/mapper.d.ts +27 -27
- package/src/conversion/mapper.js +15 -15
- package/src/conversion/modelconsumable.d.ts +26 -26
- package/src/conversion/modelconsumable.js +23 -23
- package/src/conversion/upcastdispatcher.d.ts +33 -32
- package/src/conversion/upcastdispatcher.js +19 -19
- package/src/conversion/upcasthelpers.d.ts +46 -38
- package/src/conversion/upcasthelpers.js +33 -24
- package/src/conversion/viewconsumable.d.ts +50 -45
- package/src/conversion/viewconsumable.js +32 -27
- package/src/dataprocessor/basichtmlwriter.d.ts +4 -2
- package/src/dataprocessor/basichtmlwriter.js +3 -1
- package/src/dataprocessor/dataprocessor.d.ts +7 -6
- package/src/dataprocessor/htmldataprocessor.d.ts +10 -10
- package/src/dataprocessor/htmldataprocessor.js +6 -6
- package/src/dataprocessor/htmlwriter.d.ts +1 -1
- package/src/dataprocessor/xmldataprocessor.d.ts +10 -10
- package/src/dataprocessor/xmldataprocessor.js +6 -6
- package/src/dev-utils/model.d.ts +25 -26
- package/src/dev-utils/model.js +35 -36
- package/src/dev-utils/operationreplayer.d.ts +5 -3
- package/src/dev-utils/operationreplayer.js +4 -2
- package/src/dev-utils/utils.d.ts +8 -0
- package/src/dev-utils/utils.js +8 -0
- package/src/dev-utils/view.d.ts +66 -63
- package/src/dev-utils/view.js +144 -134
- package/src/index.d.ts +135 -106
- package/src/index.js +120 -71
- package/src/legacyerrors.d.ts +5 -0
- package/src/legacyerrors.js +17 -0
- package/src/model/batch.d.ts +2 -15
- package/src/model/batch.js +1 -23
- package/src/model/differ.d.ts +54 -31
- package/src/model/differ.js +15 -15
- package/src/model/document.d.ts +31 -31
- package/src/model/document.js +13 -13
- package/src/model/documentfragment.d.ts +45 -45
- package/src/model/documentfragment.js +40 -40
- package/src/model/documentselection.d.ts +92 -92
- package/src/model/documentselection.js +71 -70
- package/src/model/element.d.ts +31 -31
- package/src/model/element.js +29 -29
- package/src/model/history.d.ts +3 -3
- package/src/model/history.js +2 -2
- package/src/model/item.d.ts +4 -5
- package/src/model/liveposition.d.ts +31 -31
- package/src/model/liveposition.js +18 -18
- package/src/model/liverange.d.ts +42 -38
- package/src/model/liverange.js +17 -16
- package/src/model/markercollection.d.ts +41 -40
- package/src/model/markercollection.js +22 -20
- package/src/model/model.d.ts +82 -81
- package/src/model/model.js +54 -54
- package/src/model/node.d.ts +48 -48
- package/src/model/node.js +31 -31
- package/src/model/nodelist.d.ts +17 -17
- package/src/model/nodelist.js +11 -11
- package/src/model/operation/attributeoperation.d.ts +10 -10
- package/src/model/operation/attributeoperation.js +7 -7
- package/src/model/operation/detachoperation.d.ts +11 -9
- package/src/model/operation/detachoperation.js +8 -6
- package/src/model/operation/insertoperation.d.ts +13 -13
- package/src/model/operation/insertoperation.js +15 -15
- package/src/model/operation/markeroperation.d.ts +12 -12
- package/src/model/operation/markeroperation.js +5 -5
- package/src/model/operation/mergeoperation.d.ts +16 -16
- package/src/model/operation/mergeoperation.js +18 -18
- package/src/model/operation/moveoperation.d.ts +16 -16
- package/src/model/operation/moveoperation.js +18 -15
- package/src/model/operation/nooperation.d.ts +4 -4
- package/src/model/operation/nooperation.js +2 -2
- package/src/model/operation/operation.d.ts +10 -10
- package/src/model/operation/operation.js +5 -5
- package/src/model/operation/operationfactory.d.ts +4 -4
- package/src/model/operation/operationfactory.js +12 -12
- package/src/model/operation/renameoperation.d.ts +10 -10
- package/src/model/operation/renameoperation.js +7 -7
- package/src/model/operation/rootattributeoperation.d.ts +12 -12
- package/src/model/operation/rootattributeoperation.js +8 -8
- package/src/model/operation/rootoperation.d.ts +8 -8
- package/src/model/operation/rootoperation.js +3 -3
- package/src/model/operation/splitoperation.d.ts +17 -17
- package/src/model/operation/splitoperation.js +19 -19
- package/src/model/operation/transform.d.ts +11 -8
- package/src/model/operation/transform.js +66 -49
- package/src/model/operation/utils.d.ts +24 -23
- package/src/model/operation/utils.js +20 -20
- package/src/model/position.d.ts +101 -97
- package/src/model/position.js +69 -64
- package/src/model/range.d.ts +90 -90
- package/src/model/range.js +87 -87
- package/src/model/rootelement.d.ts +11 -11
- package/src/model/rootelement.js +9 -9
- package/src/model/schema.d.ts +158 -154
- package/src/model/schema.js +93 -90
- package/src/model/selection.d.ts +73 -73
- package/src/model/selection.js +62 -62
- package/src/model/text.d.ts +11 -10
- package/src/model/text.js +11 -10
- package/src/model/textproxy.d.ts +39 -38
- package/src/model/textproxy.js +31 -30
- package/src/model/treewalker.d.ts +37 -37
- package/src/model/treewalker.js +14 -14
- package/src/model/typecheckable.d.ts +45 -45
- package/src/model/typecheckable.js +1 -1
- package/src/model/utils/autoparagraphing.d.ts +7 -7
- package/src/model/utils/deletecontent.d.ts +7 -5
- package/src/model/utils/deletecontent.js +13 -11
- package/src/model/utils/getselectedcontent.d.ts +6 -5
- package/src/model/utils/getselectedcontent.js +2 -1
- package/src/model/utils/insertcontent.d.ts +9 -8
- package/src/model/utils/insertcontent.js +41 -40
- package/src/model/utils/insertobject.d.ts +9 -9
- package/src/model/utils/insertobject.js +4 -4
- package/src/model/utils/modifyselection.d.ts +5 -4
- package/src/model/utils/modifyselection.js +12 -11
- package/src/model/utils/selection-post-fixer.d.ts +12 -8
- package/src/model/utils/selection-post-fixer.js +15 -11
- package/src/model/writer.d.ts +102 -101
- package/src/model/writer.js +99 -98
- package/src/view/attributeelement.d.ts +29 -29
- package/src/view/attributeelement.js +25 -25
- package/src/view/containerelement.d.ts +16 -15
- package/src/view/containerelement.js +15 -14
- package/src/view/datatransfer.d.ts +7 -7
- package/src/view/datatransfer.js +1 -1
- package/src/view/document.d.ts +25 -25
- package/src/view/document.js +15 -15
- package/src/view/documentfragment.d.ts +21 -21
- package/src/view/documentfragment.js +14 -14
- package/src/view/documentselection.d.ts +65 -63
- package/src/view/documentselection.js +27 -25
- package/src/view/domconverter.d.ts +96 -91
- package/src/view/domconverter.js +78 -73
- package/src/view/downcastwriter.d.ts +185 -181
- package/src/view/downcastwriter.js +222 -210
- package/src/view/editableelement.d.ts +13 -13
- package/src/view/editableelement.js +8 -8
- package/src/view/element.d.ts +75 -74
- package/src/view/element.js +58 -58
- package/src/view/elementdefinition.d.ts +3 -4
- package/src/view/emptyelement.d.ts +13 -13
- package/src/view/emptyelement.js +13 -13
- package/src/view/filler.d.ts +14 -3
- package/src/view/filler.js +12 -1
- package/src/view/item.d.ts +4 -5
- package/src/view/matcher.d.ts +22 -19
- package/src/view/matcher.js +6 -6
- package/src/view/node.d.ts +33 -33
- package/src/view/node.js +9 -9
- package/src/view/observer/arrowkeysobserver.d.ts +10 -10
- package/src/view/observer/arrowkeysobserver.js +5 -5
- package/src/view/observer/bubblingemittermixin.d.ts +5 -5
- package/src/view/observer/bubblingemittermixin.js +2 -9
- package/src/view/observer/bubblingeventinfo.d.ts +9 -9
- package/src/view/observer/bubblingeventinfo.js +1 -1
- package/src/view/observer/clickobserver.d.ts +8 -8
- package/src/view/observer/clickobserver.js +4 -4
- package/src/view/observer/compositionobserver.d.ts +19 -19
- package/src/view/observer/compositionobserver.js +6 -6
- package/src/view/observer/domeventdata.d.ts +9 -9
- package/src/view/observer/domeventdata.js +2 -2
- package/src/view/observer/domeventobserver.d.ts +3 -3
- package/src/view/observer/domeventobserver.js +5 -5
- package/src/view/observer/fakeselectionobserver.d.ts +9 -9
- package/src/view/observer/fakeselectionobserver.js +8 -8
- package/src/view/observer/focusobserver.d.ts +16 -16
- package/src/view/observer/focusobserver.js +7 -7
- package/src/view/observer/inputobserver.d.ts +18 -18
- package/src/view/observer/inputobserver.js +5 -5
- package/src/view/observer/keyobserver.d.ts +11 -11
- package/src/view/observer/keyobserver.js +3 -3
- package/src/view/observer/mouseobserver.d.ts +16 -16
- package/src/view/observer/mouseobserver.js +3 -3
- package/src/view/observer/mutationobserver.d.ts +21 -21
- package/src/view/observer/mutationobserver.js +7 -7
- package/src/view/observer/observer.d.ts +12 -12
- package/src/view/observer/observer.js +6 -6
- package/src/view/observer/selectionobserver.d.ts +33 -33
- package/src/view/observer/selectionobserver.js +14 -14
- package/src/view/observer/tabobserver.d.ts +10 -10
- package/src/view/observer/tabobserver.js +5 -5
- package/src/view/observer/touchobserver.d.ts +13 -13
- package/src/view/observer/touchobserver.js +3 -3
- package/src/view/placeholder.d.ts +21 -21
- package/src/view/placeholder.js +23 -23
- package/src/view/position.d.ts +49 -49
- package/src/view/position.js +42 -42
- package/src/view/range.d.ts +76 -74
- package/src/view/range.js +67 -65
- package/src/view/rawelement.d.ts +19 -19
- package/src/view/rawelement.js +16 -16
- package/src/view/renderer.d.ts +14 -14
- package/src/view/renderer.js +7 -7
- package/src/view/rooteditableelement.d.ts +8 -7
- package/src/view/rooteditableelement.js +7 -6
- package/src/view/selection.d.ts +66 -64
- package/src/view/selection.js +50 -48
- package/src/view/styles/background.d.ts +2 -2
- package/src/view/styles/background.js +9 -9
- package/src/view/styles/border.d.ts +2 -2
- package/src/view/styles/border.js +13 -13
- package/src/view/styles/margin.d.ts +2 -2
- package/src/view/styles/margin.js +5 -5
- package/src/view/styles/padding.d.ts +2 -2
- package/src/view/styles/padding.js +5 -5
- package/src/view/styles/utils.d.ts +24 -24
- package/src/view/styles/utils.js +25 -25
- package/src/view/stylesmap.d.ts +28 -32
- package/src/view/stylesmap.js +52 -39
- package/src/view/text.d.ts +11 -11
- package/src/view/text.js +10 -10
- package/src/view/textproxy.d.ts +33 -32
- package/src/view/textproxy.js +23 -22
- package/src/view/tokenlist.d.ts +14 -14
- package/src/view/tokenlist.js +10 -10
- package/src/view/treewalker.d.ts +42 -40
- package/src/view/treewalker.js +36 -35
- package/src/view/typecheckable.d.ts +76 -75
- package/src/view/typecheckable.js +1 -1
- package/src/view/uielement.d.ts +22 -21
- package/src/view/uielement.js +17 -16
- package/src/view/upcastwriter.d.ts +70 -70
- package/src/view/upcastwriter.js +42 -42
- package/src/view/view.d.ts +70 -69
- package/src/view/view.js +56 -55
package/src/model/model.d.ts
CHANGED
|
@@ -5,20 +5,20 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/model/model
|
|
7
7
|
*/
|
|
8
|
-
import Batch,
|
|
9
|
-
import
|
|
10
|
-
import MarkerCollection from './markercollection.js';
|
|
11
|
-
import ModelPosition,
|
|
12
|
-
import ModelRange from './range.js';
|
|
13
|
-
import ModelSelection,
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import type ModelDocumentFragment from './documentfragment.js';
|
|
19
|
-
import type
|
|
20
|
-
import type ModelElement from './element.js';
|
|
21
|
-
import type Operation from './operation/operation.js';
|
|
8
|
+
import { Batch, type BatchType } from './batch.js';
|
|
9
|
+
import { ModelDocument } from './document.js';
|
|
10
|
+
import { MarkerCollection } from './markercollection.js';
|
|
11
|
+
import { ModelPosition, type ModelPositionOffset, type ModelPositionStickiness } from './position.js';
|
|
12
|
+
import { ModelRange } from './range.js';
|
|
13
|
+
import { ModelSelection, type ModelPlaceOrOffset, type ModelSelectable } from './selection.js';
|
|
14
|
+
import { ModelDocumentSelection } from './documentselection.js';
|
|
15
|
+
import { ModelSchema } from './schema.js';
|
|
16
|
+
import { ModelWriter } from './writer.js';
|
|
17
|
+
import { ModelNode } from './node.js';
|
|
18
|
+
import { type ModelDocumentFragment } from './documentfragment.js';
|
|
19
|
+
import { type ModelItem } from './item.js';
|
|
20
|
+
import { type ModelElement } from './element.js';
|
|
21
|
+
import { type Operation } from './operation/operation.js';
|
|
22
22
|
import { type DecoratedMethodEvent } from '@ckeditor/ckeditor5-utils';
|
|
23
23
|
declare const Model_base: {
|
|
24
24
|
new (): import("@ckeditor/ckeditor5-utils").Observable;
|
|
@@ -28,7 +28,7 @@ declare const Model_base: {
|
|
|
28
28
|
* Editor's data model. Read about the model in the
|
|
29
29
|
* {@glink framework/architecture/editing-engine engine architecture} guide.
|
|
30
30
|
*/
|
|
31
|
-
export
|
|
31
|
+
export declare class Model extends /* #__PURE__ */ Model_base {
|
|
32
32
|
/**
|
|
33
33
|
* Model's marker collection.
|
|
34
34
|
*/
|
|
@@ -36,11 +36,11 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
36
36
|
/**
|
|
37
37
|
* Model's document.
|
|
38
38
|
*/
|
|
39
|
-
readonly document:
|
|
39
|
+
readonly document: ModelDocument;
|
|
40
40
|
/**
|
|
41
41
|
* Model's schema.
|
|
42
42
|
*/
|
|
43
|
-
readonly schema:
|
|
43
|
+
readonly schema: ModelSchema;
|
|
44
44
|
/**
|
|
45
45
|
* All callbacks added by {@link module:engine/model/model~Model#change} or
|
|
46
46
|
* {@link module:engine/model/model~Model#enqueueChange} methods waiting to be executed.
|
|
@@ -54,7 +54,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
54
54
|
/**
|
|
55
55
|
* The `change()` method is the primary way of changing the model. You should use it to modify all document nodes
|
|
56
56
|
* (including detached nodes – i.e. nodes not added to the {@link module:engine/model/model~Model#document model document}),
|
|
57
|
-
* the {@link module:engine/model/document~
|
|
57
|
+
* the {@link module:engine/model/document~ModelDocument#selection document's selection}, and
|
|
58
58
|
* {@link module:engine/model/model~Model#markers model markers}.
|
|
59
59
|
*
|
|
60
60
|
* ```ts
|
|
@@ -92,7 +92,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
92
92
|
* @typeParam TReturn The return type of the provided callback.
|
|
93
93
|
* @param callback Callback function which may modify the model.
|
|
94
94
|
*/
|
|
95
|
-
change<TReturn>(callback: (writer:
|
|
95
|
+
change<TReturn>(callback: (writer: ModelWriter) => TReturn): TReturn;
|
|
96
96
|
/**
|
|
97
97
|
* The `enqueueChange()` method performs similar task as the {@link #change `change()` method}, with two major differences.
|
|
98
98
|
*
|
|
@@ -122,7 +122,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
122
122
|
* @label DEFAULT_BATCH
|
|
123
123
|
* @param callback Callback function which may modify the model.
|
|
124
124
|
*/
|
|
125
|
-
enqueueChange(callback: (writer:
|
|
125
|
+
enqueueChange(callback: (writer: ModelWriter) => unknown): void;
|
|
126
126
|
/**
|
|
127
127
|
* The `enqueueChange()` method performs similar task as the {@link #change `change()` method}, with two major differences.
|
|
128
128
|
*
|
|
@@ -164,20 +164,20 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
164
164
|
* ```
|
|
165
165
|
*
|
|
166
166
|
* In order to make a nested `enqueueChange()` create a single undo step together with the changes done in the outer `change()`
|
|
167
|
-
* block, you can obtain the batch instance from the {@link module:engine/model/writer~
|
|
167
|
+
* block, you can obtain the batch instance from the {@link module:engine/model/writer~ModelWriter#batch writer} of the outer block.
|
|
168
168
|
*
|
|
169
169
|
* @label CUSTOM_BATCH
|
|
170
170
|
* @param batchOrType A batch or a {@link module:engine/model/batch~Batch#constructor batch type} that should be used in the callback.
|
|
171
171
|
* If not defined, a new batch with the default type will be created.
|
|
172
172
|
* @param callback Callback function which may modify the model.
|
|
173
173
|
*/
|
|
174
|
-
enqueueChange(batchOrType: Batch | BatchType | undefined, callback: (writer:
|
|
174
|
+
enqueueChange(batchOrType: Batch | BatchType | undefined, callback: (writer: ModelWriter) => unknown): void;
|
|
175
175
|
/**
|
|
176
176
|
* {@link module:utils/observablemixin~Observable#decorate Decorated} function for applying
|
|
177
177
|
* {@link module:engine/model/operation/operation~Operation operations} to the model.
|
|
178
178
|
*
|
|
179
179
|
* This is a low-level way of changing the model. It is exposed for very specific use cases (like the undo feature).
|
|
180
|
-
* Normally, to modify the model, you will want to use {@link module:engine/model/writer~
|
|
180
|
+
* Normally, to modify the model, you will want to use {@link module:engine/model/writer~ModelWriter `Writer`}.
|
|
181
181
|
* See also {@glink framework/architecture/editing-engine#changing-the-model Changing the model} section
|
|
182
182
|
* of the {@glink framework/architecture/editing-engine Editing architecture} guide.
|
|
183
183
|
*
|
|
@@ -197,9 +197,9 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
197
197
|
* It can split elements, merge them, wrap bare text nodes with paragraphs, etc. – just like the
|
|
198
198
|
* pasting feature should do.
|
|
199
199
|
*
|
|
200
|
-
* For lower-level methods see {@link module:engine/model/writer~
|
|
200
|
+
* For lower-level methods see {@link module:engine/model/writer~ModelWriter `Writer`}.
|
|
201
201
|
*
|
|
202
|
-
* This method, unlike {@link module:engine/model/writer~
|
|
202
|
+
* This method, unlike {@link module:engine/model/writer~ModelWriter `Writer`}'s methods, does not have to be used
|
|
203
203
|
* inside a {@link #change `change()` block}.
|
|
204
204
|
*
|
|
205
205
|
* # Conversion and schema
|
|
@@ -286,7 +286,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
286
286
|
* ```
|
|
287
287
|
*
|
|
288
288
|
* If you want the document selection to be moved to the inserted content, use the
|
|
289
|
-
* {@link module:engine/model/writer~
|
|
289
|
+
* {@link module:engine/model/writer~ModelWriter#setSelection `setSelection()`} method of the writer after inserting
|
|
290
290
|
* the content:
|
|
291
291
|
*
|
|
292
292
|
* ```ts
|
|
@@ -301,7 +301,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
301
301
|
* } );
|
|
302
302
|
* ```
|
|
303
303
|
*
|
|
304
|
-
* If an instance of the {@link module:engine/model/selection~
|
|
304
|
+
* If an instance of the {@link module:engine/model/selection~ModelSelection model selection} is passed as `selectable`,
|
|
305
305
|
* the new content will be inserted at the passed selection (instead of document selection):
|
|
306
306
|
*
|
|
307
307
|
* ```ts
|
|
@@ -326,7 +326,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
326
326
|
* This param defines a position in relation to that item.
|
|
327
327
|
* at the insertion position.
|
|
328
328
|
*/
|
|
329
|
-
insertContent(content:
|
|
329
|
+
insertContent(content: ModelItem | ModelDocumentFragment, selectable?: ModelSelectable, placeOrOffset?: ModelPlaceOrOffset, ...rest: Array<unknown>): ModelRange;
|
|
330
330
|
/**
|
|
331
331
|
* Inserts an {@glink framework/deep-dive/schema#object-elements object element} at a specific position in the editor content.
|
|
332
332
|
*
|
|
@@ -341,8 +341,8 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
341
341
|
* # Notes
|
|
342
342
|
*
|
|
343
343
|
* * If you want to insert a non-object content, see {@link #insertContent} instead.
|
|
344
|
-
* * For lower-level API, see {@link module:engine/model/writer~
|
|
345
|
-
* * Unlike {@link module:engine/model/writer~
|
|
344
|
+
* * For lower-level API, see {@link module:engine/model/writer~ModelWriter `Writer`}.
|
|
345
|
+
* * Unlike {@link module:engine/model/writer~ModelWriter `Writer`}, this method does not have to be used inside
|
|
346
346
|
* a {@link #change `change()` block}.
|
|
347
347
|
* * Inserting object into the model is not enough to make CKEditor 5 render that content to the user.
|
|
348
348
|
* CKEditor 5 implements a model-view-controller architecture and what `model.insertObject()` does
|
|
@@ -393,7 +393,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
393
393
|
*
|
|
394
394
|
* @param element An object to be inserted into the model document.
|
|
395
395
|
* @param selectable A selectable where the content should be inserted. If not specified, the current
|
|
396
|
-
* {@link module:engine/model/document~
|
|
396
|
+
* {@link module:engine/model/document~ModelDocument#selection document selection} will be used instead.
|
|
397
397
|
* @param placeOrOffset Specifies the exact place or offset for the insertion to take place, relative to `selectable`.
|
|
398
398
|
* @param options Additional options.
|
|
399
399
|
* @param options.findOptimalPosition An option that, when set, adjusts the insertion position (relative to
|
|
@@ -404,13 +404,13 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
404
404
|
*
|
|
405
405
|
* Note that this option only works for block objects. Inline objects are inserted into text and do not split blocks.
|
|
406
406
|
* @param options.setSelection An option that, when set, moves the
|
|
407
|
-
* {@link module:engine/model/document~
|
|
407
|
+
* {@link module:engine/model/document~ModelDocument#selection document selection} after inserting the object.
|
|
408
408
|
* * When `'on'`, the document selection will be set on the inserted object.
|
|
409
409
|
* * When `'after'`, the document selection will move to the closest text node after the inserted object. If there is no
|
|
410
410
|
* such text node, a paragraph will be created and the document selection will be moved inside it.
|
|
411
411
|
* at the insertion position.
|
|
412
412
|
*/
|
|
413
|
-
insertObject(element: ModelElement, selectable?:
|
|
413
|
+
insertObject(element: ModelElement, selectable?: ModelSelectable, placeOrOffset?: ModelPlaceOrOffset | null, options?: {
|
|
414
414
|
findOptimalPosition?: 'auto' | 'before' | 'after';
|
|
415
415
|
setSelection?: 'on' | 'after';
|
|
416
416
|
}, ...rest: Array<unknown>): ModelRange;
|
|
@@ -434,7 +434,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
434
434
|
* * `<heading1>x^y</heading1>` with the option disabled (`leaveUnmerged == false`)
|
|
435
435
|
* * `<heading1>x^</heading1><paragraph>y</paragraph>` with enabled (`leaveUnmerged == true`).
|
|
436
436
|
*
|
|
437
|
-
* Note: {@link module:engine/model/schema~
|
|
437
|
+
* Note: {@link module:engine/model/schema~ModelSchema#isObject object} and {@link module:engine/model/schema~ModelSchema#isLimit limit}
|
|
438
438
|
* elements will not be merged.
|
|
439
439
|
*
|
|
440
440
|
* @param options.doNotResetEntireContent Whether to skip replacing the entire content with a
|
|
@@ -461,7 +461,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
461
461
|
* Deleting backward corresponds to using the <kbd>Backspace</kbd> key, while deleting content forward corresponds to
|
|
462
462
|
* the <kbd>Shift</kbd>+<kbd>Backspace</kbd> keystroke.
|
|
463
463
|
*/
|
|
464
|
-
deleteContent(selection: ModelSelection |
|
|
464
|
+
deleteContent(selection: ModelSelection | ModelDocumentSelection, options?: {
|
|
465
465
|
leaveUnmerged?: boolean;
|
|
466
466
|
doNotResetEntireContent?: boolean;
|
|
467
467
|
doNotAutoparagraph?: boolean;
|
|
@@ -496,7 +496,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
496
496
|
* @param options.unit The unit by which selection should be modified.
|
|
497
497
|
* @param options.treatEmojiAsSingleUnit Whether multi-characer emoji sequences should be handled as single unit.
|
|
498
498
|
*/
|
|
499
|
-
modifySelection(selection: ModelSelection |
|
|
499
|
+
modifySelection(selection: ModelSelection | ModelDocumentSelection, options?: {
|
|
500
500
|
direction?: 'forward' | 'backward';
|
|
501
501
|
unit?: 'character' | 'codePoint' | 'word';
|
|
502
502
|
treatEmojiAsSingleUnit?: boolean;
|
|
@@ -528,16 +528,16 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
528
528
|
* @fires getSelectedContent
|
|
529
529
|
* @param selection The selection of which content will be returned.
|
|
530
530
|
*/
|
|
531
|
-
getSelectedContent(selection: ModelSelection |
|
|
531
|
+
getSelectedContent(selection: ModelSelection | ModelDocumentSelection): ModelDocumentFragment;
|
|
532
532
|
/**
|
|
533
|
-
* Checks whether the given {@link module:engine/model/range~
|
|
534
|
-
* {@link module:engine/model/element~
|
|
533
|
+
* Checks whether the given {@link module:engine/model/range~ModelRange range} or
|
|
534
|
+
* {@link module:engine/model/element~ModelElement element} has any meaningful content.
|
|
535
535
|
*
|
|
536
536
|
* Meaningful content is:
|
|
537
537
|
*
|
|
538
538
|
* * any text node (`options.ignoreWhitespaces` allows controlling whether this text node must also contain
|
|
539
539
|
* any non-whitespace characters),
|
|
540
|
-
* * or any {@link module:engine/model/schema~
|
|
540
|
+
* * or any {@link module:engine/model/schema~ModelSchema#isContent content element},
|
|
541
541
|
* * or any {@link module:engine/model/markercollection~Marker marker} which
|
|
542
542
|
* {@link module:engine/model/markercollection~Marker#_affectsData affects data}.
|
|
543
543
|
*
|
|
@@ -562,29 +562,29 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
562
562
|
*
|
|
563
563
|
* This method is decorated. Although this method accepts any parameter of `Selectable` type, the
|
|
564
564
|
* {@link ~Model#event:canEditAt `canEditAt` event} is fired with `selectable` normalized to an instance of
|
|
565
|
-
* {@link module:engine/model/selection~
|
|
565
|
+
* {@link module:engine/model/selection~ModelSelection} or {@link module:engine/model/documentselection~ModelDocumentSelection}
|
|
566
566
|
*
|
|
567
567
|
* @fires canEditAt
|
|
568
568
|
*/
|
|
569
|
-
canEditAt(selectable:
|
|
569
|
+
canEditAt(selectable: ModelSelectable): boolean;
|
|
570
570
|
/**
|
|
571
571
|
* Creates a position from the given root and path in that root.
|
|
572
572
|
*
|
|
573
573
|
* Note: This method is also available as
|
|
574
|
-
* {@link module:engine/model/writer~
|
|
574
|
+
* {@link module:engine/model/writer~ModelWriter#createPositionFromPath `Writer#createPositionFromPath()`}.
|
|
575
575
|
*
|
|
576
576
|
* @param root Root of the position.
|
|
577
|
-
* @param path Position path. See {@link module:engine/model/position~
|
|
578
|
-
* @param stickiness Position stickiness. See {@link module:engine/model/position~
|
|
577
|
+
* @param path Position path. See {@link module:engine/model/position~ModelPosition#path}.
|
|
578
|
+
* @param stickiness Position stickiness. See {@link module:engine/model/position~ModelPositionStickiness}.
|
|
579
579
|
*/
|
|
580
|
-
createPositionFromPath(root: ModelElement | ModelDocumentFragment, path: ReadonlyArray<number>, stickiness?:
|
|
580
|
+
createPositionFromPath(root: ModelElement | ModelDocumentFragment, path: ReadonlyArray<number>, stickiness?: ModelPositionStickiness): ModelPosition;
|
|
581
581
|
/**
|
|
582
582
|
* Creates position at the given location. The location can be specified as:
|
|
583
583
|
*
|
|
584
|
-
* * a {@link module:engine/model/position~
|
|
584
|
+
* * a {@link module:engine/model/position~ModelPosition position},
|
|
585
585
|
* * a parent element and offset in that element,
|
|
586
586
|
* * a parent element and `'end'` (the position will be set at the end of that element),
|
|
587
|
-
* * a {@link module:engine/model/item~
|
|
587
|
+
* * a {@link module:engine/model/item~ModelItem model item} and `'before'` or `'after'`
|
|
588
588
|
* (the position will be set before or after the given model item).
|
|
589
589
|
*
|
|
590
590
|
* This method is a shortcut to other factory methods such as:
|
|
@@ -593,35 +593,35 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
593
593
|
* * {@link module:engine/model/model~Model#createPositionAfter `createPositionAfter()`}.
|
|
594
594
|
*
|
|
595
595
|
* Note: This method is also available as
|
|
596
|
-
* {@link module:engine/model/writer~
|
|
596
|
+
* {@link module:engine/model/writer~ModelWriter#createPositionAt `Writer#createPositionAt()`},
|
|
597
597
|
*
|
|
598
598
|
* @param itemOrPosition
|
|
599
|
-
* @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/model/item~
|
|
599
|
+
* @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/model/item~ModelItem model item}.
|
|
600
600
|
*/
|
|
601
|
-
createPositionAt(itemOrPosition:
|
|
601
|
+
createPositionAt(itemOrPosition: ModelItem | ModelPosition | ModelDocumentFragment, offset?: ModelPositionOffset): ModelPosition;
|
|
602
602
|
/**
|
|
603
|
-
* Creates a new position after the given {@link module:engine/model/item~
|
|
603
|
+
* Creates a new position after the given {@link module:engine/model/item~ModelItem model item}.
|
|
604
604
|
*
|
|
605
605
|
* Note: This method is also available as
|
|
606
|
-
* {@link module:engine/model/writer~
|
|
606
|
+
* {@link module:engine/model/writer~ModelWriter#createPositionAfter `Writer#createPositionAfter()`}.
|
|
607
607
|
*
|
|
608
608
|
* @param item Item after which the position should be placed.
|
|
609
609
|
*/
|
|
610
|
-
createPositionAfter(item:
|
|
610
|
+
createPositionAfter(item: ModelItem): ModelPosition;
|
|
611
611
|
/**
|
|
612
|
-
* Creates a new position before the given {@link module:engine/model/item~
|
|
612
|
+
* Creates a new position before the given {@link module:engine/model/item~ModelItem model item}.
|
|
613
613
|
*
|
|
614
614
|
* Note: This method is also available as
|
|
615
|
-
* {@link module:engine/model/writer~
|
|
615
|
+
* {@link module:engine/model/writer~ModelWriter#createPositionBefore `Writer#createPositionBefore()`}.
|
|
616
616
|
*
|
|
617
617
|
* @param item Item before which the position should be placed.
|
|
618
618
|
*/
|
|
619
|
-
createPositionBefore(item:
|
|
619
|
+
createPositionBefore(item: ModelItem): ModelPosition;
|
|
620
620
|
/**
|
|
621
621
|
* Creates a range spanning from the `start` position to the `end` position.
|
|
622
622
|
*
|
|
623
623
|
* Note: This method is also available as
|
|
624
|
-
* {@link module:engine/model/writer~
|
|
624
|
+
* {@link module:engine/model/writer~ModelWriter#createRange `Writer#createRange()`}:
|
|
625
625
|
*
|
|
626
626
|
* ```ts
|
|
627
627
|
* model.change( writer => {
|
|
@@ -638,7 +638,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
638
638
|
* that element and ends after the last child of that element.
|
|
639
639
|
*
|
|
640
640
|
* Note: This method is also available as
|
|
641
|
-
* {@link module:engine/model/writer~
|
|
641
|
+
* {@link module:engine/model/writer~ModelWriter#createRangeIn `Writer#createRangeIn()`}:
|
|
642
642
|
*
|
|
643
643
|
* ```ts
|
|
644
644
|
* model.change( writer => {
|
|
@@ -650,10 +650,10 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
650
650
|
*/
|
|
651
651
|
createRangeIn(element: ModelElement | ModelDocumentFragment): ModelRange;
|
|
652
652
|
/**
|
|
653
|
-
* Creates a range that starts before the given {@link module:engine/model/item~
|
|
653
|
+
* Creates a range that starts before the given {@link module:engine/model/item~ModelItem model item} and ends after it.
|
|
654
654
|
*
|
|
655
655
|
* Note: This method is also available on `writer` instance as
|
|
656
|
-
* {@link module:engine/model/writer~
|
|
656
|
+
* {@link module:engine/model/writer~ModelWriter#createRangeOn `Writer.createRangeOn()`}:
|
|
657
657
|
*
|
|
658
658
|
* ```ts
|
|
659
659
|
* model.change( writer => {
|
|
@@ -663,24 +663,24 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
663
663
|
*
|
|
664
664
|
* @param item
|
|
665
665
|
*/
|
|
666
|
-
createRangeOn(item:
|
|
666
|
+
createRangeOn(item: ModelItem): ModelRange;
|
|
667
667
|
/**
|
|
668
|
-
* Creates a new selection instance based on the given {@link module:engine/model/selection~
|
|
668
|
+
* Creates a new selection instance based on the given {@link module:engine/model/selection~ModelSelectable selectable}
|
|
669
669
|
* or creates an empty selection if no arguments were passed.
|
|
670
670
|
*
|
|
671
671
|
* Note: This method is also available as
|
|
672
|
-
* {@link module:engine/model/writer~
|
|
672
|
+
* {@link module:engine/model/writer~ModelWriter#createSelection `Writer#createSelection()`}.
|
|
673
673
|
*
|
|
674
674
|
* ```ts
|
|
675
675
|
* // Creates selection at the given offset in the given element.
|
|
676
676
|
* const paragraph = writer.createElement( 'paragraph' );
|
|
677
677
|
* const selection = writer.createSelection( paragraph, offset );
|
|
678
678
|
*
|
|
679
|
-
* // Creates a range inside an {@link module:engine/model/element~
|
|
679
|
+
* // Creates a range inside an {@link module:engine/model/element~ModelElement element} which starts before the
|
|
680
680
|
* // first child of that element and ends after the last child of that element.
|
|
681
681
|
* const selection = writer.createSelection( paragraph, 'in' );
|
|
682
682
|
*
|
|
683
|
-
* // Creates a range on an {@link module:engine/model/item~
|
|
683
|
+
* // Creates a range on an {@link module:engine/model/item~ModelItem item} which starts before the item and ends
|
|
684
684
|
* // just after the item.
|
|
685
685
|
* const selection = writer.createSelection( paragraph, 'on' );
|
|
686
686
|
*
|
|
@@ -694,15 +694,15 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
694
694
|
*
|
|
695
695
|
* @label NODE_OFFSET
|
|
696
696
|
*/
|
|
697
|
-
createSelection(selectable:
|
|
697
|
+
createSelection(selectable: ModelNode, placeOrOffset: ModelPlaceOrOffset, options?: {
|
|
698
698
|
backward?: boolean;
|
|
699
699
|
}): ModelSelection;
|
|
700
700
|
/**
|
|
701
|
-
* Creates a new selection instance based on the given {@link module:engine/model/selection~
|
|
701
|
+
* Creates a new selection instance based on the given {@link module:engine/model/selection~ModelSelectable selectable}
|
|
702
702
|
* or creates an empty selection if no arguments were passed.
|
|
703
703
|
*
|
|
704
704
|
* Note: This method is also available as
|
|
705
|
-
* {@link module:engine/model/writer~
|
|
705
|
+
* {@link module:engine/model/writer~ModelWriter#createSelection `Writer#createSelection()`}.
|
|
706
706
|
*
|
|
707
707
|
* ```ts
|
|
708
708
|
* // Creates empty selection without ranges.
|
|
@@ -740,7 +740,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
740
740
|
*
|
|
741
741
|
* @label SELECTABLE
|
|
742
742
|
*/
|
|
743
|
-
createSelection(selectable?: Exclude<
|
|
743
|
+
createSelection(selectable?: Exclude<ModelSelectable, ModelNode>, options?: {
|
|
744
744
|
backward?: boolean;
|
|
745
745
|
}): ModelSelection;
|
|
746
746
|
/**
|
|
@@ -763,7 +763,7 @@ export default class Model extends /* #__PURE__ */ Model_base {
|
|
|
763
763
|
*/
|
|
764
764
|
createOperationFromJSON(json: unknown): Operation;
|
|
765
765
|
/**
|
|
766
|
-
* Removes all events listeners set by model instance and destroys {@link module:engine/model/document~
|
|
766
|
+
* Removes all events listeners set by model instance and destroys {@link module:engine/model/document~ModelDocument}.
|
|
767
767
|
*/
|
|
768
768
|
destroy(): void;
|
|
769
769
|
/**
|
|
@@ -799,15 +799,15 @@ export type AfterChangesEvent = {
|
|
|
799
799
|
* using {@link ~Model#applyOperation}.
|
|
800
800
|
*
|
|
801
801
|
* Note that this event is suitable only for very specific use-cases. Use it if you need to listen to every single operation
|
|
802
|
-
* applied on the document. However, in most cases {@link module:engine/model/document~
|
|
802
|
+
* applied on the document. However, in most cases {@link module:engine/model/document~ModelDocument#event:change} should
|
|
803
803
|
* be used.
|
|
804
804
|
*
|
|
805
805
|
* A few callbacks are already added to this event by engine internal classes:
|
|
806
806
|
*
|
|
807
807
|
* * with `highest` priority operation is validated,
|
|
808
808
|
* * with `normal` priority operation is executed,
|
|
809
|
-
* * with `low` priority the {@link module:engine/model/document~
|
|
810
|
-
* * with `low` priority {@link module:engine/model/liveposition~
|
|
809
|
+
* * with `low` priority the {@link module:engine/model/document~ModelDocument} updates its version,
|
|
810
|
+
* * with `low` priority {@link module:engine/model/liveposition~ModelLivePosition} and {@link module:engine/model/liverange~ModelLiveRange}
|
|
811
811
|
* update themselves.
|
|
812
812
|
*
|
|
813
813
|
* @eventName ~Model#applyOperation
|
|
@@ -822,7 +822,7 @@ export type ModelApplyOperationEvent = DecoratedMethodEvent<Model, 'applyOperati
|
|
|
822
822
|
* listener to this event so it can be fully customized by the features.
|
|
823
823
|
*
|
|
824
824
|
* **Note** The `selectable` parameter for the {@link ~Model#insertContent} is optional. When `undefined` value is passed the method uses
|
|
825
|
-
* {@link module:engine/model/document~
|
|
825
|
+
* {@link module:engine/model/document~ModelDocument#selection document selection}.
|
|
826
826
|
*
|
|
827
827
|
* @eventName ~Model#insertContent
|
|
828
828
|
* @param args The arguments passed to the original method.
|
|
@@ -831,8 +831,8 @@ export type ModelInsertContentEvent = {
|
|
|
831
831
|
name: 'insertContent';
|
|
832
832
|
args: [
|
|
833
833
|
[
|
|
834
|
-
content:
|
|
835
|
-
selectable?: ModelSelection |
|
|
834
|
+
content: ModelItem | ModelDocumentFragment,
|
|
835
|
+
selectable?: ModelSelection | ModelDocumentSelection,
|
|
836
836
|
...rest: Array<unknown>
|
|
837
837
|
]
|
|
838
838
|
];
|
|
@@ -845,7 +845,7 @@ export type ModelInsertContentEvent = {
|
|
|
845
845
|
* listener to this event so it can be fully customized by the features.
|
|
846
846
|
*
|
|
847
847
|
* **Note** The `selectable` parameter for the {@link ~Model#insertObject} is optional. When `undefined` value is passed the method uses
|
|
848
|
-
* {@link module:engine/model/document~
|
|
848
|
+
* {@link module:engine/model/document~ModelDocument#selection document selection}.
|
|
849
849
|
*
|
|
850
850
|
* @eventName ~Model#insertObject
|
|
851
851
|
* @param args The arguments passed to the original method.
|
|
@@ -855,7 +855,7 @@ export type ModelInsertObjectEvent = {
|
|
|
855
855
|
args: [
|
|
856
856
|
[
|
|
857
857
|
element: ModelElement,
|
|
858
|
-
selectable?: ModelSelection |
|
|
858
|
+
selectable?: ModelSelection | ModelDocumentSelection | null,
|
|
859
859
|
options?: {
|
|
860
860
|
findOptimalPosition?: 'auto' | 'before' | 'after';
|
|
861
861
|
setSelection?: 'on' | 'after';
|
|
@@ -902,7 +902,8 @@ export type ModelGetSelectedContentEvent = DecoratedMethodEvent<Model, 'getSelec
|
|
|
902
902
|
* listener to this event, so it can be fully customized by the features.
|
|
903
903
|
*
|
|
904
904
|
* Although the original method accepts any parameter of `Selectable` type, this event is fired with `selectable` normalized
|
|
905
|
-
* to an instance of {@link module:engine/model/selection~
|
|
905
|
+
* to an instance of {@link module:engine/model/selection~ModelSelection} or
|
|
906
|
+
* {@link module:engine/model/documentselection~ModelDocumentSelection}.
|
|
906
907
|
*
|
|
907
908
|
* @eventName ~Model#canEditAt
|
|
908
909
|
* @param args The arguments passed to the original method.
|
|
@@ -911,7 +912,7 @@ export type ModelCanEditAtEvent = {
|
|
|
911
912
|
name: 'canEditAt';
|
|
912
913
|
args: [
|
|
913
914
|
[
|
|
914
|
-
selectable?: ModelSelection |
|
|
915
|
+
selectable?: ModelSelection | ModelDocumentSelection
|
|
915
916
|
]
|
|
916
917
|
];
|
|
917
918
|
return: boolean;
|