@ckeditor/ckeditor5-engine 45.2.1-alpha.9 → 46.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.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 +94 -89
- 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
|
@@ -5,21 +5,21 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/editableelement
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
9
|
-
import type {
|
|
10
|
-
import type
|
|
11
|
-
import type
|
|
12
|
-
declare const
|
|
8
|
+
import { ViewContainerElement } from './containerelement.js';
|
|
9
|
+
import type { ViewElementAttributes } from './element.js';
|
|
10
|
+
import { type ViewDocument } from './document.js';
|
|
11
|
+
import { type ViewNode } from './node.js';
|
|
12
|
+
declare const ViewEditableElement_base: import("@ckeditor/ckeditor5-utils").Mixed<typeof ViewContainerElement, import("@ckeditor/ckeditor5-utils").Observable>;
|
|
13
13
|
/**
|
|
14
|
-
* Editable element which can be a {@link module:engine/view/rooteditableelement~
|
|
14
|
+
* Editable element which can be a {@link module:engine/view/rooteditableelement~ViewRootEditableElement root}
|
|
15
15
|
* or nested editable area in the editor.
|
|
16
16
|
*
|
|
17
|
-
* Editable is automatically read-only when its {@link module:engine/view/document~
|
|
17
|
+
* Editable is automatically read-only when its {@link module:engine/view/document~ViewDocument Document} is read-only.
|
|
18
18
|
*
|
|
19
|
-
* The constructor of this class shouldn't be used directly. To create new `
|
|
20
|
-
* {@link module:engine/view/downcastwriter~
|
|
19
|
+
* The constructor of this class shouldn't be used directly. To create new `ViewEditableElement` use the
|
|
20
|
+
* {@link module:engine/view/downcastwriter~ViewDowncastWriter#createEditableElement `downcastWriter#createEditableElement()`} method.
|
|
21
21
|
*/
|
|
22
|
-
export
|
|
22
|
+
export declare class ViewEditableElement extends /* #__PURE__ */ ViewEditableElement_base {
|
|
23
23
|
/**
|
|
24
24
|
* Whether the editable is in read-write or read-only mode.
|
|
25
25
|
*
|
|
@@ -29,7 +29,7 @@ export default class EditableElement extends /* #__PURE__ */ EditableElement_bas
|
|
|
29
29
|
/**
|
|
30
30
|
* Whether the editable is focused.
|
|
31
31
|
*
|
|
32
|
-
* This property updates when {@link module:engine/view/document~
|
|
32
|
+
* This property updates when {@link module:engine/view/document~ViewDocument#isFocused document.isFocused} or view
|
|
33
33
|
* selection is changed.
|
|
34
34
|
*
|
|
35
35
|
* @readonly
|
|
@@ -49,14 +49,14 @@ export default class EditableElement extends /* #__PURE__ */ EditableElement_bas
|
|
|
49
49
|
/**
|
|
50
50
|
* Creates an editable element.
|
|
51
51
|
*
|
|
52
|
-
* @see module:engine/view/downcastwriter~
|
|
52
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#createEditableElement
|
|
53
53
|
* @internal
|
|
54
54
|
* @param document The document instance to which this element belongs.
|
|
55
55
|
* @param name Node name.
|
|
56
56
|
* @param attributes Collection of attributes.
|
|
57
57
|
* @param children A list of nodes to be inserted into created element.
|
|
58
58
|
*/
|
|
59
|
-
constructor(document:
|
|
59
|
+
constructor(document: ViewDocument, name: string, attributes?: ViewElementAttributes, children?: ViewNode | Iterable<ViewNode>);
|
|
60
60
|
destroy(): void;
|
|
61
61
|
}
|
|
62
62
|
export {};
|
|
@@ -5,22 +5,22 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/editableelement
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
8
|
+
import { ViewContainerElement } from './containerelement.js';
|
|
9
9
|
import { ObservableMixin } from '@ckeditor/ckeditor5-utils';
|
|
10
10
|
/**
|
|
11
|
-
* Editable element which can be a {@link module:engine/view/rooteditableelement~
|
|
11
|
+
* Editable element which can be a {@link module:engine/view/rooteditableelement~ViewRootEditableElement root}
|
|
12
12
|
* or nested editable area in the editor.
|
|
13
13
|
*
|
|
14
|
-
* Editable is automatically read-only when its {@link module:engine/view/document~
|
|
14
|
+
* Editable is automatically read-only when its {@link module:engine/view/document~ViewDocument Document} is read-only.
|
|
15
15
|
*
|
|
16
|
-
* The constructor of this class shouldn't be used directly. To create new `
|
|
17
|
-
* {@link module:engine/view/downcastwriter~
|
|
16
|
+
* The constructor of this class shouldn't be used directly. To create new `ViewEditableElement` use the
|
|
17
|
+
* {@link module:engine/view/downcastwriter~ViewDowncastWriter#createEditableElement `downcastWriter#createEditableElement()`} method.
|
|
18
18
|
*/
|
|
19
|
-
export
|
|
19
|
+
export class ViewEditableElement extends /* #__PURE__ */ ObservableMixin(ViewContainerElement) {
|
|
20
20
|
/**
|
|
21
21
|
* Creates an editable element.
|
|
22
22
|
*
|
|
23
|
-
* @see module:engine/view/downcastwriter~
|
|
23
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#createEditableElement
|
|
24
24
|
* @internal
|
|
25
25
|
* @param document The document instance to which this element belongs.
|
|
26
26
|
* @param name Node name.
|
|
@@ -45,7 +45,7 @@ export default class EditableElement extends /* #__PURE__ */ ObservableMixin(Con
|
|
|
45
45
|
}
|
|
46
46
|
// The magic of type inference using `is` method is centralized in `TypeCheckable` class.
|
|
47
47
|
// Proper overload would interfere with that.
|
|
48
|
-
|
|
48
|
+
ViewEditableElement.prototype.is = function (type, name) {
|
|
49
49
|
if (!name) {
|
|
50
50
|
return type === 'editableElement' || type === 'view:editableElement' ||
|
|
51
51
|
// From super.is(). This is highly utilised method and cannot call super. See ckeditor/ckeditor5#6529.
|
package/src/view/element.d.ts
CHANGED
|
@@ -5,47 +5,47 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* @module engine/view/element
|
|
7
7
|
*/
|
|
8
|
-
import
|
|
8
|
+
import { ViewNode } from './node.js';
|
|
9
9
|
import { type ArrayOrItem } from '@ckeditor/ckeditor5-utils';
|
|
10
10
|
import { type MatcherPattern, type NormalizedPropertyPattern } from './matcher.js';
|
|
11
11
|
import { type Styles, type StyleValue } from './stylesmap.js';
|
|
12
|
-
import type
|
|
13
|
-
import type
|
|
12
|
+
import { type ViewDocument } from './document.js';
|
|
13
|
+
import { type ViewItem } from './item.js';
|
|
14
14
|
/**
|
|
15
15
|
* View element.
|
|
16
16
|
*
|
|
17
17
|
* The editing engine does not define a fixed semantics of its elements (it is "DTD-free").
|
|
18
|
-
* This is why the type of the {@link module:engine/view/element~
|
|
18
|
+
* This is why the type of the {@link module:engine/view/element~ViewElement} need to
|
|
19
19
|
* be defined by the feature developer. When creating an element you should use one of the following methods:
|
|
20
20
|
*
|
|
21
|
-
* * {@link module:engine/view/downcastwriter~
|
|
22
|
-
* in order to create a {@link module:engine/view/containerelement~
|
|
23
|
-
* * {@link module:engine/view/downcastwriter~
|
|
24
|
-
* in order to create a {@link module:engine/view/attributeelement~
|
|
25
|
-
* * {@link module:engine/view/downcastwriter~
|
|
26
|
-
* in order to create a {@link module:engine/view/emptyelement~
|
|
27
|
-
* * {@link module:engine/view/downcastwriter~
|
|
28
|
-
* in order to create a {@link module:engine/view/uielement~
|
|
29
|
-
* * {@link module:engine/view/downcastwriter~
|
|
30
|
-
* in order to create a {@link module:engine/view/editableelement~
|
|
21
|
+
* * {@link module:engine/view/downcastwriter~ViewDowncastWriter#createContainerElement `downcastWriter#createContainerElement()`}
|
|
22
|
+
* in order to create a {@link module:engine/view/containerelement~ViewContainerElement},
|
|
23
|
+
* * {@link module:engine/view/downcastwriter~ViewDowncastWriter#createAttributeElement `downcastWriter#createAttributeElement()`}
|
|
24
|
+
* in order to create a {@link module:engine/view/attributeelement~ViewAttributeElement},
|
|
25
|
+
* * {@link module:engine/view/downcastwriter~ViewDowncastWriter#createEmptyElement `downcastWriter#createEmptyElement()`}
|
|
26
|
+
* in order to create a {@link module:engine/view/emptyelement~ViewEmptyElement}.
|
|
27
|
+
* * {@link module:engine/view/downcastwriter~ViewDowncastWriter#createUIElement `downcastWriter#createUIElement()`}
|
|
28
|
+
* in order to create a {@link module:engine/view/uielement~ViewUIElement}.
|
|
29
|
+
* * {@link module:engine/view/downcastwriter~ViewDowncastWriter#createEditableElement `downcastWriter#createEditableElement()`}
|
|
30
|
+
* in order to create a {@link module:engine/view/editableelement~ViewEditableElement}.
|
|
31
31
|
*
|
|
32
32
|
* Note that for view elements which are not created from the model, like elements from mutations, paste or
|
|
33
33
|
* {@link module:engine/controller/datacontroller~DataController#set data.set} it is not possible to define the type of the element.
|
|
34
|
-
* In such cases the {@link module:engine/view/upcastwriter~
|
|
34
|
+
* In such cases the {@link module:engine/view/upcastwriter~ViewUpcastWriter#createElement `UpcastWriter#createElement()`} method
|
|
35
35
|
* should be used to create generic view elements.
|
|
36
36
|
*/
|
|
37
|
-
export
|
|
37
|
+
export declare class ViewElement extends ViewNode {
|
|
38
38
|
/**
|
|
39
39
|
* Name of the element.
|
|
40
40
|
*/
|
|
41
41
|
readonly name: string;
|
|
42
42
|
/**
|
|
43
43
|
* A list of attribute names that should be rendered in the editing pipeline even though filtering mechanisms
|
|
44
|
-
* implemented in the {@link module:engine/view/domconverter~
|
|
45
|
-
* {@link module:engine/view/domconverter~
|
|
44
|
+
* implemented in the {@link module:engine/view/domconverter~ViewDomConverter} (for instance,
|
|
45
|
+
* {@link module:engine/view/domconverter~ViewDomConverter#shouldRenderAttribute}) would filter them out.
|
|
46
46
|
*
|
|
47
47
|
* These attributes can be specified as an option when the element is created by
|
|
48
|
-
* the {@link module:engine/view/downcastwriter~
|
|
48
|
+
* the {@link module:engine/view/downcastwriter~ViewDowncastWriter}. To check whether an unsafe an attribute should
|
|
49
49
|
* be permitted, use the {@link #shouldRenderUnsafeAttribute} method.
|
|
50
50
|
*
|
|
51
51
|
* @internal
|
|
@@ -93,7 +93,7 @@ export default class Element extends Node {
|
|
|
93
93
|
* @param attrs Collection of attributes.
|
|
94
94
|
* @param children A list of nodes to be inserted into created element.
|
|
95
95
|
*/
|
|
96
|
-
constructor(document:
|
|
96
|
+
constructor(document: ViewDocument, name: string, attrs?: ViewElementAttributes, children?: ViewNode | Iterable<ViewNode>);
|
|
97
97
|
/**
|
|
98
98
|
* Number of element's children.
|
|
99
99
|
*/
|
|
@@ -108,20 +108,20 @@ export default class Element extends Node {
|
|
|
108
108
|
* @param index Index of child.
|
|
109
109
|
* @returns Child node.
|
|
110
110
|
*/
|
|
111
|
-
getChild(index: number):
|
|
111
|
+
getChild(index: number): ViewNode | undefined;
|
|
112
112
|
/**
|
|
113
113
|
* Gets index of the given child node. Returns `-1` if child node is not found.
|
|
114
114
|
*
|
|
115
115
|
* @param node Child node.
|
|
116
116
|
* @returns Index of the child node.
|
|
117
117
|
*/
|
|
118
|
-
getChildIndex(node:
|
|
118
|
+
getChildIndex(node: ViewNode): number;
|
|
119
119
|
/**
|
|
120
120
|
* Gets child nodes iterator.
|
|
121
121
|
*
|
|
122
122
|
* @returns Child nodes iterator.
|
|
123
123
|
*/
|
|
124
|
-
getChildren(): IterableIterator<
|
|
124
|
+
getChildren(): IterableIterator<ViewNode>;
|
|
125
125
|
/**
|
|
126
126
|
* Returns an iterator that contains the keys for attributes. Order of inserting attributes is not preserved.
|
|
127
127
|
*
|
|
@@ -154,7 +154,7 @@ export default class Element extends Node {
|
|
|
154
154
|
* Both elements should have the same name and attributes to be considered as similar. Two similar elements
|
|
155
155
|
* can contain different set of children nodes.
|
|
156
156
|
*/
|
|
157
|
-
isSimilar(otherElement:
|
|
157
|
+
isSimilar(otherElement: ViewItem): boolean;
|
|
158
158
|
/**
|
|
159
159
|
* Returns true if class is present.
|
|
160
160
|
* If more then one class is provided - returns true only when all classes are present.
|
|
@@ -181,7 +181,7 @@ export default class Element extends Node {
|
|
|
181
181
|
*
|
|
182
182
|
* ```ts
|
|
183
183
|
* // Enable 'margin' shorthand processing:
|
|
184
|
-
* editor.data.addStyleProcessorRules(
|
|
184
|
+
* editor.data.addStyleProcessorRules( addMarginStylesRules );
|
|
185
185
|
*
|
|
186
186
|
* const element = view.change( writer => {
|
|
187
187
|
* const element = writer.createElement();
|
|
@@ -254,7 +254,7 @@ export default class Element extends Node {
|
|
|
254
254
|
* @param patterns Patterns used to match correct ancestor. See {@link module:engine/view/matcher~Matcher}.
|
|
255
255
|
* @returns Found element or `null` if no matching ancestor was found.
|
|
256
256
|
*/
|
|
257
|
-
findAncestor(...patterns: Array<MatcherPattern | ((element:
|
|
257
|
+
findAncestor(...patterns: Array<MatcherPattern | ((element: ViewElement) => boolean)>): ViewElement | null;
|
|
258
258
|
/**
|
|
259
259
|
* Returns the custom property value for the given key.
|
|
260
260
|
*/
|
|
@@ -292,9 +292,9 @@ export default class Element extends Node {
|
|
|
292
292
|
getIdentity(): string;
|
|
293
293
|
/**
|
|
294
294
|
* Decides whether an unsafe attribute is whitelisted and should be rendered in the editing pipeline even though filtering mechanisms
|
|
295
|
-
* like {@link module:engine/view/domconverter~
|
|
295
|
+
* like {@link module:engine/view/domconverter~ViewDomConverter#shouldRenderAttribute} say it should not.
|
|
296
296
|
*
|
|
297
|
-
* Unsafe attribute names can be specified when creating an element via {@link module:engine/view/downcastwriter~
|
|
297
|
+
* Unsafe attribute names can be specified when creating an element via {@link module:engine/view/downcastwriter~ViewDowncastWriter}.
|
|
298
298
|
*
|
|
299
299
|
* @param attributeName The name of the attribute to be checked.
|
|
300
300
|
*/
|
|
@@ -309,43 +309,43 @@ export default class Element extends Node {
|
|
|
309
309
|
*/
|
|
310
310
|
_clone(deep?: boolean): this;
|
|
311
311
|
/**
|
|
312
|
-
* {@link module:engine/view/element~
|
|
312
|
+
* {@link module:engine/view/element~ViewElement#_insertChild Insert} a child node or a list of child nodes at the end of this node
|
|
313
313
|
* and sets the parent of these nodes to this element.
|
|
314
314
|
*
|
|
315
|
-
* @see module:engine/view/downcastwriter~
|
|
315
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#insert
|
|
316
316
|
* @internal
|
|
317
317
|
* @param items Items to be inserted.
|
|
318
318
|
* @fires change
|
|
319
319
|
* @returns Number of appended nodes.
|
|
320
320
|
*/
|
|
321
|
-
_appendChild(items:
|
|
321
|
+
_appendChild(items: ViewItem | string | Iterable<ViewItem | string>): number;
|
|
322
322
|
/**
|
|
323
323
|
* Inserts a child node or a list of child nodes on the given index and sets the parent of these nodes to
|
|
324
324
|
* this element.
|
|
325
325
|
*
|
|
326
326
|
* @internal
|
|
327
|
-
* @see module:engine/view/downcastwriter~
|
|
327
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#insert
|
|
328
328
|
* @param index Position where nodes should be inserted.
|
|
329
329
|
* @param items Items to be inserted.
|
|
330
330
|
* @fires change
|
|
331
331
|
* @returns Number of inserted nodes.
|
|
332
332
|
*/
|
|
333
|
-
_insertChild(index: number, items:
|
|
333
|
+
_insertChild(index: number, items: ViewItem | string | Iterable<ViewItem | string>): number;
|
|
334
334
|
/**
|
|
335
335
|
* Removes number of child nodes starting at the given index and set the parent of these nodes to `null`.
|
|
336
336
|
*
|
|
337
|
-
* @see module:engine/view/downcastwriter~
|
|
337
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#remove
|
|
338
338
|
* @internal
|
|
339
339
|
* @param index Number of the first node to remove.
|
|
340
340
|
* @param howMany Number of nodes to remove.
|
|
341
341
|
* @fires change
|
|
342
342
|
* @returns The array of removed nodes.
|
|
343
343
|
*/
|
|
344
|
-
_removeChildren(index: number, howMany?: number): Array<
|
|
344
|
+
_removeChildren(index: number, howMany?: number): Array<ViewNode>;
|
|
345
345
|
/**
|
|
346
346
|
* Adds or overwrite attribute with a specified key and value.
|
|
347
347
|
*
|
|
348
|
-
* @see module:engine/view/downcastwriter~
|
|
348
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#setAttribute
|
|
349
349
|
* @internal
|
|
350
350
|
* @param key Attribute key.
|
|
351
351
|
* @param value Attribute value.
|
|
@@ -356,7 +356,7 @@ export default class Element extends Node {
|
|
|
356
356
|
/**
|
|
357
357
|
* Removes attribute from the element.
|
|
358
358
|
*
|
|
359
|
-
* @see module:engine/view/downcastwriter~
|
|
359
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#removeAttribute
|
|
360
360
|
* @internal
|
|
361
361
|
* @param key Attribute key.
|
|
362
362
|
* @param tokens Attribute value tokens to remove. The whole attribute is removed if not specified.
|
|
@@ -372,7 +372,7 @@ export default class Element extends Node {
|
|
|
372
372
|
* element._addClass( [ 'foo', 'bar' ] ); // Adds 'foo' and 'bar' classes.
|
|
373
373
|
* ```
|
|
374
374
|
*
|
|
375
|
-
* @see module:engine/view/downcastwriter~
|
|
375
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#addClass
|
|
376
376
|
* @internal
|
|
377
377
|
* @fires change
|
|
378
378
|
*/
|
|
@@ -385,7 +385,7 @@ export default class Element extends Node {
|
|
|
385
385
|
* element._removeClass( [ 'foo', 'bar' ] ); // Removes both 'foo' and 'bar' classes.
|
|
386
386
|
* ```
|
|
387
387
|
*
|
|
388
|
-
* @see module:engine/view/downcastwriter~
|
|
388
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#removeClass
|
|
389
389
|
* @internal
|
|
390
390
|
* @fires change
|
|
391
391
|
*/
|
|
@@ -401,7 +401,7 @@ export default class Element extends Node {
|
|
|
401
401
|
* {@link module:engine/controller/datacontroller~DataController#addStyleProcessorRules a particular style processor rule is enabled}.
|
|
402
402
|
* See {@link module:engine/view/stylesmap~StylesMap#set `StylesMap#set()`} for details.
|
|
403
403
|
*
|
|
404
|
-
* @see module:engine/view/downcastwriter~
|
|
404
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#setStyle
|
|
405
405
|
* @label KEY_VALUE
|
|
406
406
|
* @internal
|
|
407
407
|
* @param property Property name.
|
|
@@ -423,7 +423,7 @@ export default class Element extends Node {
|
|
|
423
423
|
* {@link module:engine/controller/datacontroller~DataController#addStyleProcessorRules a particular style processor rule is enabled}.
|
|
424
424
|
* See {@link module:engine/view/stylesmap~StylesMap#set `StylesMap#set()`} for details.
|
|
425
425
|
*
|
|
426
|
-
* @see module:engine/view/downcastwriter~
|
|
426
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#setStyle
|
|
427
427
|
* @label OBJECT
|
|
428
428
|
* @internal
|
|
429
429
|
* @param properties Object with key - value pairs.
|
|
@@ -442,7 +442,7 @@ export default class Element extends Node {
|
|
|
442
442
|
* {@link module:engine/controller/datacontroller~DataController#addStyleProcessorRules a particular style processor rule is enabled}.
|
|
443
443
|
* See {@link module:engine/view/stylesmap~StylesMap#remove `StylesMap#remove()`} for details.
|
|
444
444
|
*
|
|
445
|
-
* @see module:engine/view/downcastwriter~
|
|
445
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#removeStyle
|
|
446
446
|
* @internal
|
|
447
447
|
* @fires change
|
|
448
448
|
*/
|
|
@@ -533,7 +533,7 @@ export default class Element extends Node {
|
|
|
533
533
|
_collectAttributesMatch(patterns: Array<NormalizedPropertyPattern>, match: Array<[string, string?]>, exclude?: Array<string>): boolean;
|
|
534
534
|
/**
|
|
535
535
|
* Used by the {@link module:engine/conversion/viewconsumable~ViewConsumable} to collect the
|
|
536
|
-
* {@link module:engine/view/element~
|
|
536
|
+
* {@link module:engine/view/element~ViewNormalizedConsumables} for the element.
|
|
537
537
|
*
|
|
538
538
|
* When `key` and `token` parameters are provided the output is filtered for the specified attribute and it's tokens and related tokens.
|
|
539
539
|
*
|
|
@@ -541,43 +541,43 @@ export default class Element extends Node {
|
|
|
541
541
|
* @param key Attribute name.
|
|
542
542
|
* @param token Reference token to collect all related tokens.
|
|
543
543
|
*/
|
|
544
|
-
_getConsumables(key?: string, token?: string):
|
|
544
|
+
_getConsumables(key?: string, token?: string): ViewNormalizedConsumables;
|
|
545
545
|
/**
|
|
546
546
|
* Verify if the given element can be merged without conflicts into the element.
|
|
547
547
|
*
|
|
548
|
-
* Note that this method is extended by the {@link module:engine/view/attributeelement~
|
|
548
|
+
* Note that this method is extended by the {@link module:engine/view/attributeelement~ViewAttributeElement} implementation.
|
|
549
549
|
*
|
|
550
|
-
* This method is used by the {@link module:engine/view/downcastwriter~
|
|
551
|
-
* an {@link module:engine/view/attributeelement~
|
|
550
|
+
* This method is used by the {@link module:engine/view/downcastwriter~ViewDowncastWriter} while down-casting
|
|
551
|
+
* an {@link module:engine/view/attributeelement~ViewAttributeElement} to merge it with other ViewAttributeElement.
|
|
552
552
|
*
|
|
553
553
|
* @internal
|
|
554
554
|
* @returns Returns `true` if elements can be merged.
|
|
555
555
|
*/
|
|
556
|
-
_canMergeAttributesFrom(otherElement:
|
|
556
|
+
_canMergeAttributesFrom(otherElement: ViewElement): boolean;
|
|
557
557
|
/**
|
|
558
558
|
* Merges attributes of a given element into the element.
|
|
559
559
|
* This includes also tokenized attributes like style and class.
|
|
560
560
|
*
|
|
561
561
|
* Note that you should make sure there are no conflicts before merging (see {@link #_canMergeAttributesFrom}).
|
|
562
562
|
*
|
|
563
|
-
* This method is used by the {@link module:engine/view/downcastwriter~
|
|
564
|
-
* an {@link module:engine/view/attributeelement~
|
|
563
|
+
* This method is used by the {@link module:engine/view/downcastwriter~ViewDowncastWriter} while down-casting
|
|
564
|
+
* an {@link module:engine/view/attributeelement~ViewAttributeElement} to merge it with other ViewAttributeElement.
|
|
565
565
|
*
|
|
566
566
|
* @internal
|
|
567
567
|
*/
|
|
568
|
-
_mergeAttributesFrom(otherElement:
|
|
568
|
+
_mergeAttributesFrom(otherElement: ViewElement): void;
|
|
569
569
|
/**
|
|
570
570
|
* Verify if the given element attributes can be fully subtracted from the element.
|
|
571
571
|
*
|
|
572
|
-
* Note that this method is extended by the {@link module:engine/view/attributeelement~
|
|
572
|
+
* Note that this method is extended by the {@link module:engine/view/attributeelement~ViewAttributeElement} implementation.
|
|
573
573
|
*
|
|
574
|
-
* This method is used by the {@link module:engine/view/downcastwriter~
|
|
575
|
-
* an {@link module:engine/view/attributeelement~
|
|
574
|
+
* This method is used by the {@link module:engine/view/downcastwriter~ViewDowncastWriter} while down-casting
|
|
575
|
+
* an {@link module:engine/view/attributeelement~ViewAttributeElement} to unwrap the ViewAttributeElement.
|
|
576
576
|
*
|
|
577
577
|
* @internal
|
|
578
578
|
* @returns Returns `true` if elements attributes can be fully subtracted.
|
|
579
579
|
*/
|
|
580
|
-
_canSubtractAttributesOf(otherElement:
|
|
580
|
+
_canSubtractAttributesOf(otherElement: ViewElement): boolean;
|
|
581
581
|
/**
|
|
582
582
|
* Removes (subtracts) corresponding attributes of the given element from the element.
|
|
583
583
|
* This includes also tokenized attributes like style and class.
|
|
@@ -585,24 +585,24 @@ export default class Element extends Node {
|
|
|
585
585
|
*
|
|
586
586
|
* Note that you should make sure all attributes could be subtracted before subtracting them (see {@link #_canSubtractAttributesOf}).
|
|
587
587
|
*
|
|
588
|
-
* This method is used by the {@link module:engine/view/downcastwriter~
|
|
589
|
-
* an {@link module:engine/view/attributeelement~
|
|
588
|
+
* This method is used by the {@link module:engine/view/downcastwriter~ViewDowncastWriter} while down-casting
|
|
589
|
+
* an {@link module:engine/view/attributeelement~ViewAttributeElement} to unwrap the ViewAttributeElement.
|
|
590
590
|
*
|
|
591
591
|
* @internal
|
|
592
592
|
*/
|
|
593
|
-
_subtractAttributesOf(otherElement:
|
|
593
|
+
_subtractAttributesOf(otherElement: ViewElement): void;
|
|
594
594
|
/**
|
|
595
595
|
* Sets a custom property. Unlike attributes, custom properties are not rendered to the DOM,
|
|
596
596
|
* so they can be used to add special data to elements.
|
|
597
597
|
*
|
|
598
|
-
* @see module:engine/view/downcastwriter~
|
|
598
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#setCustomProperty
|
|
599
599
|
* @internal
|
|
600
600
|
*/
|
|
601
601
|
_setCustomProperty(key: string | symbol, value: unknown): void;
|
|
602
602
|
/**
|
|
603
603
|
* Removes the custom property stored under the given key.
|
|
604
604
|
*
|
|
605
|
-
* @see module:engine/view/downcastwriter~
|
|
605
|
+
* @see module:engine/view/downcastwriter~ViewDowncastWriter#removeCustomProperty
|
|
606
606
|
* @internal
|
|
607
607
|
* @returns Returns true if property was removed.
|
|
608
608
|
*/
|
|
@@ -622,9 +622,9 @@ export default class Element extends Node {
|
|
|
622
622
|
getFillerOffset?(): number | null;
|
|
623
623
|
}
|
|
624
624
|
/**
|
|
625
|
-
* Common interface for a {@link module:engine/view/tokenlist~
|
|
625
|
+
* Common interface for a {@link module:engine/view/tokenlist~ViewTokenList} and {@link module:engine/view/stylesmap~StylesMap}.
|
|
626
626
|
*/
|
|
627
|
-
export interface
|
|
627
|
+
export interface ViewElementAttributeValue {
|
|
628
628
|
/**
|
|
629
629
|
* Returns `true` if attribute has no value set.
|
|
630
630
|
*/
|
|
@@ -689,31 +689,32 @@ export interface ElementAttributeValue {
|
|
|
689
689
|
*/
|
|
690
690
|
_getConsumables(name?: string): Array<string>;
|
|
691
691
|
/**
|
|
692
|
-
* Used by {@link ~
|
|
692
|
+
* Used by {@link ~ViewElement#_canMergeAttributesFrom} to verify if the given attribute can be merged without
|
|
693
|
+
* conflicts into the attribute.
|
|
693
694
|
*
|
|
694
|
-
* This method is indirectly used by the {@link module:engine/view/downcastwriter~
|
|
695
|
-
* an {@link module:engine/view/attributeelement~
|
|
695
|
+
* This method is indirectly used by the {@link module:engine/view/downcastwriter~ViewDowncastWriter} while down-casting
|
|
696
|
+
* an {@link module:engine/view/attributeelement~ViewAttributeElement} to merge it with other ViewAttributeElement.
|
|
696
697
|
*/
|
|
697
698
|
_canMergeFrom(other: this): boolean;
|
|
698
699
|
/**
|
|
699
|
-
* Used by {@link ~
|
|
700
|
+
* Used by {@link ~ViewElement#_mergeAttributesFrom} to merge a given attribute into the attribute.
|
|
700
701
|
*
|
|
701
|
-
* This method is indirectly used by the {@link module:engine/view/downcastwriter~
|
|
702
|
-
* an {@link module:engine/view/attributeelement~
|
|
702
|
+
* This method is indirectly used by the {@link module:engine/view/downcastwriter~ViewDowncastWriter} while down-casting
|
|
703
|
+
* an {@link module:engine/view/attributeelement~ViewAttributeElement} to merge it with other ViewAttributeElement.
|
|
703
704
|
*/
|
|
704
705
|
_mergeFrom(other: this): void;
|
|
705
706
|
/**
|
|
706
|
-
* Used by {@link ~
|
|
707
|
+
* Used by {@link ~ViewElement#_canSubtractAttributesOf} to verify if the given attribute can be fully subtracted from the attribute.
|
|
707
708
|
*
|
|
708
|
-
* This method is indirectly used by the {@link module:engine/view/downcastwriter~
|
|
709
|
-
* an {@link module:engine/view/attributeelement~
|
|
709
|
+
* This method is indirectly used by the {@link module:engine/view/downcastwriter~ViewDowncastWriter} while down-casting
|
|
710
|
+
* an {@link module:engine/view/attributeelement~ViewAttributeElement} to unwrap the ViewAttributeElement.
|
|
710
711
|
*/
|
|
711
712
|
_isMatching(other: this): boolean;
|
|
712
713
|
}
|
|
713
714
|
/**
|
|
714
715
|
* Collection of attributes.
|
|
715
716
|
*/
|
|
716
|
-
export type
|
|
717
|
+
export type ViewElementAttributes = Record<string, unknown> | Iterable<[string, unknown]> | null;
|
|
717
718
|
/**
|
|
718
719
|
* Object describing all features of a view element that could be consumed and converted individually.
|
|
719
720
|
* This is a normalized form of {@link module:engine/conversion/viewconsumable~Consumables} generated from the view Element.
|
|
@@ -724,7 +725,7 @@ export type ElementAttributes = Record<string, unknown> | Iterable<[string, unkn
|
|
|
724
725
|
* <a class="foo bar" style="color: red; margin: 5px" href="https://ckeditor.com" rel="nofollow noreferrer" target="_blank">
|
|
725
726
|
* ```
|
|
726
727
|
*
|
|
727
|
-
* The `
|
|
728
|
+
* The `ViewNormalizedConsumables` would include:
|
|
728
729
|
*
|
|
729
730
|
* ```json
|
|
730
731
|
* {
|
|
@@ -746,7 +747,7 @@ export type ElementAttributes = Record<string, unknown> | Iterable<[string, unkn
|
|
|
746
747
|
* }
|
|
747
748
|
* ```
|
|
748
749
|
*/
|
|
749
|
-
export interface
|
|
750
|
+
export interface ViewNormalizedConsumables {
|
|
750
751
|
/**
|
|
751
752
|
* If set to `true` element's name will be included in a consumable.
|
|
752
753
|
* Depending on the usage context it would be added as consumable, tested for being available for consume or consumed.
|