@ckeditor/ckeditor5-engine 40.0.0 → 40.1.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/LICENSE.md +3 -3
- package/package.json +2 -2
- package/src/controller/datacontroller.d.ts +334 -334
- package/src/controller/datacontroller.js +481 -481
- package/src/controller/editingcontroller.d.ts +98 -98
- package/src/controller/editingcontroller.js +191 -191
- package/src/conversion/conversion.d.ts +478 -478
- package/src/conversion/conversion.js +601 -601
- package/src/conversion/conversionhelpers.d.ts +26 -26
- package/src/conversion/conversionhelpers.js +32 -32
- package/src/conversion/downcastdispatcher.d.ts +562 -562
- package/src/conversion/downcastdispatcher.js +547 -547
- package/src/conversion/downcasthelpers.d.ts +1226 -1226
- package/src/conversion/downcasthelpers.js +2178 -2183
- package/src/conversion/mapper.d.ts +503 -503
- package/src/conversion/mapper.js +536 -536
- package/src/conversion/modelconsumable.d.ts +201 -201
- package/src/conversion/modelconsumable.js +333 -333
- package/src/conversion/upcastdispatcher.d.ts +492 -492
- package/src/conversion/upcastdispatcher.js +460 -460
- package/src/conversion/upcasthelpers.d.ts +499 -499
- package/src/conversion/upcasthelpers.js +950 -950
- package/src/conversion/viewconsumable.d.ts +369 -369
- package/src/conversion/viewconsumable.js +536 -532
- package/src/dataprocessor/basichtmlwriter.d.ts +18 -18
- package/src/dataprocessor/basichtmlwriter.js +20 -19
- package/src/dataprocessor/dataprocessor.d.ts +61 -61
- package/src/dataprocessor/dataprocessor.js +5 -5
- package/src/dataprocessor/htmldataprocessor.d.ts +76 -76
- package/src/dataprocessor/htmldataprocessor.js +96 -96
- package/src/dataprocessor/htmlwriter.d.ts +16 -16
- package/src/dataprocessor/htmlwriter.js +5 -5
- package/src/dataprocessor/xmldataprocessor.d.ts +90 -90
- package/src/dataprocessor/xmldataprocessor.js +108 -108
- package/src/dev-utils/model.d.ts +124 -124
- package/src/dev-utils/model.js +395 -395
- package/src/dev-utils/operationreplayer.d.ts +51 -51
- package/src/dev-utils/operationreplayer.js +112 -112
- package/src/dev-utils/utils.d.ts +37 -37
- package/src/dev-utils/utils.js +73 -73
- package/src/dev-utils/view.d.ts +319 -319
- package/src/dev-utils/view.js +967 -967
- package/src/index.d.ts +114 -114
- package/src/index.js +78 -78
- package/src/model/batch.d.ts +106 -106
- package/src/model/batch.js +96 -96
- package/src/model/differ.d.ts +387 -387
- package/src/model/differ.js +1149 -1149
- package/src/model/document.d.ts +272 -272
- package/src/model/document.js +360 -361
- package/src/model/documentfragment.d.ts +200 -200
- package/src/model/documentfragment.js +306 -306
- package/src/model/documentselection.d.ts +420 -420
- package/src/model/documentselection.js +993 -993
- package/src/model/element.d.ts +165 -165
- package/src/model/element.js +281 -281
- package/src/model/history.d.ts +114 -114
- package/src/model/history.js +207 -207
- package/src/model/item.d.ts +14 -14
- package/src/model/item.js +5 -5
- package/src/model/liveposition.d.ts +77 -77
- package/src/model/liveposition.js +93 -93
- package/src/model/liverange.d.ts +102 -102
- package/src/model/liverange.js +120 -120
- package/src/model/markercollection.d.ts +335 -335
- package/src/model/markercollection.js +403 -403
- package/src/model/model.d.ts +919 -919
- package/src/model/model.js +842 -842
- package/src/model/node.d.ts +256 -256
- package/src/model/node.js +375 -375
- package/src/model/nodelist.d.ts +91 -91
- package/src/model/nodelist.js +163 -163
- package/src/model/operation/attributeoperation.d.ts +103 -103
- package/src/model/operation/attributeoperation.js +148 -148
- package/src/model/operation/detachoperation.d.ts +60 -60
- package/src/model/operation/detachoperation.js +77 -77
- package/src/model/operation/insertoperation.d.ts +90 -90
- package/src/model/operation/insertoperation.js +135 -135
- package/src/model/operation/markeroperation.d.ts +91 -91
- package/src/model/operation/markeroperation.js +107 -107
- package/src/model/operation/mergeoperation.d.ts +100 -100
- package/src/model/operation/mergeoperation.js +167 -167
- package/src/model/operation/moveoperation.d.ts +96 -96
- package/src/model/operation/moveoperation.js +164 -164
- package/src/model/operation/nooperation.d.ts +38 -38
- package/src/model/operation/nooperation.js +48 -48
- package/src/model/operation/operation.d.ts +96 -96
- package/src/model/operation/operation.js +59 -62
- package/src/model/operation/operationfactory.d.ts +18 -18
- package/src/model/operation/operationfactory.js +44 -44
- package/src/model/operation/renameoperation.d.ts +83 -83
- package/src/model/operation/renameoperation.js +115 -115
- package/src/model/operation/rootattributeoperation.d.ts +98 -98
- package/src/model/operation/rootattributeoperation.js +155 -155
- package/src/model/operation/rootoperation.d.ts +76 -76
- package/src/model/operation/rootoperation.js +90 -90
- package/src/model/operation/splitoperation.d.ts +109 -109
- package/src/model/operation/splitoperation.js +194 -194
- package/src/model/operation/transform.d.ts +100 -100
- package/src/model/operation/transform.js +1985 -1985
- package/src/model/operation/utils.d.ts +71 -71
- package/src/model/operation/utils.js +217 -213
- package/src/model/position.d.ts +539 -539
- package/src/model/position.js +979 -979
- package/src/model/range.d.ts +458 -458
- package/src/model/range.js +875 -875
- package/src/model/rootelement.d.ts +60 -60
- package/src/model/rootelement.js +74 -74
- package/src/model/schema.d.ts +1186 -1186
- package/src/model/schema.js +1242 -1242
- package/src/model/selection.d.ts +482 -482
- package/src/model/selection.js +789 -789
- package/src/model/text.d.ts +66 -66
- package/src/model/text.js +85 -85
- package/src/model/textproxy.d.ts +144 -144
- package/src/model/textproxy.js +189 -189
- package/src/model/treewalker.d.ts +186 -186
- package/src/model/treewalker.js +244 -244
- package/src/model/typecheckable.d.ts +285 -285
- package/src/model/typecheckable.js +16 -16
- package/src/model/utils/autoparagraphing.d.ts +37 -37
- package/src/model/utils/autoparagraphing.js +63 -63
- package/src/model/utils/deletecontent.d.ts +58 -58
- package/src/model/utils/deletecontent.js +488 -488
- package/src/model/utils/findoptimalinsertionrange.d.ts +32 -32
- package/src/model/utils/findoptimalinsertionrange.js +57 -57
- package/src/model/utils/getselectedcontent.d.ts +30 -30
- package/src/model/utils/getselectedcontent.js +125 -125
- package/src/model/utils/insertcontent.d.ts +46 -46
- package/src/model/utils/insertcontent.js +705 -705
- package/src/model/utils/insertobject.d.ts +44 -44
- package/src/model/utils/insertobject.js +139 -139
- package/src/model/utils/modifyselection.d.ts +48 -48
- package/src/model/utils/modifyselection.js +186 -186
- package/src/model/utils/selection-post-fixer.d.ts +74 -74
- package/src/model/utils/selection-post-fixer.js +260 -260
- package/src/model/writer.d.ts +851 -851
- package/src/model/writer.js +1306 -1306
- package/src/view/attributeelement.d.ts +108 -108
- package/src/view/attributeelement.js +184 -184
- package/src/view/containerelement.d.ts +49 -49
- package/src/view/containerelement.js +80 -80
- package/src/view/datatransfer.d.ts +79 -79
- package/src/view/datatransfer.js +98 -98
- package/src/view/document.d.ts +184 -184
- package/src/view/document.js +122 -120
- package/src/view/documentfragment.d.ts +153 -149
- package/src/view/documentfragment.js +234 -228
- package/src/view/documentselection.d.ts +306 -306
- package/src/view/documentselection.js +256 -256
- package/src/view/domconverter.d.ts +652 -640
- package/src/view/domconverter.js +1473 -1450
- package/src/view/downcastwriter.d.ts +996 -996
- package/src/view/downcastwriter.js +1696 -1696
- package/src/view/editableelement.d.ts +62 -62
- package/src/view/editableelement.js +62 -62
- package/src/view/element.d.ts +468 -468
- package/src/view/element.js +724 -724
- package/src/view/elementdefinition.d.ts +87 -87
- package/src/view/elementdefinition.js +5 -5
- package/src/view/emptyelement.d.ts +41 -41
- package/src/view/emptyelement.js +73 -73
- package/src/view/filler.d.ts +111 -111
- package/src/view/filler.js +150 -150
- package/src/view/item.d.ts +14 -14
- package/src/view/item.js +5 -5
- package/src/view/matcher.d.ts +486 -486
- package/src/view/matcher.js +507 -507
- package/src/view/node.d.ts +163 -163
- package/src/view/node.js +228 -228
- package/src/view/observer/arrowkeysobserver.d.ts +45 -45
- package/src/view/observer/arrowkeysobserver.js +40 -40
- package/src/view/observer/bubblingemittermixin.d.ts +166 -166
- package/src/view/observer/bubblingemittermixin.js +172 -172
- package/src/view/observer/bubblingeventinfo.d.ts +47 -47
- package/src/view/observer/bubblingeventinfo.js +37 -37
- package/src/view/observer/clickobserver.d.ts +43 -43
- package/src/view/observer/clickobserver.js +29 -29
- package/src/view/observer/compositionobserver.d.ts +82 -82
- package/src/view/observer/compositionobserver.js +60 -60
- package/src/view/observer/domeventdata.d.ts +50 -50
- package/src/view/observer/domeventdata.js +47 -47
- package/src/view/observer/domeventobserver.d.ts +73 -73
- package/src/view/observer/domeventobserver.js +79 -79
- package/src/view/observer/fakeselectionobserver.d.ts +47 -47
- package/src/view/observer/fakeselectionobserver.js +91 -91
- package/src/view/observer/focusobserver.d.ts +82 -82
- package/src/view/observer/focusobserver.js +86 -86
- package/src/view/observer/inputobserver.d.ts +86 -86
- package/src/view/observer/inputobserver.js +164 -164
- package/src/view/observer/keyobserver.d.ts +66 -66
- package/src/view/observer/keyobserver.js +39 -39
- package/src/view/observer/mouseobserver.d.ts +89 -89
- package/src/view/observer/mouseobserver.js +29 -29
- package/src/view/observer/mutationobserver.d.ts +86 -86
- package/src/view/observer/mutationobserver.js +206 -206
- package/src/view/observer/observer.d.ts +89 -89
- package/src/view/observer/observer.js +84 -84
- package/src/view/observer/selectionobserver.d.ts +148 -148
- package/src/view/observer/selectionobserver.js +202 -202
- package/src/view/observer/tabobserver.d.ts +46 -46
- package/src/view/observer/tabobserver.js +42 -42
- package/src/view/placeholder.d.ts +96 -96
- package/src/view/placeholder.js +267 -267
- package/src/view/position.d.ts +189 -189
- package/src/view/position.js +324 -324
- package/src/view/range.d.ts +279 -279
- package/src/view/range.js +430 -430
- package/src/view/rawelement.d.ts +73 -73
- package/src/view/rawelement.js +105 -105
- package/src/view/renderer.d.ts +265 -265
- package/src/view/renderer.js +1000 -999
- package/src/view/rooteditableelement.d.ts +41 -41
- package/src/view/rooteditableelement.js +69 -69
- package/src/view/selection.d.ts +375 -375
- package/src/view/selection.js +559 -559
- package/src/view/styles/background.d.ts +33 -33
- package/src/view/styles/background.js +74 -74
- package/src/view/styles/border.d.ts +43 -43
- package/src/view/styles/border.js +316 -316
- package/src/view/styles/margin.d.ts +29 -29
- package/src/view/styles/margin.js +34 -34
- package/src/view/styles/padding.d.ts +29 -29
- package/src/view/styles/padding.js +34 -34
- package/src/view/styles/utils.d.ts +93 -93
- package/src/view/styles/utils.js +219 -219
- package/src/view/stylesmap.d.ts +675 -675
- package/src/view/stylesmap.js +765 -766
- package/src/view/text.d.ts +74 -74
- package/src/view/text.js +93 -93
- package/src/view/textproxy.d.ts +97 -97
- package/src/view/textproxy.js +124 -124
- package/src/view/treewalker.d.ts +195 -195
- package/src/view/treewalker.js +327 -327
- package/src/view/typecheckable.d.ts +448 -448
- package/src/view/typecheckable.js +19 -19
- package/src/view/uielement.d.ts +96 -96
- package/src/view/uielement.js +183 -182
- package/src/view/upcastwriter.d.ts +417 -417
- package/src/view/upcastwriter.js +359 -359
- package/src/view/view.d.ts +487 -487
- package/src/view/view.js +546 -546
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module engine/model/operation/renameoperation
|
|
7
|
-
*/
|
|
8
|
-
import Operation from './operation';
|
|
9
|
-
import Element from '../element';
|
|
10
|
-
import Position from '../position';
|
|
11
|
-
import { CKEditorError } from '@ckeditor/ckeditor5-utils';
|
|
12
|
-
/**
|
|
13
|
-
* Operation to change element's name.
|
|
14
|
-
*
|
|
15
|
-
* Using this class you can change element's name.
|
|
16
|
-
*/
|
|
17
|
-
export default class RenameOperation extends Operation {
|
|
18
|
-
/**
|
|
19
|
-
* Creates an operation that changes element's name.
|
|
20
|
-
*
|
|
21
|
-
* @param position Position before an element to change.
|
|
22
|
-
* @param oldName Current name of the element.
|
|
23
|
-
* @param newName New name for the element.
|
|
24
|
-
* @param baseVersion Document {@link module:engine/model/document~Document#version} on which operation
|
|
25
|
-
* can be applied or `null` if the operation operates on detached (non-document) tree.
|
|
26
|
-
*/
|
|
27
|
-
constructor(position, oldName, newName, baseVersion) {
|
|
28
|
-
super(baseVersion);
|
|
29
|
-
this.position = position;
|
|
30
|
-
// This position sticks to the next node because it is a position before the node that we want to change.
|
|
31
|
-
this.position.stickiness = 'toNext';
|
|
32
|
-
this.oldName = oldName;
|
|
33
|
-
this.newName = newName;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @inheritDoc
|
|
37
|
-
*/
|
|
38
|
-
get type() {
|
|
39
|
-
return 'rename';
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* @inheritDoc
|
|
43
|
-
*/
|
|
44
|
-
get affectedSelectable() {
|
|
45
|
-
return this.position.nodeAfter;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Creates and returns an operation that has the same parameters as this operation.
|
|
49
|
-
*
|
|
50
|
-
* @returns Clone of this operation.
|
|
51
|
-
*/
|
|
52
|
-
clone() {
|
|
53
|
-
return new RenameOperation(this.position.clone(), this.oldName, this.newName, this.baseVersion);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* See {@link module:engine/model/operation/operation~Operation#getReversed `Operation#getReversed()`}.
|
|
57
|
-
*/
|
|
58
|
-
getReversed() {
|
|
59
|
-
return new RenameOperation(this.position.clone(), this.newName, this.oldName, this.baseVersion + 1);
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* @inheritDoc
|
|
63
|
-
* @internal
|
|
64
|
-
*/
|
|
65
|
-
_validate() {
|
|
66
|
-
const element = this.position.nodeAfter;
|
|
67
|
-
if (!(element instanceof Element)) {
|
|
68
|
-
/**
|
|
69
|
-
* Given position is invalid or node after it is not instance of Element.
|
|
70
|
-
*
|
|
71
|
-
* @error rename-operation-wrong-position
|
|
72
|
-
*/
|
|
73
|
-
throw new CKEditorError('rename-operation-wrong-position', this);
|
|
74
|
-
}
|
|
75
|
-
else if (element.name !== this.oldName) {
|
|
76
|
-
/**
|
|
77
|
-
* Element to change has different name than operation's old name.
|
|
78
|
-
*
|
|
79
|
-
* @error rename-operation-wrong-name
|
|
80
|
-
*/
|
|
81
|
-
throw new CKEditorError('rename-operation-wrong-name', this);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* @inheritDoc
|
|
86
|
-
* @internal
|
|
87
|
-
*/
|
|
88
|
-
_execute() {
|
|
89
|
-
const element = this.position.nodeAfter;
|
|
90
|
-
element.name = this.newName;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* @inheritDoc
|
|
94
|
-
*/
|
|
95
|
-
toJSON() {
|
|
96
|
-
const json = super.toJSON();
|
|
97
|
-
json.position = this.position.toJSON();
|
|
98
|
-
return json;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* @inheritDoc
|
|
102
|
-
*/
|
|
103
|
-
static get className() {
|
|
104
|
-
return 'RenameOperation';
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Creates `RenameOperation` object from deserialized object, i.e. from parsed JSON string.
|
|
108
|
-
*
|
|
109
|
-
* @param json Deserialized JSON object.
|
|
110
|
-
* @param document Document on which this operation will be applied.
|
|
111
|
-
*/
|
|
112
|
-
static fromJSON(json, document) {
|
|
113
|
-
return new RenameOperation(Position.fromJSON(json.position, document), json.oldName, json.newName, json.baseVersion);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module engine/model/operation/renameoperation
|
|
7
|
+
*/
|
|
8
|
+
import Operation from './operation';
|
|
9
|
+
import Element from '../element';
|
|
10
|
+
import Position from '../position';
|
|
11
|
+
import { CKEditorError } from '@ckeditor/ckeditor5-utils';
|
|
12
|
+
/**
|
|
13
|
+
* Operation to change element's name.
|
|
14
|
+
*
|
|
15
|
+
* Using this class you can change element's name.
|
|
16
|
+
*/
|
|
17
|
+
export default class RenameOperation extends Operation {
|
|
18
|
+
/**
|
|
19
|
+
* Creates an operation that changes element's name.
|
|
20
|
+
*
|
|
21
|
+
* @param position Position before an element to change.
|
|
22
|
+
* @param oldName Current name of the element.
|
|
23
|
+
* @param newName New name for the element.
|
|
24
|
+
* @param baseVersion Document {@link module:engine/model/document~Document#version} on which operation
|
|
25
|
+
* can be applied or `null` if the operation operates on detached (non-document) tree.
|
|
26
|
+
*/
|
|
27
|
+
constructor(position, oldName, newName, baseVersion) {
|
|
28
|
+
super(baseVersion);
|
|
29
|
+
this.position = position;
|
|
30
|
+
// This position sticks to the next node because it is a position before the node that we want to change.
|
|
31
|
+
this.position.stickiness = 'toNext';
|
|
32
|
+
this.oldName = oldName;
|
|
33
|
+
this.newName = newName;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @inheritDoc
|
|
37
|
+
*/
|
|
38
|
+
get type() {
|
|
39
|
+
return 'rename';
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @inheritDoc
|
|
43
|
+
*/
|
|
44
|
+
get affectedSelectable() {
|
|
45
|
+
return this.position.nodeAfter;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Creates and returns an operation that has the same parameters as this operation.
|
|
49
|
+
*
|
|
50
|
+
* @returns Clone of this operation.
|
|
51
|
+
*/
|
|
52
|
+
clone() {
|
|
53
|
+
return new RenameOperation(this.position.clone(), this.oldName, this.newName, this.baseVersion);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* See {@link module:engine/model/operation/operation~Operation#getReversed `Operation#getReversed()`}.
|
|
57
|
+
*/
|
|
58
|
+
getReversed() {
|
|
59
|
+
return new RenameOperation(this.position.clone(), this.newName, this.oldName, this.baseVersion + 1);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @inheritDoc
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
_validate() {
|
|
66
|
+
const element = this.position.nodeAfter;
|
|
67
|
+
if (!(element instanceof Element)) {
|
|
68
|
+
/**
|
|
69
|
+
* Given position is invalid or node after it is not instance of Element.
|
|
70
|
+
*
|
|
71
|
+
* @error rename-operation-wrong-position
|
|
72
|
+
*/
|
|
73
|
+
throw new CKEditorError('rename-operation-wrong-position', this);
|
|
74
|
+
}
|
|
75
|
+
else if (element.name !== this.oldName) {
|
|
76
|
+
/**
|
|
77
|
+
* Element to change has different name than operation's old name.
|
|
78
|
+
*
|
|
79
|
+
* @error rename-operation-wrong-name
|
|
80
|
+
*/
|
|
81
|
+
throw new CKEditorError('rename-operation-wrong-name', this);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* @inheritDoc
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
_execute() {
|
|
89
|
+
const element = this.position.nodeAfter;
|
|
90
|
+
element.name = this.newName;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @inheritDoc
|
|
94
|
+
*/
|
|
95
|
+
toJSON() {
|
|
96
|
+
const json = super.toJSON();
|
|
97
|
+
json.position = this.position.toJSON();
|
|
98
|
+
return json;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* @inheritDoc
|
|
102
|
+
*/
|
|
103
|
+
static get className() {
|
|
104
|
+
return 'RenameOperation';
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Creates `RenameOperation` object from deserialized object, i.e. from parsed JSON string.
|
|
108
|
+
*
|
|
109
|
+
* @param json Deserialized JSON object.
|
|
110
|
+
* @param document Document on which this operation will be applied.
|
|
111
|
+
*/
|
|
112
|
+
static fromJSON(json, document) {
|
|
113
|
+
return new RenameOperation(Position.fromJSON(json.position, document), json.oldName, json.newName, json.baseVersion);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
-
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* @module engine/model/operation/rootattributeoperation
|
|
7
|
-
*/
|
|
8
|
-
import Operation from './operation';
|
|
9
|
-
import type Document from '../document';
|
|
10
|
-
import type RootElement from '../rootelement';
|
|
11
|
-
import type { Selectable } from '../selection';
|
|
12
|
-
/**
|
|
13
|
-
* Operation to change root element's attribute. Using this class you can add, remove or change value of the attribute.
|
|
14
|
-
*
|
|
15
|
-
* This operation is needed, because root elements can't be changed through
|
|
16
|
-
* {@link module:engine/model/operation/attributeoperation~AttributeOperation}.
|
|
17
|
-
* It is because {@link module:engine/model/operation/attributeoperation~AttributeOperation}
|
|
18
|
-
* requires a range to change and root element can't
|
|
19
|
-
* be a part of range because every {@link module:engine/model/position~Position} has to be inside a root.
|
|
20
|
-
* {@link module:engine/model/position~Position} can't be created before a root element.
|
|
21
|
-
*/
|
|
22
|
-
export default class RootAttributeOperation extends Operation {
|
|
23
|
-
/**
|
|
24
|
-
* Root element to change.
|
|
25
|
-
*/
|
|
26
|
-
readonly root: RootElement;
|
|
27
|
-
/**
|
|
28
|
-
* Key of an attribute to change or remove.
|
|
29
|
-
*/
|
|
30
|
-
readonly key: string;
|
|
31
|
-
/**
|
|
32
|
-
* Old value of the attribute with given key or `null`, if attribute was not set before.
|
|
33
|
-
*
|
|
34
|
-
* @readonly
|
|
35
|
-
*/
|
|
36
|
-
oldValue: unknown;
|
|
37
|
-
/**
|
|
38
|
-
* New value of the attribute with given key or `null`, if operation should remove attribute.
|
|
39
|
-
*
|
|
40
|
-
* @readonly
|
|
41
|
-
*/
|
|
42
|
-
newValue: unknown;
|
|
43
|
-
/**
|
|
44
|
-
* Creates an operation that changes, removes or adds attributes on root element.
|
|
45
|
-
*
|
|
46
|
-
* @see module:engine/model/operation/attributeoperation~AttributeOperation
|
|
47
|
-
* @param root Root element to change.
|
|
48
|
-
* @param key Key of an attribute to change or remove.
|
|
49
|
-
* @param oldValue Old value of the attribute with given key or `null`, if attribute was not set before.
|
|
50
|
-
* @param newValue New value of the attribute with given key or `null`, if operation should remove attribute.
|
|
51
|
-
* @param baseVersion Document {@link module:engine/model/document~Document#version} on which operation
|
|
52
|
-
* can be applied or `null` if the operation operates on detached (non-document) tree.
|
|
53
|
-
*/
|
|
54
|
-
constructor(root: RootElement, key: string, oldValue: unknown, newValue: unknown, baseVersion: number | null);
|
|
55
|
-
/**
|
|
56
|
-
* @inheritDoc
|
|
57
|
-
*/
|
|
58
|
-
get type(): 'addRootAttribute' | 'removeRootAttribute' | 'changeRootAttribute';
|
|
59
|
-
/**
|
|
60
|
-
* @inheritDoc
|
|
61
|
-
*/
|
|
62
|
-
get affectedSelectable(): Selectable;
|
|
63
|
-
/**
|
|
64
|
-
* Creates and returns an operation that has the same parameters as this operation.
|
|
65
|
-
*
|
|
66
|
-
* @returns Clone of this operation.
|
|
67
|
-
*/
|
|
68
|
-
clone(): RootAttributeOperation;
|
|
69
|
-
/**
|
|
70
|
-
* See {@link module:engine/model/operation/operation~Operation#getReversed `Operation#getReversed()`}.
|
|
71
|
-
*/
|
|
72
|
-
getReversed(): Operation;
|
|
73
|
-
/**
|
|
74
|
-
* @inheritDoc
|
|
75
|
-
* @internal
|
|
76
|
-
*/
|
|
77
|
-
_validate(): void;
|
|
78
|
-
/**
|
|
79
|
-
* @inheritDoc
|
|
80
|
-
* @internal
|
|
81
|
-
*/
|
|
82
|
-
_execute(): void;
|
|
83
|
-
/**
|
|
84
|
-
* @inheritDoc
|
|
85
|
-
*/
|
|
86
|
-
toJSON(): unknown;
|
|
87
|
-
/**
|
|
88
|
-
* @inheritDoc
|
|
89
|
-
*/
|
|
90
|
-
static get className(): string;
|
|
91
|
-
/**
|
|
92
|
-
* Creates `RootAttributeOperation` object from deserialized object, i.e. from parsed JSON string.
|
|
93
|
-
*
|
|
94
|
-
* @param json Deserialized JSON object.
|
|
95
|
-
* @param document Document on which this operation will be applied.
|
|
96
|
-
*/
|
|
97
|
-
static fromJSON(json: any, document: Document): RootAttributeOperation;
|
|
98
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2023, CKSource Holding sp. z o.o. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* @module engine/model/operation/rootattributeoperation
|
|
7
|
+
*/
|
|
8
|
+
import Operation from './operation';
|
|
9
|
+
import type Document from '../document';
|
|
10
|
+
import type RootElement from '../rootelement';
|
|
11
|
+
import type { Selectable } from '../selection';
|
|
12
|
+
/**
|
|
13
|
+
* Operation to change root element's attribute. Using this class you can add, remove or change value of the attribute.
|
|
14
|
+
*
|
|
15
|
+
* This operation is needed, because root elements can't be changed through
|
|
16
|
+
* {@link module:engine/model/operation/attributeoperation~AttributeOperation}.
|
|
17
|
+
* It is because {@link module:engine/model/operation/attributeoperation~AttributeOperation}
|
|
18
|
+
* requires a range to change and root element can't
|
|
19
|
+
* be a part of range because every {@link module:engine/model/position~Position} has to be inside a root.
|
|
20
|
+
* {@link module:engine/model/position~Position} can't be created before a root element.
|
|
21
|
+
*/
|
|
22
|
+
export default class RootAttributeOperation extends Operation {
|
|
23
|
+
/**
|
|
24
|
+
* Root element to change.
|
|
25
|
+
*/
|
|
26
|
+
readonly root: RootElement;
|
|
27
|
+
/**
|
|
28
|
+
* Key of an attribute to change or remove.
|
|
29
|
+
*/
|
|
30
|
+
readonly key: string;
|
|
31
|
+
/**
|
|
32
|
+
* Old value of the attribute with given key or `null`, if attribute was not set before.
|
|
33
|
+
*
|
|
34
|
+
* @readonly
|
|
35
|
+
*/
|
|
36
|
+
oldValue: unknown;
|
|
37
|
+
/**
|
|
38
|
+
* New value of the attribute with given key or `null`, if operation should remove attribute.
|
|
39
|
+
*
|
|
40
|
+
* @readonly
|
|
41
|
+
*/
|
|
42
|
+
newValue: unknown;
|
|
43
|
+
/**
|
|
44
|
+
* Creates an operation that changes, removes or adds attributes on root element.
|
|
45
|
+
*
|
|
46
|
+
* @see module:engine/model/operation/attributeoperation~AttributeOperation
|
|
47
|
+
* @param root Root element to change.
|
|
48
|
+
* @param key Key of an attribute to change or remove.
|
|
49
|
+
* @param oldValue Old value of the attribute with given key or `null`, if attribute was not set before.
|
|
50
|
+
* @param newValue New value of the attribute with given key or `null`, if operation should remove attribute.
|
|
51
|
+
* @param baseVersion Document {@link module:engine/model/document~Document#version} on which operation
|
|
52
|
+
* can be applied or `null` if the operation operates on detached (non-document) tree.
|
|
53
|
+
*/
|
|
54
|
+
constructor(root: RootElement, key: string, oldValue: unknown, newValue: unknown, baseVersion: number | null);
|
|
55
|
+
/**
|
|
56
|
+
* @inheritDoc
|
|
57
|
+
*/
|
|
58
|
+
get type(): 'addRootAttribute' | 'removeRootAttribute' | 'changeRootAttribute';
|
|
59
|
+
/**
|
|
60
|
+
* @inheritDoc
|
|
61
|
+
*/
|
|
62
|
+
get affectedSelectable(): Selectable;
|
|
63
|
+
/**
|
|
64
|
+
* Creates and returns an operation that has the same parameters as this operation.
|
|
65
|
+
*
|
|
66
|
+
* @returns Clone of this operation.
|
|
67
|
+
*/
|
|
68
|
+
clone(): RootAttributeOperation;
|
|
69
|
+
/**
|
|
70
|
+
* See {@link module:engine/model/operation/operation~Operation#getReversed `Operation#getReversed()`}.
|
|
71
|
+
*/
|
|
72
|
+
getReversed(): Operation;
|
|
73
|
+
/**
|
|
74
|
+
* @inheritDoc
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
_validate(): void;
|
|
78
|
+
/**
|
|
79
|
+
* @inheritDoc
|
|
80
|
+
* @internal
|
|
81
|
+
*/
|
|
82
|
+
_execute(): void;
|
|
83
|
+
/**
|
|
84
|
+
* @inheritDoc
|
|
85
|
+
*/
|
|
86
|
+
toJSON(): unknown;
|
|
87
|
+
/**
|
|
88
|
+
* @inheritDoc
|
|
89
|
+
*/
|
|
90
|
+
static get className(): string;
|
|
91
|
+
/**
|
|
92
|
+
* Creates `RootAttributeOperation` object from deserialized object, i.e. from parsed JSON string.
|
|
93
|
+
*
|
|
94
|
+
* @param json Deserialized JSON object.
|
|
95
|
+
* @param document Document on which this operation will be applied.
|
|
96
|
+
*/
|
|
97
|
+
static fromJSON(json: any, document: Document): RootAttributeOperation;
|
|
98
|
+
}
|