@ckeditor/ckeditor5-engine 44.1.0 → 44.2.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/LICENSE.md +1 -1
- package/dist/index-content.css +2 -2
- package/dist/index-editor.css +2 -2
- package/dist/index.css +4 -4
- package/dist/index.css.map +1 -1
- package/dist/index.js +646 -77
- package/dist/index.js.map +1 -1
- package/package.json +23 -3
- package/src/controller/datacontroller.d.ts +1 -1
- package/src/controller/datacontroller.js +1 -1
- package/src/controller/editingcontroller.d.ts +1 -1
- package/src/controller/editingcontroller.js +1 -1
- package/src/conversion/conversion.d.ts +1 -1
- package/src/conversion/conversion.js +1 -1
- package/src/conversion/conversionhelpers.d.ts +1 -1
- package/src/conversion/conversionhelpers.js +1 -1
- package/src/conversion/downcastdispatcher.d.ts +1 -1
- package/src/conversion/downcastdispatcher.js +1 -1
- package/src/conversion/downcasthelpers.d.ts +1 -1
- package/src/conversion/downcasthelpers.js +1 -1
- package/src/conversion/mapper.d.ts +249 -20
- package/src/conversion/mapper.js +524 -38
- package/src/conversion/modelconsumable.d.ts +1 -1
- package/src/conversion/modelconsumable.js +1 -1
- package/src/conversion/upcastdispatcher.d.ts +1 -1
- package/src/conversion/upcastdispatcher.js +1 -1
- package/src/conversion/upcasthelpers.d.ts +1 -1
- package/src/conversion/upcasthelpers.js +1 -1
- package/src/conversion/viewconsumable.d.ts +1 -1
- package/src/conversion/viewconsumable.js +1 -1
- package/src/dataprocessor/basichtmlwriter.d.ts +1 -1
- package/src/dataprocessor/basichtmlwriter.js +1 -1
- package/src/dataprocessor/dataprocessor.d.ts +1 -1
- package/src/dataprocessor/dataprocessor.js +1 -1
- package/src/dataprocessor/htmldataprocessor.d.ts +1 -1
- package/src/dataprocessor/htmldataprocessor.js +1 -1
- package/src/dataprocessor/htmlwriter.d.ts +1 -1
- package/src/dataprocessor/htmlwriter.js +1 -1
- package/src/dataprocessor/xmldataprocessor.d.ts +1 -1
- package/src/dataprocessor/xmldataprocessor.js +1 -1
- package/src/dev-utils/model.d.ts +1 -1
- package/src/dev-utils/model.js +1 -1
- package/src/dev-utils/operationreplayer.d.ts +1 -1
- package/src/dev-utils/operationreplayer.js +1 -1
- package/src/dev-utils/utils.d.ts +1 -1
- package/src/dev-utils/utils.js +1 -1
- package/src/dev-utils/view.d.ts +1 -1
- package/src/dev-utils/view.js +1 -1
- package/src/index.d.ts +4 -2
- package/src/index.js +2 -1
- package/src/model/batch.d.ts +1 -1
- package/src/model/batch.js +7 -3
- package/src/model/differ.d.ts +1 -1
- package/src/model/differ.js +1 -1
- package/src/model/document.d.ts +1 -1
- package/src/model/document.js +1 -1
- package/src/model/documentfragment.d.ts +1 -1
- package/src/model/documentfragment.js +1 -1
- package/src/model/documentselection.d.ts +1 -1
- package/src/model/documentselection.js +1 -1
- package/src/model/element.d.ts +1 -1
- package/src/model/element.js +1 -1
- package/src/model/history.d.ts +1 -1
- package/src/model/history.js +1 -1
- package/src/model/item.d.ts +1 -1
- package/src/model/item.js +1 -1
- package/src/model/liveposition.d.ts +1 -1
- package/src/model/liveposition.js +1 -1
- package/src/model/liverange.d.ts +1 -1
- package/src/model/liverange.js +1 -1
- package/src/model/markercollection.d.ts +1 -1
- package/src/model/markercollection.js +1 -1
- package/src/model/model.d.ts +1 -1
- package/src/model/model.js +1 -1
- package/src/model/node.d.ts +1 -1
- package/src/model/node.js +1 -1
- package/src/model/nodelist.d.ts +1 -1
- package/src/model/nodelist.js +1 -1
- package/src/model/operation/attributeoperation.d.ts +1 -1
- package/src/model/operation/attributeoperation.js +1 -1
- package/src/model/operation/detachoperation.d.ts +1 -1
- package/src/model/operation/detachoperation.js +1 -1
- package/src/model/operation/insertoperation.d.ts +1 -1
- package/src/model/operation/insertoperation.js +1 -1
- package/src/model/operation/markeroperation.d.ts +1 -1
- package/src/model/operation/markeroperation.js +1 -1
- package/src/model/operation/mergeoperation.d.ts +1 -1
- package/src/model/operation/mergeoperation.js +1 -1
- package/src/model/operation/moveoperation.d.ts +1 -1
- package/src/model/operation/moveoperation.js +1 -1
- package/src/model/operation/nooperation.d.ts +1 -1
- package/src/model/operation/nooperation.js +1 -1
- package/src/model/operation/operation.d.ts +4 -1
- package/src/model/operation/operation.js +2 -2
- package/src/model/operation/operationfactory.d.ts +1 -1
- package/src/model/operation/operationfactory.js +1 -1
- package/src/model/operation/renameoperation.d.ts +1 -1
- package/src/model/operation/renameoperation.js +1 -1
- package/src/model/operation/rootattributeoperation.d.ts +1 -1
- package/src/model/operation/rootattributeoperation.js +1 -1
- package/src/model/operation/rootoperation.d.ts +1 -1
- package/src/model/operation/rootoperation.js +1 -1
- package/src/model/operation/splitoperation.d.ts +1 -1
- package/src/model/operation/splitoperation.js +1 -1
- package/src/model/operation/transform.d.ts +1 -1
- package/src/model/operation/transform.js +1 -1
- package/src/model/operation/utils.d.ts +1 -1
- package/src/model/operation/utils.js +1 -1
- package/src/model/position.d.ts +1 -1
- package/src/model/position.js +1 -1
- package/src/model/range.d.ts +1 -1
- package/src/model/range.js +1 -1
- package/src/model/rootelement.d.ts +1 -1
- package/src/model/rootelement.js +1 -1
- package/src/model/schema.d.ts +1 -1
- package/src/model/schema.js +1 -1
- package/src/model/selection.d.ts +1 -1
- package/src/model/selection.js +9 -2
- package/src/model/text.d.ts +1 -1
- package/src/model/text.js +1 -1
- package/src/model/textproxy.d.ts +1 -1
- package/src/model/textproxy.js +1 -1
- package/src/model/treewalker.d.ts +17 -1
- package/src/model/treewalker.js +26 -1
- package/src/model/typecheckable.d.ts +1 -1
- package/src/model/typecheckable.js +1 -1
- package/src/model/utils/autoparagraphing.d.ts +1 -1
- package/src/model/utils/autoparagraphing.js +1 -1
- package/src/model/utils/deletecontent.d.ts +1 -1
- package/src/model/utils/deletecontent.js +1 -1
- package/src/model/utils/getselectedcontent.d.ts +1 -1
- package/src/model/utils/getselectedcontent.js +1 -1
- package/src/model/utils/insertcontent.d.ts +1 -1
- package/src/model/utils/insertcontent.js +1 -1
- package/src/model/utils/insertobject.d.ts +1 -1
- package/src/model/utils/insertobject.js +1 -1
- package/src/model/utils/modifyselection.d.ts +1 -1
- package/src/model/utils/modifyselection.js +1 -1
- package/src/model/utils/selection-post-fixer.d.ts +1 -1
- package/src/model/utils/selection-post-fixer.js +1 -1
- package/src/model/writer.d.ts +1 -1
- package/src/model/writer.js +1 -1
- package/src/view/attributeelement.d.ts +1 -1
- package/src/view/attributeelement.js +1 -1
- package/src/view/containerelement.d.ts +1 -1
- package/src/view/containerelement.js +1 -1
- package/src/view/datatransfer.d.ts +1 -1
- package/src/view/datatransfer.js +1 -1
- package/src/view/document.d.ts +1 -1
- package/src/view/document.js +1 -1
- package/src/view/documentfragment.d.ts +6 -4
- package/src/view/documentfragment.js +7 -7
- package/src/view/documentselection.d.ts +1 -1
- package/src/view/documentselection.js +1 -1
- package/src/view/domconverter.d.ts +1 -1
- package/src/view/domconverter.js +1 -1
- package/src/view/downcastwriter.d.ts +1 -1
- package/src/view/downcastwriter.js +1 -1
- package/src/view/editableelement.d.ts +1 -1
- package/src/view/editableelement.js +1 -1
- package/src/view/element.d.ts +1 -1
- package/src/view/element.js +3 -3
- package/src/view/elementdefinition.d.ts +1 -1
- package/src/view/elementdefinition.js +1 -1
- package/src/view/emptyelement.d.ts +1 -1
- package/src/view/emptyelement.js +1 -1
- package/src/view/filler.d.ts +1 -1
- package/src/view/filler.js +1 -1
- package/src/view/item.d.ts +1 -1
- package/src/view/item.js +1 -1
- package/src/view/matcher.d.ts +1 -1
- package/src/view/matcher.js +1 -1
- package/src/view/node.d.ts +13 -4
- package/src/view/node.js +5 -4
- package/src/view/observer/arrowkeysobserver.d.ts +1 -1
- package/src/view/observer/arrowkeysobserver.js +1 -1
- package/src/view/observer/bubblingemittermixin.d.ts +1 -1
- package/src/view/observer/bubblingemittermixin.js +1 -1
- package/src/view/observer/bubblingeventinfo.d.ts +1 -1
- package/src/view/observer/bubblingeventinfo.js +1 -1
- package/src/view/observer/clickobserver.d.ts +1 -1
- package/src/view/observer/clickobserver.js +1 -1
- package/src/view/observer/compositionobserver.d.ts +1 -1
- package/src/view/observer/compositionobserver.js +1 -1
- package/src/view/observer/domeventdata.d.ts +1 -1
- package/src/view/observer/domeventdata.js +1 -1
- package/src/view/observer/domeventobserver.d.ts +1 -1
- package/src/view/observer/domeventobserver.js +1 -1
- package/src/view/observer/fakeselectionobserver.d.ts +1 -1
- package/src/view/observer/fakeselectionobserver.js +1 -1
- package/src/view/observer/focusobserver.d.ts +1 -1
- package/src/view/observer/focusobserver.js +1 -1
- package/src/view/observer/inputobserver.d.ts +1 -1
- package/src/view/observer/inputobserver.js +1 -1
- package/src/view/observer/keyobserver.d.ts +1 -1
- package/src/view/observer/keyobserver.js +1 -1
- package/src/view/observer/mouseobserver.d.ts +1 -1
- package/src/view/observer/mouseobserver.js +1 -1
- package/src/view/observer/mutationobserver.d.ts +1 -1
- package/src/view/observer/mutationobserver.js +1 -1
- package/src/view/observer/observer.d.ts +1 -1
- package/src/view/observer/observer.js +1 -1
- package/src/view/observer/selectionobserver.d.ts +1 -1
- package/src/view/observer/selectionobserver.js +1 -1
- package/src/view/observer/tabobserver.d.ts +1 -1
- package/src/view/observer/tabobserver.js +1 -1
- package/src/view/observer/touchobserver.d.ts +73 -0
- package/src/view/observer/touchobserver.js +29 -0
- package/src/view/placeholder.d.ts +1 -1
- package/src/view/placeholder.js +23 -17
- package/src/view/position.d.ts +1 -1
- package/src/view/position.js +1 -1
- package/src/view/range.d.ts +1 -1
- package/src/view/range.js +1 -1
- package/src/view/rawelement.d.ts +1 -1
- package/src/view/rawelement.js +1 -1
- package/src/view/renderer.d.ts +1 -1
- package/src/view/renderer.js +1 -1
- package/src/view/rooteditableelement.d.ts +1 -1
- package/src/view/rooteditableelement.js +1 -1
- package/src/view/selection.d.ts +1 -1
- package/src/view/selection.js +1 -1
- package/src/view/styles/background.d.ts +1 -1
- package/src/view/styles/background.js +1 -1
- package/src/view/styles/border.d.ts +1 -1
- package/src/view/styles/border.js +1 -1
- package/src/view/styles/margin.d.ts +1 -1
- package/src/view/styles/margin.js +1 -1
- package/src/view/styles/padding.d.ts +1 -1
- package/src/view/styles/padding.js +1 -1
- package/src/view/styles/utils.d.ts +1 -1
- package/src/view/styles/utils.js +1 -1
- package/src/view/stylesmap.d.ts +1 -1
- package/src/view/stylesmap.js +1 -1
- package/src/view/text.d.ts +1 -1
- package/src/view/text.js +1 -1
- package/src/view/textproxy.d.ts +1 -1
- package/src/view/textproxy.js +1 -1
- package/src/view/treewalker.d.ts +17 -1
- package/src/view/treewalker.js +25 -1
- package/src/view/typecheckable.d.ts +1 -1
- package/src/view/typecheckable.js +1 -1
- package/src/view/uielement.d.ts +1 -1
- package/src/view/uielement.js +1 -1
- package/src/view/upcastwriter.d.ts +1 -1
- package/src/view/upcastwriter.js +1 -1
- package/src/view/view.d.ts +1 -1
- package/src/view/view.js +1 -1
- package/theme/placeholder.css +1 -1
- package/theme/renderer.css +1 -1
- package/dist/controller/datacontroller.d.ts +0 -339
- package/dist/controller/editingcontroller.d.ts +0 -102
- package/dist/conversion/conversion.d.ts +0 -482
- package/dist/conversion/conversionhelpers.d.ts +0 -30
- package/dist/conversion/downcastdispatcher.d.ts +0 -566
- package/dist/conversion/downcasthelpers.d.ts +0 -1194
- package/dist/conversion/mapper.d.ts +0 -507
- package/dist/conversion/modelconsumable.d.ts +0 -205
- package/dist/conversion/upcastdispatcher.d.ts +0 -496
- package/dist/conversion/upcasthelpers.d.ts +0 -503
- package/dist/conversion/viewconsumable.d.ts +0 -373
- package/dist/dataprocessor/basichtmlwriter.d.ts +0 -22
- package/dist/dataprocessor/dataprocessor.d.ts +0 -65
- package/dist/dataprocessor/htmldataprocessor.d.ts +0 -80
- package/dist/dataprocessor/htmlwriter.d.ts +0 -20
- package/dist/dataprocessor/xmldataprocessor.d.ts +0 -94
- package/dist/dev-utils/model.d.ts +0 -130
- package/dist/dev-utils/operationreplayer.d.ts +0 -55
- package/dist/dev-utils/utils.d.ts +0 -41
- package/dist/dev-utils/view.d.ts +0 -324
- package/dist/index.d.ts +0 -122
- package/dist/model/batch.d.ts +0 -110
- package/dist/model/differ.d.ts +0 -511
- package/dist/model/document.d.ts +0 -278
- package/dist/model/documentfragment.d.ts +0 -223
- package/dist/model/documentselection.d.ts +0 -424
- package/dist/model/element.d.ts +0 -191
- package/dist/model/history.d.ts +0 -118
- package/dist/model/item.d.ts +0 -18
- package/dist/model/liveposition.d.ts +0 -81
- package/dist/model/liverange.d.ts +0 -106
- package/dist/model/markercollection.d.ts +0 -339
- package/dist/model/model.d.ts +0 -923
- package/dist/model/node.d.ts +0 -262
- package/dist/model/nodelist.d.ts +0 -119
- package/dist/model/operation/attributeoperation.d.ts +0 -107
- package/dist/model/operation/detachoperation.d.ts +0 -64
- package/dist/model/operation/insertoperation.d.ts +0 -94
- package/dist/model/operation/markeroperation.d.ts +0 -95
- package/dist/model/operation/mergeoperation.d.ts +0 -104
- package/dist/model/operation/moveoperation.d.ts +0 -100
- package/dist/model/operation/nooperation.d.ts +0 -42
- package/dist/model/operation/operation.d.ts +0 -100
- package/dist/model/operation/operationfactory.d.ts +0 -22
- package/dist/model/operation/renameoperation.d.ts +0 -87
- package/dist/model/operation/rootattributeoperation.d.ts +0 -102
- package/dist/model/operation/rootoperation.d.ts +0 -80
- package/dist/model/operation/splitoperation.d.ts +0 -113
- package/dist/model/operation/transform.d.ts +0 -104
- package/dist/model/operation/utils.d.ts +0 -75
- package/dist/model/position.d.ts +0 -549
- package/dist/model/range.d.ts +0 -462
- package/dist/model/rootelement.d.ts +0 -64
- package/dist/model/schema.d.ts +0 -1334
- package/dist/model/selection.d.ts +0 -486
- package/dist/model/text.d.ts +0 -70
- package/dist/model/textproxy.d.ts +0 -148
- package/dist/model/treewalker.d.ts +0 -190
- package/dist/model/typecheckable.d.ts +0 -289
- package/dist/model/utils/autoparagraphing.d.ts +0 -41
- package/dist/model/utils/deletecontent.d.ts +0 -62
- package/dist/model/utils/getselectedcontent.d.ts +0 -34
- package/dist/model/utils/insertcontent.d.ts +0 -50
- package/dist/model/utils/insertobject.d.ts +0 -51
- package/dist/model/utils/modifyselection.d.ts +0 -52
- package/dist/model/utils/selection-post-fixer.d.ts +0 -78
- package/dist/model/writer.d.ts +0 -855
- package/dist/view/attributeelement.d.ts +0 -112
- package/dist/view/containerelement.d.ts +0 -53
- package/dist/view/datatransfer.d.ts +0 -83
- package/dist/view/document.d.ts +0 -188
- package/dist/view/documentfragment.d.ts +0 -157
- package/dist/view/documentselection.d.ts +0 -310
- package/dist/view/domconverter.d.ts +0 -665
- package/dist/view/downcastwriter.d.ts +0 -1000
- package/dist/view/editableelement.d.ts +0 -66
- package/dist/view/element.d.ts +0 -472
- package/dist/view/elementdefinition.d.ts +0 -91
- package/dist/view/emptyelement.d.ts +0 -45
- package/dist/view/filler.d.ts +0 -115
- package/dist/view/item.d.ts +0 -18
- package/dist/view/matcher.d.ts +0 -490
- package/dist/view/node.d.ts +0 -166
- package/dist/view/observer/arrowkeysobserver.d.ts +0 -49
- package/dist/view/observer/bubblingemittermixin.d.ts +0 -170
- package/dist/view/observer/bubblingeventinfo.d.ts +0 -51
- package/dist/view/observer/clickobserver.d.ts +0 -47
- package/dist/view/observer/compositionobserver.d.ts +0 -86
- package/dist/view/observer/domeventdata.d.ts +0 -54
- package/dist/view/observer/domeventobserver.d.ts +0 -82
- package/dist/view/observer/fakeselectionobserver.d.ts +0 -51
- package/dist/view/observer/focusobserver.d.ts +0 -98
- package/dist/view/observer/inputobserver.d.ts +0 -90
- package/dist/view/observer/keyobserver.d.ts +0 -70
- package/dist/view/observer/mouseobserver.d.ts +0 -93
- package/dist/view/observer/mutationobserver.d.ts +0 -119
- package/dist/view/observer/observer.d.ts +0 -93
- package/dist/view/observer/selectionobserver.d.ts +0 -151
- package/dist/view/observer/tabobserver.d.ts +0 -50
- package/dist/view/placeholder.d.ts +0 -100
- package/dist/view/position.d.ts +0 -192
- package/dist/view/range.d.ts +0 -283
- package/dist/view/rawelement.d.ts +0 -77
- package/dist/view/renderer.d.ts +0 -281
- package/dist/view/rooteditableelement.d.ts +0 -45
- package/dist/view/selection.d.ts +0 -379
- package/dist/view/styles/background.d.ts +0 -37
- package/dist/view/styles/border.d.ts +0 -47
- package/dist/view/styles/margin.d.ts +0 -33
- package/dist/view/styles/padding.d.ts +0 -33
- package/dist/view/styles/utils.d.ts +0 -97
- package/dist/view/stylesmap.d.ts +0 -685
- package/dist/view/text.d.ts +0 -78
- package/dist/view/textproxy.d.ts +0 -101
- package/dist/view/treewalker.d.ts +0 -199
- package/dist/view/typecheckable.d.ts +0 -452
- package/dist/view/uielement.d.ts +0 -100
- package/dist/view/upcastwriter.d.ts +0 -421
- package/dist/view/view.d.ts +0 -488
|
@@ -1,452 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, 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
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
7
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
8
|
-
*/
|
|
9
|
-
import type AttributeElement from './attributeelement.js';
|
|
10
|
-
import type ContainerElement from './containerelement.js';
|
|
11
|
-
import type DocumentFragment from './documentfragment.js';
|
|
12
|
-
import type DocumentSelection from './documentselection.js';
|
|
13
|
-
import type EditableElement from './editableelement.js';
|
|
14
|
-
import type Element from './element.js';
|
|
15
|
-
import type EmptyElement from './emptyelement.js';
|
|
16
|
-
import type Node from './node.js';
|
|
17
|
-
import type Position from './position.js';
|
|
18
|
-
import type Range from './range.js';
|
|
19
|
-
import type RawElement from './rawelement.js';
|
|
20
|
-
import type RootEditableElement from './rooteditableelement.js';
|
|
21
|
-
import type Selection from './selection.js';
|
|
22
|
-
import type Text from './text.js';
|
|
23
|
-
import type TextProxy from './textproxy.js';
|
|
24
|
-
import type UIElement from './uielement.js';
|
|
25
|
-
/**
|
|
26
|
-
* @module engine/view/typecheckable
|
|
27
|
-
*/
|
|
28
|
-
export default abstract class TypeCheckable {
|
|
29
|
-
/**
|
|
30
|
-
* Checks whether this object is of type {@link module:engine/view/node~Node} or its subclass.
|
|
31
|
-
*
|
|
32
|
-
* This method is useful when processing view objects that are of unknown type. For example, a function
|
|
33
|
-
* may return a {@link module:engine/view/documentfragment~DocumentFragment} or a {@link module:engine/view/node~Node}
|
|
34
|
-
* that can be either a text node or an element. This method can be used to check what kind of object is returned.
|
|
35
|
-
*
|
|
36
|
-
* ```ts
|
|
37
|
-
* someObject.is( 'element' ); // -> true if this is an element
|
|
38
|
-
* someObject.is( 'node' ); // -> true if this is a node (a text node or an element)
|
|
39
|
-
* someObject.is( 'documentFragment' ); // -> true if this is a document fragment
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* Since this method is also available on a range of model objects, you can prefix the type of the object with
|
|
43
|
-
* `model:` or `view:` to check, for example, if this is the model's or view's element:
|
|
44
|
-
*
|
|
45
|
-
* ```ts
|
|
46
|
-
* viewElement.is( 'view:element' ); // -> true
|
|
47
|
-
* viewElement.is( 'model:element' ); // -> false
|
|
48
|
-
* ```
|
|
49
|
-
*
|
|
50
|
-
* By using this method it is also possible to check a name of an element:
|
|
51
|
-
*
|
|
52
|
-
* ```ts
|
|
53
|
-
* imgElement.is( 'element', 'img' ); // -> true
|
|
54
|
-
* imgElement.is( 'view:element', 'img' ); // -> same as above, but more precise
|
|
55
|
-
* ```
|
|
56
|
-
* @label NODE
|
|
57
|
-
*/
|
|
58
|
-
is(type: 'node' | 'view:node'): this is (Node | Text | Element | AttributeElement | ContainerElement | EditableElement | EmptyElement | RawElement | RootEditableElement | UIElement);
|
|
59
|
-
/**
|
|
60
|
-
* Checks whether this object is of type {@link module:engine/view/element~Element} or its subclass.
|
|
61
|
-
*
|
|
62
|
-
* ```ts
|
|
63
|
-
* element.is( 'element' ); // -> true
|
|
64
|
-
* element.is( 'node' ); // -> true
|
|
65
|
-
* element.is( 'view:element' ); // -> true
|
|
66
|
-
* element.is( 'view:node' ); // -> true
|
|
67
|
-
*
|
|
68
|
-
* element.is( 'model:element' ); // -> false
|
|
69
|
-
* element.is( 'documentSelection' ); // -> false
|
|
70
|
-
* ```
|
|
71
|
-
*
|
|
72
|
-
* Assuming that the object being checked is an element, you can also check its
|
|
73
|
-
* {@link module:engine/view/element~Element#name name}:
|
|
74
|
-
*
|
|
75
|
-
* ```ts
|
|
76
|
-
* element.is( 'element', 'img' ); // -> true if this is an <img> element
|
|
77
|
-
* text.is( 'element', 'img' ); -> false
|
|
78
|
-
* ```
|
|
79
|
-
*
|
|
80
|
-
* @label ELEMENT
|
|
81
|
-
*/
|
|
82
|
-
is(type: 'element' | 'view:element'): this is (Element | AttributeElement | ContainerElement | EditableElement | EmptyElement | RawElement | RootEditableElement | UIElement);
|
|
83
|
-
/**
|
|
84
|
-
* Checks whether this object is of type {@link module:engine/view/attributeelement~AttributeElement}.
|
|
85
|
-
*
|
|
86
|
-
* ```ts
|
|
87
|
-
* attributeElement.is( 'attributeElement' ); // -> true
|
|
88
|
-
* attributeElement.is( 'element' ); // -> true
|
|
89
|
-
* attributeElement.is( 'node' ); // -> true
|
|
90
|
-
* attributeElement.is( 'view:attributeElement' ); // -> true
|
|
91
|
-
* attributeElement.is( 'view:element' ); // -> true
|
|
92
|
-
* attributeElement.is( 'view:node' ); // -> true
|
|
93
|
-
*
|
|
94
|
-
* attributeElement.is( 'model:element' ); // -> false
|
|
95
|
-
* attributeElement.is( 'documentFragment' ); // -> false
|
|
96
|
-
* ```
|
|
97
|
-
*
|
|
98
|
-
* Assuming that the object being checked is an attribute element, you can also check its
|
|
99
|
-
* {@link module:engine/view/attributeelement~AttributeElement#name name}:
|
|
100
|
-
*
|
|
101
|
-
* ```ts
|
|
102
|
-
* attributeElement.is( 'element', 'b' ); // -> true if this is a bold element
|
|
103
|
-
* attributeElement.is( 'attributeElement', 'b' ); // -> same as above
|
|
104
|
-
* text.is( 'element', 'b' ); -> false
|
|
105
|
-
* ```
|
|
106
|
-
*
|
|
107
|
-
* @label ATTRIBUTE_ELEMENT
|
|
108
|
-
*/
|
|
109
|
-
is(type: 'attributeElement' | 'view:attributeElement'): this is AttributeElement;
|
|
110
|
-
/**
|
|
111
|
-
* Checks whether this object is of type {@link module:engine/view/containerelement~ContainerElement} or its subclass.
|
|
112
|
-
*
|
|
113
|
-
* ```ts
|
|
114
|
-
* containerElement.is( 'containerElement' ); // -> true
|
|
115
|
-
* containerElement.is( 'element' ); // -> true
|
|
116
|
-
* containerElement.is( 'node' ); // -> true
|
|
117
|
-
* containerElement.is( 'view:containerElement' ); // -> true
|
|
118
|
-
* containerElement.is( 'view:element' ); // -> true
|
|
119
|
-
* containerElement.is( 'view:node' ); // -> true
|
|
120
|
-
*
|
|
121
|
-
* containerElement.is( 'model:element' ); // -> false
|
|
122
|
-
* containerElement.is( 'documentFragment' ); // -> false
|
|
123
|
-
* ```
|
|
124
|
-
*
|
|
125
|
-
* Assuming that the object being checked is a container element, you can also check its
|
|
126
|
-
* {@link module:engine/view/containerelement~ContainerElement#name name}:
|
|
127
|
-
*
|
|
128
|
-
* ```ts
|
|
129
|
-
* containerElement.is( 'element', 'div' ); // -> true if this is a div container element
|
|
130
|
-
* containerElement.is( 'contaienrElement', 'div' ); // -> same as above
|
|
131
|
-
* text.is( 'element', 'div' ); -> false
|
|
132
|
-
* ```
|
|
133
|
-
*
|
|
134
|
-
* @label CONTAINER_ELEMENT
|
|
135
|
-
*/
|
|
136
|
-
is(type: 'containerElement' | 'view:containerElement'): this is ContainerElement | EditableElement | RootEditableElement;
|
|
137
|
-
/**
|
|
138
|
-
* Checks whether this object is of type {@link module:engine/view/editableelement~EditableElement} or its subclass.
|
|
139
|
-
*
|
|
140
|
-
* ```ts
|
|
141
|
-
* editableElement.is( 'editableElement' ); // -> true
|
|
142
|
-
* editableElement.is( 'element' ); // -> true
|
|
143
|
-
* editableElement.is( 'node' ); // -> true
|
|
144
|
-
* editableElement.is( 'view:editableElement' ); // -> true
|
|
145
|
-
* editableElement.is( 'view:element' ); // -> true
|
|
146
|
-
* editableElement.is( 'view:node' ); // -> true
|
|
147
|
-
*
|
|
148
|
-
* editableElement.is( 'model:element' ); // -> false
|
|
149
|
-
* editableElement.is( 'documentFragment' ); // -> false
|
|
150
|
-
* ```
|
|
151
|
-
*
|
|
152
|
-
* Assuming that the object being checked is an editbale element, you can also check its
|
|
153
|
-
* {@link module:engine/view/editableelement~EditableElement#name name}:
|
|
154
|
-
*
|
|
155
|
-
* ```ts
|
|
156
|
-
* editableElement.is( 'element', 'div' ); // -> true if this is a div element
|
|
157
|
-
* editableElement.is( 'editableElement', 'div' ); // -> same as above
|
|
158
|
-
* text.is( 'element', 'div' ); -> false
|
|
159
|
-
* ```
|
|
160
|
-
*
|
|
161
|
-
* @label EDITABLE_ELEMENT
|
|
162
|
-
*/
|
|
163
|
-
is(type: 'editableElement' | 'view:editableElement'): this is EditableElement | RootEditableElement;
|
|
164
|
-
/**
|
|
165
|
-
* Checks whether this object is of type {@link module:engine/view/emptyelement~EmptyElement}.
|
|
166
|
-
*
|
|
167
|
-
* ```ts
|
|
168
|
-
* emptyElement.is( 'emptyElement' ); // -> true
|
|
169
|
-
* emptyElement.is( 'element' ); // -> true
|
|
170
|
-
* emptyElement.is( 'node' ); // -> true
|
|
171
|
-
* emptyElement.is( 'view:emptyElement' ); // -> true
|
|
172
|
-
* emptyElement.is( 'view:element' ); // -> true
|
|
173
|
-
* emptyElement.is( 'view:node' ); // -> true
|
|
174
|
-
*
|
|
175
|
-
* emptyElement.is( 'model:element' ); // -> false
|
|
176
|
-
* emptyElement.is( 'documentFragment' ); // -> false
|
|
177
|
-
* ```
|
|
178
|
-
*
|
|
179
|
-
* Assuming that the object being checked is an empty element, you can also check its
|
|
180
|
-
* {@link module:engine/view/emptyelement~EmptyElement#name name}:
|
|
181
|
-
*
|
|
182
|
-
* ```ts
|
|
183
|
-
* emptyElement.is( 'element', 'img' ); // -> true if this is a img element
|
|
184
|
-
* emptyElement.is( 'emptyElement', 'img' ); // -> same as above
|
|
185
|
-
* text.is( 'element', 'img' ); -> false
|
|
186
|
-
* ```
|
|
187
|
-
*
|
|
188
|
-
* @label EMPTY_ELEMENT
|
|
189
|
-
*/
|
|
190
|
-
is(type: 'emptyElement' | 'view:emptyElement'): this is EmptyElement;
|
|
191
|
-
/**
|
|
192
|
-
* Checks whether this object is of type {@link module:engine/view/rawelement~RawElement}.
|
|
193
|
-
*
|
|
194
|
-
* ```ts
|
|
195
|
-
* rawElement.is( 'rawElement' ); // -> true
|
|
196
|
-
* rawElement.is( 'element' ); // -> true
|
|
197
|
-
* rawElement.is( 'node' ); // -> true
|
|
198
|
-
* rawElement.is( 'view:rawElement' ); // -> true
|
|
199
|
-
* rawElement.is( 'view:element' ); // -> true
|
|
200
|
-
* rawElement.is( 'view:node' ); // -> true
|
|
201
|
-
*
|
|
202
|
-
* rawElement.is( 'model:element' ); // -> false
|
|
203
|
-
* rawElement.is( 'documentFragment' ); // -> false
|
|
204
|
-
* ```
|
|
205
|
-
*
|
|
206
|
-
* Assuming that the object being checked is a raw element, you can also check its
|
|
207
|
-
* {@link module:engine/view/rawelement~RawElement#name name}:
|
|
208
|
-
*
|
|
209
|
-
* ```ts
|
|
210
|
-
* rawElement.is( 'img' ); // -> true if this is an img element
|
|
211
|
-
* rawElement.is( 'rawElement', 'img' ); // -> same as above
|
|
212
|
-
* text.is( 'img' ); -> false
|
|
213
|
-
* ```
|
|
214
|
-
*
|
|
215
|
-
* @label RAW_ELEMENT
|
|
216
|
-
*/
|
|
217
|
-
is(type: 'rawElement' | 'view:rawElement'): this is RawElement;
|
|
218
|
-
/**
|
|
219
|
-
* Checks whether this object is of type {@link module:engine/view/rooteditableelement~RootEditableElement}.
|
|
220
|
-
*
|
|
221
|
-
* ```ts
|
|
222
|
-
* rootEditableElement.is( 'rootElement' ); // -> true
|
|
223
|
-
* rootEditableElement.is( 'editableElement' ); // -> true
|
|
224
|
-
* rootEditableElement.is( 'element' ); // -> true
|
|
225
|
-
* rootEditableElement.is( 'node' ); // -> true
|
|
226
|
-
* rootEditableElement.is( 'view:editableElement' ); // -> true
|
|
227
|
-
* rootEditableElement.is( 'view:element' ); // -> true
|
|
228
|
-
* rootEditableElement.is( 'view:node' ); // -> true
|
|
229
|
-
*
|
|
230
|
-
* rootEditableElement.is( 'model:element' ); // -> false
|
|
231
|
-
* rootEditableElement.is( 'documentFragment' ); // -> false
|
|
232
|
-
* ```
|
|
233
|
-
*
|
|
234
|
-
* Assuming that the object being checked is a root editable element, you can also check its
|
|
235
|
-
* {@link module:engine/view/rooteditableelement~RootEditableElement#name name}:
|
|
236
|
-
*
|
|
237
|
-
* ```ts
|
|
238
|
-
* rootEditableElement.is( 'element', 'div' ); // -> true if this is a div root editable element
|
|
239
|
-
* rootEditableElement.is( 'rootElement', 'div' ); // -> same as above
|
|
240
|
-
* text.is( 'element', 'div' ); -> false
|
|
241
|
-
* ```
|
|
242
|
-
*
|
|
243
|
-
* @label ROOT_ELEMENT
|
|
244
|
-
*/
|
|
245
|
-
is(type: 'rootElement' | 'view:rootElement'): this is RootEditableElement;
|
|
246
|
-
/**
|
|
247
|
-
* Checks whether this object is of type {@link module:engine/view/uielement~UIElement}.
|
|
248
|
-
*
|
|
249
|
-
* ```ts
|
|
250
|
-
* uiElement.is( 'uiElement' ); // -> true
|
|
251
|
-
* uiElement.is( 'element' ); // -> true
|
|
252
|
-
* uiElement.is( 'node' ); // -> true
|
|
253
|
-
* uiElement.is( 'view:uiElement' ); // -> true
|
|
254
|
-
* uiElement.is( 'view:element' ); // -> true
|
|
255
|
-
* uiElement.is( 'view:node' ); // -> true
|
|
256
|
-
*
|
|
257
|
-
* uiElement.is( 'model:element' ); // -> false
|
|
258
|
-
* uiElement.is( 'documentFragment' ); // -> false
|
|
259
|
-
* ```
|
|
260
|
-
*
|
|
261
|
-
* Assuming that the object being checked is an ui element, you can also check its
|
|
262
|
-
* {@link module:engine/view/uielement~UIElement#name name}:
|
|
263
|
-
*
|
|
264
|
-
* ```ts
|
|
265
|
-
* uiElement.is( 'element', 'span' ); // -> true if this is a span ui element
|
|
266
|
-
* uiElement.is( 'uiElement', 'span' ); // -> same as above
|
|
267
|
-
* text.is( 'element', 'span' ); -> false
|
|
268
|
-
* ```
|
|
269
|
-
*
|
|
270
|
-
* @label UI_ELEMENT
|
|
271
|
-
*/
|
|
272
|
-
is(type: 'uiElement' | 'view:uiElement'): this is UIElement;
|
|
273
|
-
/**
|
|
274
|
-
* Checks whether this object is of type {@link module:engine/view/text~Text}.
|
|
275
|
-
*
|
|
276
|
-
* ```ts
|
|
277
|
-
* text.is( '$text' ); // -> true
|
|
278
|
-
* text.is( 'node' ); // -> true
|
|
279
|
-
* text.is( 'view:$text' ); // -> true
|
|
280
|
-
* text.is( 'view:node' ); // -> true
|
|
281
|
-
*
|
|
282
|
-
* text.is( 'model:$text' ); // -> false
|
|
283
|
-
* text.is( 'element' ); // -> false
|
|
284
|
-
* text.is( 'range' ); // -> false
|
|
285
|
-
* ```
|
|
286
|
-
*
|
|
287
|
-
* @label TEXT
|
|
288
|
-
*/
|
|
289
|
-
is(type: '$text' | 'view:$text'): this is Text;
|
|
290
|
-
/**
|
|
291
|
-
* hecks whether this object is of type {@link module:engine/view/documentfragment~DocumentFragment}.
|
|
292
|
-
*
|
|
293
|
-
* ```ts
|
|
294
|
-
* docFrag.is( 'documentFragment' ); // -> true
|
|
295
|
-
* docFrag.is( 'view:documentFragment' ); // -> true
|
|
296
|
-
*
|
|
297
|
-
* docFrag.is( 'model:documentFragment' ); // -> false
|
|
298
|
-
* docFrag.is( 'element' ); // -> false
|
|
299
|
-
* docFrag.is( 'node' ); // -> false
|
|
300
|
-
* ```
|
|
301
|
-
*
|
|
302
|
-
* @label DOCUMENT_FRAGMENT
|
|
303
|
-
*/
|
|
304
|
-
is(type: 'documentFragment' | 'view:documentFragment'): this is DocumentFragment;
|
|
305
|
-
/**
|
|
306
|
-
* Checks whether this object is of type {@link module:engine/view/textproxy~TextProxy}.
|
|
307
|
-
*
|
|
308
|
-
* ```ts
|
|
309
|
-
* textProxy.is( '$textProxy' ); // -> true
|
|
310
|
-
* textProxy.is( 'view:$textProxy' ); // -> true
|
|
311
|
-
*
|
|
312
|
-
* textProxy.is( 'model:$textProxy' ); // -> false
|
|
313
|
-
* textProxy.is( 'element' ); // -> false
|
|
314
|
-
* textProxy.is( 'range' ); // -> false
|
|
315
|
-
* ```
|
|
316
|
-
*
|
|
317
|
-
* **Note:** Until version 20.0.0 this method wasn't accepting `'$textProxy'` type. The legacy `'textProxy'` type is still
|
|
318
|
-
* accepted for backward compatibility.
|
|
319
|
-
*
|
|
320
|
-
* @label TEXT_PROXY
|
|
321
|
-
*/
|
|
322
|
-
is(type: '$textProxy' | 'view:$textProxy'): this is TextProxy;
|
|
323
|
-
/**
|
|
324
|
-
* Checks whether this object is of type {@link module:engine/view/position~Position}.
|
|
325
|
-
*
|
|
326
|
-
* ```ts
|
|
327
|
-
* position.is( 'position' ); // -> true
|
|
328
|
-
* position.is( 'view:position' ); // -> true
|
|
329
|
-
*
|
|
330
|
-
* position.is( 'model:position' ); // -> false
|
|
331
|
-
* position.is( 'element' ); // -> false
|
|
332
|
-
* position.is( 'range' ); // -> false
|
|
333
|
-
* ```
|
|
334
|
-
*
|
|
335
|
-
* @label POSITION
|
|
336
|
-
*/
|
|
337
|
-
is(type: 'position' | 'view:position'): this is Position;
|
|
338
|
-
/**
|
|
339
|
-
* Checks whether this object is of type {@link module:engine/view/range~Range}.
|
|
340
|
-
*
|
|
341
|
-
* ```ts
|
|
342
|
-
* range.is( 'range' ); // -> true
|
|
343
|
-
* range.is( 'view:range' ); // -> true
|
|
344
|
-
*
|
|
345
|
-
* range.is( 'model:range' ); // -> false
|
|
346
|
-
* range.is( 'element' ); // -> false
|
|
347
|
-
* range.is( 'selection' ); // -> false
|
|
348
|
-
* ```
|
|
349
|
-
*
|
|
350
|
-
* @label RANGE
|
|
351
|
-
*/
|
|
352
|
-
is(type: 'range' | 'view:range'): this is Range;
|
|
353
|
-
/**
|
|
354
|
-
* Checks whether this object is of type {@link module:engine/view/selection~Selection} or
|
|
355
|
-
* {@link module:engine/view/documentselection~DocumentSelection}.
|
|
356
|
-
*
|
|
357
|
-
* ```ts
|
|
358
|
-
* selection.is( 'selection' ); // -> true
|
|
359
|
-
* selection.is( 'view:selection' ); // -> true
|
|
360
|
-
*
|
|
361
|
-
* selection.is( 'model:selection' ); // -> false
|
|
362
|
-
* selection.is( 'element' ); // -> false
|
|
363
|
-
* selection.is( 'range' ); // -> false
|
|
364
|
-
* ```
|
|
365
|
-
*
|
|
366
|
-
* @label SELECTION
|
|
367
|
-
*/
|
|
368
|
-
is(type: 'selection' | 'view:selection'): this is Selection | DocumentSelection;
|
|
369
|
-
/**
|
|
370
|
-
* Checks whether this object is of type {@link module:engine/view/documentselection~DocumentSelection}.
|
|
371
|
-
*
|
|
372
|
-
* ```ts
|
|
373
|
-
* `docSelection.is( 'selection' ); // -> true
|
|
374
|
-
* docSelection.is( 'documentSelection' ); // -> true
|
|
375
|
-
* docSelection.is( 'view:selection' ); // -> true
|
|
376
|
-
* docSelection.is( 'view:documentSelection' ); // -> true
|
|
377
|
-
*
|
|
378
|
-
* docSelection.is( 'model:documentSelection' ); // -> false
|
|
379
|
-
* docSelection.is( 'element' ); // -> false
|
|
380
|
-
* docSelection.is( 'node' ); // -> false
|
|
381
|
-
* ```
|
|
382
|
-
*
|
|
383
|
-
* @label DOCUMENT_SELECTION
|
|
384
|
-
*/
|
|
385
|
-
is(type: 'documentSelection' | 'view:documentSelection'): this is DocumentSelection;
|
|
386
|
-
/**
|
|
387
|
-
* Checks whether the object is of type {@link module:engine/view/element~Element} or its subclass and has the specified `name`.
|
|
388
|
-
*
|
|
389
|
-
* @label ELEMENT_NAME
|
|
390
|
-
*/
|
|
391
|
-
is<N extends string>(type: 'element' | 'view:element', name: N): this is (Element | AttributeElement | ContainerElement | EditableElement | EmptyElement | RawElement | RootEditableElement | UIElement) & {
|
|
392
|
-
name: N;
|
|
393
|
-
};
|
|
394
|
-
/**
|
|
395
|
-
* Checks whether the object is of type {@link module:engine/view/attributeelement~AttributeElement} and has the specified `name`.
|
|
396
|
-
*
|
|
397
|
-
* @label ATTRIBUTE_ELEMENT_NAME
|
|
398
|
-
*/
|
|
399
|
-
is<N extends string>(type: 'attributeElement' | 'view:attributeElement', name: N): this is AttributeElement & {
|
|
400
|
-
name: N;
|
|
401
|
-
};
|
|
402
|
-
/**
|
|
403
|
-
* Checks whether the object is of type {@link module:engine/view/containerelement~ContainerElement}
|
|
404
|
-
* or its subclass and has the specified `name`.
|
|
405
|
-
*
|
|
406
|
-
* @label CONTAINER_ELEMENT_NAME
|
|
407
|
-
*/
|
|
408
|
-
is<N extends string>(type: 'containerElement' | 'view:containerElement', name: N): this is (ContainerElement | EditableElement | RootEditableElement) & {
|
|
409
|
-
name: N;
|
|
410
|
-
};
|
|
411
|
-
/**
|
|
412
|
-
* Checks whether the object is of type {@link module:engine/view/editableelement~EditableElement}
|
|
413
|
-
* or its subclass and has the specified `name`.
|
|
414
|
-
*
|
|
415
|
-
* @label EDITABLE_ELEMENT_NAME
|
|
416
|
-
*/
|
|
417
|
-
is<N extends string>(type: 'editableElement' | 'view:editableElement', name: N): this is (EditableElement | RootEditableElement) & {
|
|
418
|
-
name: N;
|
|
419
|
-
};
|
|
420
|
-
/**
|
|
421
|
-
* Checks whether the object is of type {@link module:engine/view/emptyelement~EmptyElement} has the specified `name`.
|
|
422
|
-
*
|
|
423
|
-
* @label EMPTY_ELEMENT_NAME
|
|
424
|
-
*/
|
|
425
|
-
is<N extends string>(type: 'emptyElement' | 'view:emptyElement', name: N): this is EmptyElement & {
|
|
426
|
-
name: N;
|
|
427
|
-
};
|
|
428
|
-
/**
|
|
429
|
-
* Checks whether the object is of type {@link module:engine/view/rawelement~RawElement} and has the specified `name`.
|
|
430
|
-
*
|
|
431
|
-
* @label RAW_ELEMENT_NAME
|
|
432
|
-
*/
|
|
433
|
-
is<N extends string>(type: 'rawElement' | 'view:rawElement', name: N): this is RawElement & {
|
|
434
|
-
name: N;
|
|
435
|
-
};
|
|
436
|
-
/**
|
|
437
|
-
* Checks whether the object is of type {@link module:engine/view/rooteditableelement~RootEditableElement} and has the specified `name`.
|
|
438
|
-
*
|
|
439
|
-
* @label ROOT_ELEMENT_NAME
|
|
440
|
-
*/
|
|
441
|
-
is<N extends string>(type: 'rootElement' | 'view:rootElement', name: N): this is RootEditableElement & {
|
|
442
|
-
name: N;
|
|
443
|
-
};
|
|
444
|
-
/**
|
|
445
|
-
* Checks whether the object is of type {@link module:engine/view/uielement~UIElement} and has the specified `name`.
|
|
446
|
-
*
|
|
447
|
-
* @label UI_ELEMENT_NAME
|
|
448
|
-
*/
|
|
449
|
-
is<N extends string>(type: 'uiElement' | 'view:uiElement', name: N): this is UIElement & {
|
|
450
|
-
name: N;
|
|
451
|
-
};
|
|
452
|
-
}
|
package/dist/view/uielement.d.ts
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2024, 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
|
-
* @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
|
|
7
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* @module engine/view/uielement
|
|
11
|
-
*/
|
|
12
|
-
import Element, { type ElementAttributes } from './element.js';
|
|
13
|
-
import Node from './node.js';
|
|
14
|
-
import type View from './view.js';
|
|
15
|
-
import type Document from './document.js';
|
|
16
|
-
import type DomConverter from './domconverter.js';
|
|
17
|
-
import type Item from './item.js';
|
|
18
|
-
type DomDocument = globalThis.Document;
|
|
19
|
-
type DomElement = globalThis.HTMLElement;
|
|
20
|
-
/**
|
|
21
|
-
* UI element class. It should be used to represent editing UI which needs to be injected into the editing view
|
|
22
|
-
* If possible, you should keep your UI outside the editing view. However, if that is not possible,
|
|
23
|
-
* UI elements can be used.
|
|
24
|
-
*
|
|
25
|
-
* How a UI element is rendered is in your control (you pass a callback to
|
|
26
|
-
* {@link module:engine/view/downcastwriter~DowncastWriter#createUIElement `downcastWriter#createUIElement()`}).
|
|
27
|
-
* The editor will ignore your UI element – the selection cannot be placed in it, it is skipped (invisible) when
|
|
28
|
-
* the user modifies the selection by using arrow keys and the editor does not listen to any mutations which
|
|
29
|
-
* happen inside your UI elements.
|
|
30
|
-
*
|
|
31
|
-
* The limitation is that you cannot convert a model element to a UI element. UI elements need to be
|
|
32
|
-
* created for {@link module:engine/model/markercollection~Marker markers} or as additinal elements
|
|
33
|
-
* inside normal {@link module:engine/view/containerelement~ContainerElement container elements}.
|
|
34
|
-
*
|
|
35
|
-
* To create a new UI element use the
|
|
36
|
-
* {@link module:engine/view/downcastwriter~DowncastWriter#createUIElement `downcastWriter#createUIElement()`} method.
|
|
37
|
-
*/
|
|
38
|
-
export default class UIElement extends Element {
|
|
39
|
-
/**
|
|
40
|
-
* Creates new instance of UIElement.
|
|
41
|
-
*
|
|
42
|
-
* Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-uielement-cannot-add` when third parameter is passed,
|
|
43
|
-
* to inform that usage of UIElement is incorrect (adding child nodes to UIElement is forbidden).
|
|
44
|
-
*
|
|
45
|
-
* @see module:engine/view/downcastwriter~DowncastWriter#createUIElement
|
|
46
|
-
* @internal
|
|
47
|
-
* @param document The document instance to which this element belongs.
|
|
48
|
-
* @param name Node name.
|
|
49
|
-
* @param attrs Collection of attributes.
|
|
50
|
-
* @param children A list of nodes to be inserted into created element.
|
|
51
|
-
*/
|
|
52
|
-
constructor(document: Document, name: string, attrs?: ElementAttributes, children?: Node | Iterable<Node>);
|
|
53
|
-
/**
|
|
54
|
-
* Overrides {@link module:engine/view/element~Element#_insertChild} method.
|
|
55
|
-
* Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-uielement-cannot-add` to prevent adding any child nodes
|
|
56
|
-
* to UIElement.
|
|
57
|
-
*
|
|
58
|
-
* @internal
|
|
59
|
-
*/
|
|
60
|
-
_insertChild(index: number, items: Item | Iterable<Item>): number;
|
|
61
|
-
/**
|
|
62
|
-
* Renders this {@link module:engine/view/uielement~UIElement} to DOM. This method is called by
|
|
63
|
-
* {@link module:engine/view/domconverter~DomConverter}.
|
|
64
|
-
* Do not use inheritance to create custom rendering method, replace `render()` method instead:
|
|
65
|
-
*
|
|
66
|
-
* ```ts
|
|
67
|
-
* const myUIElement = downcastWriter.createUIElement( 'span' );
|
|
68
|
-
* myUIElement.render = function( domDocument, domConverter ) {
|
|
69
|
-
* const domElement = this.toDomElement( domDocument );
|
|
70
|
-
*
|
|
71
|
-
* domConverter.setContentOf( domElement, '<b>this is ui element</b>' );
|
|
72
|
-
*
|
|
73
|
-
* return domElement;
|
|
74
|
-
* };
|
|
75
|
-
* ```
|
|
76
|
-
*
|
|
77
|
-
* If changes in your UI element should trigger some editor UI update you should call
|
|
78
|
-
* the {@link module:ui/editorui/editorui~EditorUI#update `editor.ui.update()`} method
|
|
79
|
-
* after rendering your UI element.
|
|
80
|
-
*
|
|
81
|
-
* @param domConverter Instance of the DomConverter used to optimize the output.
|
|
82
|
-
*/
|
|
83
|
-
render(domDocument: DomDocument, domConverter: DomConverter): DomElement;
|
|
84
|
-
/**
|
|
85
|
-
* Creates DOM element based on this view UIElement.
|
|
86
|
-
* Note that each time this method is called new DOM element is created.
|
|
87
|
-
*/
|
|
88
|
-
toDomElement(domDocument: DomDocument): DomElement;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* This function injects UI element handling to the given {@link module:engine/view/document~Document document}.
|
|
92
|
-
*
|
|
93
|
-
* A callback is added to {@link module:engine/view/document~Document#event:keydown document keydown event}.
|
|
94
|
-
* The callback handles the situation when right arrow key is pressed and selection is collapsed before a UI element.
|
|
95
|
-
* Without this handler, it would be impossible to "jump over" UI element using right arrow key.
|
|
96
|
-
*
|
|
97
|
-
* @param view View controller to which the quirks handling will be injected.
|
|
98
|
-
*/
|
|
99
|
-
export declare function injectUiElementHandling(view: View): void;
|
|
100
|
-
export {};
|