@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/view/upcastwriter.js
CHANGED
|
@@ -5,35 +5,35 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/upcastwriter
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
8
|
+
import { ViewDocumentFragment } from './documentfragment.js';
|
|
9
|
+
import { ViewElement } from './element.js';
|
|
10
|
+
import { ViewText } from './text.js';
|
|
11
11
|
import { isPlainObject } from 'es-toolkit/compat';
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
12
|
+
import { ViewPosition } from './position.js';
|
|
13
|
+
import { ViewRange } from './range.js';
|
|
14
|
+
import { ViewSelection } from './selection.js';
|
|
15
15
|
/**
|
|
16
16
|
* View upcast writer. It provides a set of methods used to manipulate non-semantic view trees.
|
|
17
17
|
*
|
|
18
18
|
* It should be used only while working on a non-semantic view
|
|
19
19
|
* (e.g. a view created from HTML string on paste).
|
|
20
20
|
* To manipulate a view which was or is being downcasted from the the model use the
|
|
21
|
-
* {@link module:engine/view/downcastwriter~
|
|
21
|
+
* {@link module:engine/view/downcastwriter~ViewDowncastWriter downcast writer}.
|
|
22
22
|
*
|
|
23
23
|
* Read more about changing the view in the {@glink framework/architecture/editing-engine#changing-the-view Changing the view}
|
|
24
24
|
* section of the {@glink framework/architecture/editing-engine Editing engine architecture} guide.
|
|
25
25
|
*
|
|
26
|
-
* Unlike `
|
|
27
|
-
* `
|
|
26
|
+
* Unlike `ViewDowncastWriter`, which is available in the {@link module:engine/view/view~EditingView#change `View#change()`} block,
|
|
27
|
+
* `ViewUpcastWriter` can be created wherever you need it:
|
|
28
28
|
*
|
|
29
29
|
* ```ts
|
|
30
|
-
* const writer = new
|
|
30
|
+
* const writer = new ViewUpcastWriter( viewDocument );
|
|
31
31
|
* const text = writer.createText( 'foo!' );
|
|
32
32
|
*
|
|
33
33
|
* writer.appendChild( text, someViewElement );
|
|
34
34
|
* ```
|
|
35
35
|
*/
|
|
36
|
-
export
|
|
36
|
+
export class ViewUpcastWriter {
|
|
37
37
|
/**
|
|
38
38
|
* The view document instance in which this upcast writer operates.
|
|
39
39
|
*/
|
|
@@ -45,16 +45,16 @@ export default class UpcastWriter {
|
|
|
45
45
|
this.document = document;
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
|
-
* Creates a new {@link module:engine/view/documentfragment~
|
|
48
|
+
* Creates a new {@link module:engine/view/documentfragment~ViewDocumentFragment} instance.
|
|
49
49
|
*
|
|
50
50
|
* @param children A list of nodes to be inserted into the created document fragment.
|
|
51
51
|
* @returns The created document fragment.
|
|
52
52
|
*/
|
|
53
53
|
createDocumentFragment(children) {
|
|
54
|
-
return new
|
|
54
|
+
return new ViewDocumentFragment(this.document, children);
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
|
-
* Creates a new {@link module:engine/view/element~
|
|
57
|
+
* Creates a new {@link module:engine/view/element~ViewElement} instance.
|
|
58
58
|
*
|
|
59
59
|
* Attributes can be passed in various formats:
|
|
60
60
|
*
|
|
@@ -70,21 +70,21 @@ export default class UpcastWriter {
|
|
|
70
70
|
* @returns Created element.
|
|
71
71
|
*/
|
|
72
72
|
createElement(name, attrs, children) {
|
|
73
|
-
return new
|
|
73
|
+
return new ViewElement(this.document, name, attrs, children);
|
|
74
74
|
}
|
|
75
75
|
/**
|
|
76
|
-
* Creates a new {@link module:engine/view/text~
|
|
76
|
+
* Creates a new {@link module:engine/view/text~ViewText} instance.
|
|
77
77
|
*
|
|
78
78
|
* @param data The text's data.
|
|
79
79
|
* @returns The created text node.
|
|
80
80
|
*/
|
|
81
81
|
createText(data) {
|
|
82
|
-
return new
|
|
82
|
+
return new ViewText(this.document, data);
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
85
85
|
* Clones the provided element.
|
|
86
86
|
*
|
|
87
|
-
* @see module:engine/view/element~
|
|
87
|
+
* @see module:engine/view/element~ViewElement#_clone
|
|
88
88
|
* @param element Element to be cloned.
|
|
89
89
|
* @param deep If set to `true` clones element and all its children recursively. When set to `false`,
|
|
90
90
|
* element will be cloned without any children.
|
|
@@ -97,7 +97,7 @@ export default class UpcastWriter {
|
|
|
97
97
|
* Appends a child node or a list of child nodes at the end of this node
|
|
98
98
|
* and sets the parent of these nodes to this element.
|
|
99
99
|
*
|
|
100
|
-
* @see module:engine/view/element~
|
|
100
|
+
* @see module:engine/view/element~ViewElement#_appendChild
|
|
101
101
|
* @param items Items to be inserted.
|
|
102
102
|
* @param element Element to which items will be appended.
|
|
103
103
|
* @returns Number of appended nodes.
|
|
@@ -109,7 +109,7 @@ export default class UpcastWriter {
|
|
|
109
109
|
* Inserts a child node or a list of child nodes on the given index and sets the parent of these nodes to
|
|
110
110
|
* this element.
|
|
111
111
|
*
|
|
112
|
-
* @see module:engine/view/element~
|
|
112
|
+
* @see module:engine/view/element~ViewElement#_insertChild
|
|
113
113
|
* @param index Offset at which nodes should be inserted.
|
|
114
114
|
* @param items Items to be inserted.
|
|
115
115
|
* @param element Element to which items will be inserted.
|
|
@@ -121,7 +121,7 @@ export default class UpcastWriter {
|
|
|
121
121
|
/**
|
|
122
122
|
* Removes the given number of child nodes starting at the given index and set the parent of these nodes to `null`.
|
|
123
123
|
*
|
|
124
|
-
* @see module:engine/view/element~
|
|
124
|
+
* @see module:engine/view/element~ViewElement#_removeChildren
|
|
125
125
|
* @param index Offset from which nodes will be removed.
|
|
126
126
|
* @param howMany Number of nodes to remove.
|
|
127
127
|
* @param element Element which children will be removed.
|
|
@@ -185,7 +185,7 @@ export default class UpcastWriter {
|
|
|
185
185
|
* @returns New element or null if the old element was not replaced (happens for detached elements).
|
|
186
186
|
*/
|
|
187
187
|
rename(newName, element) {
|
|
188
|
-
const newElement = new
|
|
188
|
+
const newElement = new ViewElement(this.document, newName, element.getAttributes(), element.getChildren());
|
|
189
189
|
return this.replace(element, newElement) ? newElement : null;
|
|
190
190
|
}
|
|
191
191
|
/**
|
|
@@ -195,7 +195,7 @@ export default class UpcastWriter {
|
|
|
195
195
|
* writer.setAttribute( 'href', 'http://ckeditor.com', linkElement );
|
|
196
196
|
* ```
|
|
197
197
|
*
|
|
198
|
-
* @see module:engine/view/element~
|
|
198
|
+
* @see module:engine/view/element~ViewElement#_setAttribute
|
|
199
199
|
* @param key Attribute key.
|
|
200
200
|
* @param value Attribute value.
|
|
201
201
|
* @param element Element for which attribute will be set.
|
|
@@ -210,7 +210,7 @@ export default class UpcastWriter {
|
|
|
210
210
|
* writer.removeAttribute( 'href', linkElement );
|
|
211
211
|
* ```
|
|
212
212
|
*
|
|
213
|
-
* @see module:engine/view/element~
|
|
213
|
+
* @see module:engine/view/element~ViewElement#_removeAttribute
|
|
214
214
|
* @param key Attribute key.
|
|
215
215
|
* @param element Element from which attribute will be removed.
|
|
216
216
|
*/
|
|
@@ -225,7 +225,7 @@ export default class UpcastWriter {
|
|
|
225
225
|
* writer.addClass( [ 'foo', 'bar' ], linkElement );
|
|
226
226
|
* ```
|
|
227
227
|
*
|
|
228
|
-
* @see module:engine/view/element~
|
|
228
|
+
* @see module:engine/view/element~ViewElement#_addClass
|
|
229
229
|
* @param className Single class name or array of class names which will be added.
|
|
230
230
|
* @param element Element for which class will be added.
|
|
231
231
|
*/
|
|
@@ -240,7 +240,7 @@ export default class UpcastWriter {
|
|
|
240
240
|
* writer.removeClass( [ 'foo', 'bar' ], linkElement );
|
|
241
241
|
* ```
|
|
242
242
|
*
|
|
243
|
-
* @see module:engine/view/element~
|
|
243
|
+
* @see module:engine/view/element~ViewElement#_removeClass
|
|
244
244
|
* @param className Single class name or array of class names which will be removed.
|
|
245
245
|
* @param element Element from which class will be removed.
|
|
246
246
|
*/
|
|
@@ -267,7 +267,7 @@ export default class UpcastWriter {
|
|
|
267
267
|
* {@link module:engine/controller/datacontroller~DataController#addStyleProcessorRules a particular style processor rule is enabled}.
|
|
268
268
|
* See {@link module:engine/view/stylesmap~StylesMap#remove `StylesMap#remove()`} for details.
|
|
269
269
|
*
|
|
270
|
-
* @see module:engine/view/element~
|
|
270
|
+
* @see module:engine/view/element~ViewElement#_removeStyle
|
|
271
271
|
* @param property Style property name or names to be removed.
|
|
272
272
|
* @param element Element from which style will be removed.
|
|
273
273
|
*/
|
|
@@ -278,7 +278,7 @@ export default class UpcastWriter {
|
|
|
278
278
|
* Sets a custom property on element. Unlike attributes, custom properties are not rendered to the DOM,
|
|
279
279
|
* so they can be used to add special data to elements.
|
|
280
280
|
*
|
|
281
|
-
* @see module:engine/view/element~
|
|
281
|
+
* @see module:engine/view/element~ViewElement#_setCustomProperty
|
|
282
282
|
* @param key Custom property name/key.
|
|
283
283
|
* @param value Custom property value to be stored.
|
|
284
284
|
* @param element Element for which custom property will be set.
|
|
@@ -289,7 +289,7 @@ export default class UpcastWriter {
|
|
|
289
289
|
/**
|
|
290
290
|
* Removes a custom property stored under the given key.
|
|
291
291
|
*
|
|
292
|
-
* @see module:engine/view/element~
|
|
292
|
+
* @see module:engine/view/element~ViewElement#_removeCustomProperty
|
|
293
293
|
* @param key Name/key of the custom property to be removed.
|
|
294
294
|
* @param element Element from which the custom property will be removed.
|
|
295
295
|
* @returns Returns true if property was removed.
|
|
@@ -300,20 +300,20 @@ export default class UpcastWriter {
|
|
|
300
300
|
/**
|
|
301
301
|
* Creates position at the given location. The location can be specified as:
|
|
302
302
|
*
|
|
303
|
-
* * a {@link module:engine/view/position~
|
|
303
|
+
* * a {@link module:engine/view/position~ViewPosition position},
|
|
304
304
|
* * parent element and offset (offset defaults to `0`),
|
|
305
305
|
* * parent element and `'end'` (sets position at the end of that element),
|
|
306
|
-
* * {@link module:engine/view/item~
|
|
306
|
+
* * {@link module:engine/view/item~ViewItem view item} and `'before'` or `'after'` (sets position before or after given view item).
|
|
307
307
|
*
|
|
308
308
|
* This method is a shortcut to other constructors such as:
|
|
309
309
|
*
|
|
310
310
|
* * {@link #createPositionBefore},
|
|
311
311
|
* * {@link #createPositionAfter},
|
|
312
312
|
*
|
|
313
|
-
* @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/view/item~
|
|
313
|
+
* @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/view/item~ViewItem view item}.
|
|
314
314
|
*/
|
|
315
315
|
createPositionAt(itemOrPosition, offset) {
|
|
316
|
-
return
|
|
316
|
+
return ViewPosition._createAt(itemOrPosition, offset);
|
|
317
317
|
}
|
|
318
318
|
/**
|
|
319
319
|
* Creates a new position after given view item.
|
|
@@ -321,7 +321,7 @@ export default class UpcastWriter {
|
|
|
321
321
|
* @param item View item after which the position should be located.
|
|
322
322
|
*/
|
|
323
323
|
createPositionAfter(item) {
|
|
324
|
-
return
|
|
324
|
+
return ViewPosition._createAfter(item);
|
|
325
325
|
}
|
|
326
326
|
/**
|
|
327
327
|
* Creates a new position before given view item.
|
|
@@ -329,35 +329,35 @@ export default class UpcastWriter {
|
|
|
329
329
|
* @param item View item before which the position should be located.
|
|
330
330
|
*/
|
|
331
331
|
createPositionBefore(item) {
|
|
332
|
-
return
|
|
332
|
+
return ViewPosition._createBefore(item);
|
|
333
333
|
}
|
|
334
334
|
/**
|
|
335
335
|
* Creates a range spanning from `start` position to `end` position.
|
|
336
336
|
*
|
|
337
|
-
* **Note:** This factory method creates it's own {@link module:engine/view/position~
|
|
337
|
+
* **Note:** This factory method creates it's own {@link module:engine/view/position~ViewPosition} instances basing on passed values.
|
|
338
338
|
*
|
|
339
339
|
* @param start Start position.
|
|
340
340
|
* @param end End position. If not set, range will be collapsed at `start` position.
|
|
341
341
|
*/
|
|
342
342
|
createRange(start, end) {
|
|
343
|
-
return new
|
|
343
|
+
return new ViewRange(start, end);
|
|
344
344
|
}
|
|
345
345
|
/**
|
|
346
|
-
* Creates a range that starts before given {@link module:engine/view/item~
|
|
346
|
+
* Creates a range that starts before given {@link module:engine/view/item~ViewItem view item} and ends after it.
|
|
347
347
|
*/
|
|
348
348
|
createRangeOn(item) {
|
|
349
|
-
return
|
|
349
|
+
return ViewRange._createOn(item);
|
|
350
350
|
}
|
|
351
351
|
/**
|
|
352
|
-
* Creates a range inside an {@link module:engine/view/element~
|
|
352
|
+
* Creates a range inside an {@link module:engine/view/element~ViewElement element} which starts before the first child of
|
|
353
353
|
* that element and ends after the last child of that element.
|
|
354
354
|
*
|
|
355
355
|
* @param element Element which is a parent for the range.
|
|
356
356
|
*/
|
|
357
357
|
createRangeIn(element) {
|
|
358
|
-
return
|
|
358
|
+
return ViewRange._createIn(element);
|
|
359
359
|
}
|
|
360
360
|
createSelection(...args) {
|
|
361
|
-
return new
|
|
361
|
+
return new ViewSelection(...args);
|
|
362
362
|
}
|
|
363
363
|
}
|
package/src/view/view.d.ts
CHANGED
|
@@ -5,29 +5,29 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/view
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import type {
|
|
8
|
+
import { ViewDocument } from './document.js';
|
|
9
|
+
import { ViewDowncastWriter } from './downcastwriter.js';
|
|
10
|
+
import { ViewDomConverter } from './domconverter.js';
|
|
11
|
+
import { ViewPosition, type ViewPositionOffset } from './position.js';
|
|
12
|
+
import { ViewRange } from './range.js';
|
|
13
|
+
import { ViewSelection, type ViewPlaceOrOffset, type ViewSelectable, type ViewSelectionOptions } from './selection.js';
|
|
14
|
+
import type { Observer, ObserverConstructor } from './observer/observer.js';
|
|
15
15
|
import type { StylesProcessor } from './stylesmap.js';
|
|
16
|
-
import type
|
|
17
|
-
import type {
|
|
18
|
-
import type
|
|
19
|
-
import KeyObserver from './observer/keyobserver.js';
|
|
20
|
-
import FakeSelectionObserver from './observer/fakeselectionobserver.js';
|
|
21
|
-
import MutationObserver from './observer/mutationobserver.js';
|
|
22
|
-
import SelectionObserver from './observer/selectionobserver.js';
|
|
23
|
-
import FocusObserver from './observer/focusobserver.js';
|
|
24
|
-
import CompositionObserver from './observer/compositionobserver.js';
|
|
25
|
-
import InputObserver from './observer/inputobserver.js';
|
|
26
|
-
import ArrowKeysObserver from './observer/arrowkeysobserver.js';
|
|
27
|
-
import TabObserver from './observer/tabobserver.js';
|
|
28
|
-
type IfTrue
|
|
16
|
+
import { type ViewElement } from './element.js';
|
|
17
|
+
import type { ViewNode } from './node.js';
|
|
18
|
+
import { type ViewItem } from './item.js';
|
|
19
|
+
import { KeyObserver } from './observer/keyobserver.js';
|
|
20
|
+
import { FakeSelectionObserver } from './observer/fakeselectionobserver.js';
|
|
21
|
+
import { MutationObserver } from './observer/mutationobserver.js';
|
|
22
|
+
import { SelectionObserver } from './observer/selectionobserver.js';
|
|
23
|
+
import { FocusObserver } from './observer/focusobserver.js';
|
|
24
|
+
import { CompositionObserver } from './observer/compositionobserver.js';
|
|
25
|
+
import { InputObserver } from './observer/inputobserver.js';
|
|
26
|
+
import { ArrowKeysObserver } from './observer/arrowkeysobserver.js';
|
|
27
|
+
import { TabObserver } from './observer/tabobserver.js';
|
|
28
|
+
import { type IfTrue } from '@ckeditor/ckeditor5-utils';
|
|
29
29
|
type DomRange = globalThis.Range;
|
|
30
|
-
declare const
|
|
30
|
+
declare const EditingView_base: {
|
|
31
31
|
new (): import("@ckeditor/ckeditor5-utils").Observable;
|
|
32
32
|
prototype: import("@ckeditor/ckeditor5-utils").Observable;
|
|
33
33
|
};
|
|
@@ -36,8 +36,8 @@ declare const View_base: {
|
|
|
36
36
|
* abstraction over the DOM structure and events and hide all browsers quirks.
|
|
37
37
|
*
|
|
38
38
|
* View controller renders view document to DOM whenever view structure changes. To determine when view can be rendered,
|
|
39
|
-
* all changes need to be done using the {@link module:engine/view/view~
|
|
40
|
-
* {@link module:engine/view/downcastwriter~
|
|
39
|
+
* all changes need to be done using the {@link module:engine/view/view~EditingView#change} method, using
|
|
40
|
+
* {@link module:engine/view/downcastwriter~ViewDowncastWriter}:
|
|
41
41
|
*
|
|
42
42
|
* ```ts
|
|
43
43
|
* view.change( writer => {
|
|
@@ -46,7 +46,7 @@ declare const View_base: {
|
|
|
46
46
|
* ```
|
|
47
47
|
*
|
|
48
48
|
* View controller also register {@link module:engine/view/observer/observer~Observer observers} which observes changes
|
|
49
|
-
* on DOM and fire events on the {@link module:engine/view/document~
|
|
49
|
+
* on DOM and fire events on the {@link module:engine/view/document~ViewDocument Document}.
|
|
50
50
|
* Note that the following observers are added by the class constructor and are always available:
|
|
51
51
|
*
|
|
52
52
|
* * {@link module:engine/view/observer/selectionobserver~SelectionObserver},
|
|
@@ -58,22 +58,23 @@ declare const View_base: {
|
|
|
58
58
|
* * {@link module:engine/view/observer/arrowkeysobserver~ArrowKeysObserver}.
|
|
59
59
|
* * {@link module:engine/view/observer/tabobserver~TabObserver}.
|
|
60
60
|
*
|
|
61
|
-
* This class also {@link module:engine/view/view~
|
|
61
|
+
* This class also {@link module:engine/view/view~EditingView#attachDomRoot binds the DOM and the view elements}.
|
|
62
62
|
*
|
|
63
63
|
* If you do not need full a DOM - view management, and only want to transform a tree of view elements to a tree of DOM
|
|
64
|
-
* elements you do not need this controller. You can use the {@link module:engine/view/domconverter~
|
|
64
|
+
* elements you do not need this controller. You can use the {@link module:engine/view/domconverter~ViewDomConverter ViewDomConverter}
|
|
65
|
+
* instead.
|
|
65
66
|
*/
|
|
66
|
-
export
|
|
67
|
+
export declare class EditingView extends /* #__PURE__ */ EditingView_base {
|
|
67
68
|
/**
|
|
68
|
-
* Instance of the {@link module:engine/view/document~
|
|
69
|
+
* Instance of the {@link module:engine/view/document~ViewDocument} associated with this view controller.
|
|
69
70
|
*/
|
|
70
|
-
readonly document:
|
|
71
|
+
readonly document: ViewDocument;
|
|
71
72
|
/**
|
|
72
|
-
* Instance of the {@link module:engine/view/domconverter~
|
|
73
|
-
* {@link module:engine/view/view~
|
|
73
|
+
* Instance of the {@link module:engine/view/domconverter~ViewDomConverter domConverter} used by
|
|
74
|
+
* {@link module:engine/view/view~EditingView#_renderer renderer}
|
|
74
75
|
* and {@link module:engine/view/observer/observer~Observer observers}.
|
|
75
76
|
*/
|
|
76
|
-
readonly domConverter:
|
|
77
|
+
readonly domConverter: ViewDomConverter;
|
|
77
78
|
/**
|
|
78
79
|
* Roots of the DOM tree. Map on the `HTMLElement`s with roots names as keys.
|
|
79
80
|
*/
|
|
@@ -93,13 +94,13 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
93
94
|
*/
|
|
94
95
|
hasDomSelection: boolean;
|
|
95
96
|
/**
|
|
96
|
-
* Instance of the {@link module:engine/view/renderer~
|
|
97
|
+
* Instance of the {@link module:engine/view/renderer~ViewRenderer renderer}.
|
|
97
98
|
*/
|
|
98
99
|
private readonly _renderer;
|
|
99
100
|
/**
|
|
100
101
|
* A DOM root attributes cache. It saves the initial values of DOM root attributes before the DOM element
|
|
101
|
-
* is {@link module:engine/view/view~
|
|
102
|
-
* the view is destroyed ({@link module:engine/view/view~
|
|
102
|
+
* is {@link module:engine/view/view~EditingView#attachDomRoot attached} to the view so later on, when
|
|
103
|
+
* the view is destroyed ({@link module:engine/view/view~EditingView#detachDomRoot}), they can be easily restored.
|
|
103
104
|
* This way, the DOM element can go back to the (clean) state as if the editing view never used it.
|
|
104
105
|
*/
|
|
105
106
|
private readonly _initialDomRootAttributes;
|
|
@@ -108,7 +109,7 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
108
109
|
*/
|
|
109
110
|
private readonly _observers;
|
|
110
111
|
/**
|
|
111
|
-
*
|
|
112
|
+
* ViewDowncastWriter instance used in {@link #change change method} callbacks.
|
|
112
113
|
*/
|
|
113
114
|
private readonly _writer;
|
|
114
115
|
/**
|
|
@@ -134,7 +135,7 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
134
135
|
constructor(stylesProcessor: StylesProcessor);
|
|
135
136
|
/**
|
|
136
137
|
* Attaches a DOM root element to the view element and enable all observers on that element.
|
|
137
|
-
* Also {@link module:engine/view/renderer~
|
|
138
|
+
* Also {@link module:engine/view/renderer~ViewRenderer#markToSync mark element} to be synchronized
|
|
138
139
|
* with the view what means that all child nodes will be removed and replaced with content of the view root.
|
|
139
140
|
*
|
|
140
141
|
* This method also will change view element name as the same as tag name of given dom root.
|
|
@@ -174,7 +175,7 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
174
175
|
* @returns Added observer instance.
|
|
175
176
|
*/
|
|
176
177
|
addObserver(ObserverConstructor: ObserverConstructor): Observer;
|
|
177
|
-
getObserver<T extends ObserverConstructor>(ObserverConstructor: T): T extends
|
|
178
|
+
getObserver<T extends ObserverConstructor>(ObserverConstructor: T): T extends AlwaysRegisteredViewObservers ? InstanceType<T> : InstanceType<T> | undefined;
|
|
178
179
|
/**
|
|
179
180
|
* Disables all added observers.
|
|
180
181
|
*/
|
|
@@ -214,7 +215,7 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
214
215
|
readonly forceScroll?: U;
|
|
215
216
|
}): void;
|
|
216
217
|
/**
|
|
217
|
-
* It will focus DOM element representing {@link module:engine/view/editableelement~
|
|
218
|
+
* It will focus DOM element representing {@link module:engine/view/editableelement~ViewEditableElement ViewEditableElement}
|
|
218
219
|
* that is currently having selection inside.
|
|
219
220
|
*/
|
|
220
221
|
focus(): void;
|
|
@@ -241,7 +242,7 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
241
242
|
* ```
|
|
242
243
|
*
|
|
243
244
|
* When the outermost change block is done and rendering to the DOM is over the
|
|
244
|
-
* {@link module:engine/view/view~
|
|
245
|
+
* {@link module:engine/view/view~EditingView#event:render `View#render`} event is fired.
|
|
245
246
|
*
|
|
246
247
|
* This method throws a `applying-view-changes-on-rendering` error when
|
|
247
248
|
* the change block is used after rendering to the DOM has started.
|
|
@@ -249,9 +250,9 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
249
250
|
* @param callback Callback function which may modify the view.
|
|
250
251
|
* @returns Value returned by the callback.
|
|
251
252
|
*/
|
|
252
|
-
change<TReturn>(callback: (writer:
|
|
253
|
+
change<TReturn>(callback: (writer: ViewDowncastWriter) => TReturn): TReturn;
|
|
253
254
|
/**
|
|
254
|
-
* Forces rendering {@link module:engine/view/document~
|
|
255
|
+
* Forces rendering {@link module:engine/view/document~ViewDocument view document} to DOM. If any view changes are
|
|
255
256
|
* currently in progress, rendering will start after all {@link #change change blocks} are processed.
|
|
256
257
|
*
|
|
257
258
|
* Note that this method is dedicated for special cases. All view changes should be wrapped in the {@link #change}
|
|
@@ -268,64 +269,64 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
268
269
|
/**
|
|
269
270
|
* Creates position at the given location. The location can be specified as:
|
|
270
271
|
*
|
|
271
|
-
* * a {@link module:engine/view/position~
|
|
272
|
+
* * a {@link module:engine/view/position~ViewPosition position},
|
|
272
273
|
* * parent element and offset (offset defaults to `0`),
|
|
273
274
|
* * parent element and `'end'` (sets position at the end of that element),
|
|
274
|
-
* * {@link module:engine/view/item~
|
|
275
|
+
* * {@link module:engine/view/item~ViewItem view item} and `'before'` or `'after'` (sets position before or after given view item).
|
|
275
276
|
*
|
|
276
277
|
* This method is a shortcut to other constructors such as:
|
|
277
278
|
*
|
|
278
279
|
* * {@link #createPositionBefore},
|
|
279
280
|
* * {@link #createPositionAfter},
|
|
280
281
|
*
|
|
281
|
-
* @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/view/item~
|
|
282
|
+
* @param offset Offset or one of the flags. Used only when first parameter is a {@link module:engine/view/item~ViewItem view item}.
|
|
282
283
|
*/
|
|
283
|
-
createPositionAt(itemOrPosition:
|
|
284
|
+
createPositionAt(itemOrPosition: ViewItem | ViewPosition, offset?: ViewPositionOffset): ViewPosition;
|
|
284
285
|
/**
|
|
285
286
|
* Creates a new position after given view item.
|
|
286
287
|
*
|
|
287
288
|
* @param item View item after which the position should be located.
|
|
288
289
|
*/
|
|
289
|
-
createPositionAfter(item:
|
|
290
|
+
createPositionAfter(item: ViewItem): ViewPosition;
|
|
290
291
|
/**
|
|
291
292
|
* Creates a new position before given view item.
|
|
292
293
|
*
|
|
293
294
|
* @param item View item before which the position should be located.
|
|
294
295
|
*/
|
|
295
|
-
createPositionBefore(item:
|
|
296
|
+
createPositionBefore(item: ViewItem): ViewPosition;
|
|
296
297
|
/**
|
|
297
298
|
* Creates a range spanning from `start` position to `end` position.
|
|
298
299
|
*
|
|
299
|
-
* **Note:** This factory method creates it's own {@link module:engine/view/position~
|
|
300
|
+
* **Note:** This factory method creates it's own {@link module:engine/view/position~ViewPosition} instances basing on passed values.
|
|
300
301
|
*
|
|
301
302
|
* @param start Start position.
|
|
302
303
|
* @param end End position. If not set, range will be collapsed at `start` position.
|
|
303
304
|
*/
|
|
304
|
-
createRange(start:
|
|
305
|
+
createRange(start: ViewPosition, end?: ViewPosition | null): ViewRange;
|
|
305
306
|
/**
|
|
306
|
-
* Creates a range that starts before given {@link module:engine/view/item~
|
|
307
|
+
* Creates a range that starts before given {@link module:engine/view/item~ViewItem view item} and ends after it.
|
|
307
308
|
*/
|
|
308
|
-
createRangeOn(item:
|
|
309
|
+
createRangeOn(item: ViewItem): ViewRange;
|
|
309
310
|
/**
|
|
310
|
-
* Creates a range inside an {@link module:engine/view/element~
|
|
311
|
+
* Creates a range inside an {@link module:engine/view/element~ViewElement element} which starts before the first child of
|
|
311
312
|
* that element and ends after the last child of that element.
|
|
312
313
|
*
|
|
313
314
|
* @param element Element which is a parent for the range.
|
|
314
315
|
*/
|
|
315
|
-
createRangeIn(element:
|
|
316
|
+
createRangeIn(element: ViewElement): ViewRange;
|
|
316
317
|
/**
|
|
317
|
-
* Creates new {@link module:engine/view/selection~
|
|
318
|
+
* Creates new {@link module:engine/view/selection~ViewSelection} instance.
|
|
318
319
|
*
|
|
319
320
|
* ```ts
|
|
320
321
|
* // Creates collapsed selection at the position of given item and offset.
|
|
321
322
|
* const paragraph = view.createContainerElement( 'paragraph' );
|
|
322
323
|
* const selection = view.createSelection( paragraph, offset );
|
|
323
324
|
*
|
|
324
|
-
* // Creates a range inside an {@link module:engine/view/element~
|
|
325
|
+
* // Creates a range inside an {@link module:engine/view/element~ViewElement element} which starts before the
|
|
325
326
|
* // first child of that element and ends after the last child of that element.
|
|
326
327
|
* const selection = view.createSelection( paragraph, 'in' );
|
|
327
328
|
*
|
|
328
|
-
* // Creates a range on an {@link module:engine/view/item~
|
|
329
|
+
* // Creates a range on an {@link module:engine/view/item~ViewItem item} which starts before the item and ends
|
|
329
330
|
* // just after the item.
|
|
330
331
|
* const selection = view.createSelection( paragraph, 'on' );
|
|
331
332
|
* ```
|
|
@@ -353,9 +354,9 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
353
354
|
*
|
|
354
355
|
* @label NODE_OFFSET
|
|
355
356
|
*/
|
|
356
|
-
createSelection(selectable:
|
|
357
|
+
createSelection(selectable: ViewNode, placeOrOffset: ViewPlaceOrOffset, options?: ViewSelectionOptions): ViewSelection;
|
|
357
358
|
/**
|
|
358
|
-
* Creates new {@link module:engine/view/selection~
|
|
359
|
+
* Creates new {@link module:engine/view/selection~ViewSelection} instance.
|
|
359
360
|
*
|
|
360
361
|
* ```ts
|
|
361
362
|
* // Creates empty selection without ranges.
|
|
@@ -404,7 +405,7 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
404
405
|
*
|
|
405
406
|
* @label SELECTABLE
|
|
406
407
|
*/
|
|
407
|
-
createSelection(selectable?: Exclude<
|
|
408
|
+
createSelection(selectable?: Exclude<ViewSelectable, ViewNode>, options?: ViewSelectionOptions): ViewSelection;
|
|
408
409
|
/**
|
|
409
410
|
* Disables or enables rendering. If the flag is set to `true` then the rendering will be disabled.
|
|
410
411
|
* If the flag is set to `false` and if there was some change in the meantime, then the rendering action will be performed.
|
|
@@ -420,8 +421,8 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
420
421
|
private _render;
|
|
421
422
|
}
|
|
422
423
|
/**
|
|
423
|
-
* Fired after a topmost {@link module:engine/view/view~
|
|
424
|
-
* {@link module:engine/view/document~
|
|
424
|
+
* Fired after a topmost {@link module:engine/view/view~EditingView#change change block} and all
|
|
425
|
+
* {@link module:engine/view/document~ViewDocument#registerPostFixer post-fixers} are executed.
|
|
425
426
|
*
|
|
426
427
|
* Actual rendering is performed as a first listener on 'normal' priority.
|
|
427
428
|
*
|
|
@@ -433,16 +434,16 @@ export default class View extends /* #__PURE__ */ View_base {
|
|
|
433
434
|
*
|
|
434
435
|
* This event is useful when you want to update interface elements after the rendering, e.g. position of the
|
|
435
436
|
* balloon panel. If you wants to change view structure use
|
|
436
|
-
* {@link module:engine/view/document~
|
|
437
|
+
* {@link module:engine/view/document~ViewDocument#registerPostFixer post-fixers}.
|
|
437
438
|
*
|
|
438
|
-
* @eventName ~
|
|
439
|
+
* @eventName ~EditingView#render
|
|
439
440
|
*/
|
|
440
441
|
export type ViewRenderEvent = {
|
|
441
442
|
name: 'render';
|
|
442
443
|
args: [];
|
|
443
444
|
};
|
|
444
445
|
/**
|
|
445
|
-
* An event fired at the moment of {@link module:engine/view/view~
|
|
446
|
+
* An event fired at the moment of {@link module:engine/view/view~EditingView#scrollToTheSelection} being called. It
|
|
446
447
|
* carries two objects in its payload (`args`):
|
|
447
448
|
*
|
|
448
449
|
* * The first argument is the {@link module:engine/view/view~ViewScrollToTheSelectionEventData object containing data} that gets
|
|
@@ -452,18 +453,18 @@ export type ViewRenderEvent = {
|
|
|
452
453
|
* It allows listeners to re-execute the `scrollViewportToShowTarget()` method with its original arguments if there is such a need,
|
|
453
454
|
* for instance, if the integration requires re–scrolling after certain interaction.
|
|
454
455
|
*
|
|
455
|
-
* @eventName ~
|
|
456
|
+
* @eventName ~EditingView#scrollToTheSelection
|
|
456
457
|
*/
|
|
457
458
|
export type ViewScrollToTheSelectionEvent = {
|
|
458
459
|
name: 'scrollToTheSelection';
|
|
459
460
|
args: [
|
|
460
461
|
ViewScrollToTheSelectionEventData,
|
|
461
|
-
Parameters<
|
|
462
|
+
Parameters<EditingView['scrollToTheSelection']>[0]
|
|
462
463
|
];
|
|
463
464
|
};
|
|
464
465
|
/**
|
|
465
466
|
* An object passed down to the {@link module:utils/dom/scroll~scrollViewportToShowTarget} helper while calling
|
|
466
|
-
* {@link module:engine/view/view~
|
|
467
|
+
* {@link module:engine/view/view~EditingView#scrollToTheSelection}.
|
|
467
468
|
*/
|
|
468
469
|
export type ViewScrollToTheSelectionEventData = {
|
|
469
470
|
target: DomRange;
|
|
@@ -480,5 +481,5 @@ export type ViewScrollToTheSelectionEventData = {
|
|
|
480
481
|
/**
|
|
481
482
|
* Observers that are always registered.
|
|
482
483
|
*/
|
|
483
|
-
export type
|
|
484
|
+
export type AlwaysRegisteredViewObservers = typeof MutationObserver | typeof FocusObserver | typeof SelectionObserver | typeof KeyObserver | typeof FakeSelectionObserver | typeof CompositionObserver | typeof ArrowKeysObserver | typeof InputObserver | typeof TabObserver;
|
|
484
485
|
export {};
|