@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,37 +1,37 @@
|
|
|
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
|
-
import type Node from '../node';
|
|
6
|
-
import type Position from '../position';
|
|
7
|
-
import type Schema from '../schema';
|
|
8
|
-
import type Writer from '../writer';
|
|
9
|
-
/**
|
|
10
|
-
* @module engine/model/utils/autoparagraphing
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* Fixes all empty roots.
|
|
14
|
-
*
|
|
15
|
-
* @internal
|
|
16
|
-
* @param writer The model writer.
|
|
17
|
-
* @returns `true` if any change has been applied, `false` otherwise.
|
|
18
|
-
*/
|
|
19
|
-
export declare function autoParagraphEmptyRoots(writer: Writer): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Checks if the given node wrapped with a paragraph would be accepted by the schema in the given position.
|
|
22
|
-
*
|
|
23
|
-
* @internal
|
|
24
|
-
* @param position The position at which to check.
|
|
25
|
-
* @param nodeOrType The child node or child type to check.
|
|
26
|
-
* @param schema A schema instance used for element validation.
|
|
27
|
-
*/
|
|
28
|
-
export declare function isParagraphable(position: Position, nodeOrType: Node | string, schema: Schema): boolean;
|
|
29
|
-
/**
|
|
30
|
-
* Inserts a new paragraph at the given position and returns a position inside that paragraph.
|
|
31
|
-
*
|
|
32
|
-
* @internal
|
|
33
|
-
* @param position The position where a paragraph should be inserted.
|
|
34
|
-
* @param writer The model writer.
|
|
35
|
-
* @returns Position inside the created paragraph.
|
|
36
|
-
*/
|
|
37
|
-
export declare function wrapInParagraph(position: Position, writer: Writer): Position;
|
|
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
|
+
import type Node from '../node';
|
|
6
|
+
import type Position from '../position';
|
|
7
|
+
import type Schema from '../schema';
|
|
8
|
+
import type Writer from '../writer';
|
|
9
|
+
/**
|
|
10
|
+
* @module engine/model/utils/autoparagraphing
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Fixes all empty roots.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
* @param writer The model writer.
|
|
17
|
+
* @returns `true` if any change has been applied, `false` otherwise.
|
|
18
|
+
*/
|
|
19
|
+
export declare function autoParagraphEmptyRoots(writer: Writer): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Checks if the given node wrapped with a paragraph would be accepted by the schema in the given position.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
* @param position The position at which to check.
|
|
25
|
+
* @param nodeOrType The child node or child type to check.
|
|
26
|
+
* @param schema A schema instance used for element validation.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isParagraphable(position: Position, nodeOrType: Node | string, schema: Schema): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Inserts a new paragraph at the given position and returns a position inside that paragraph.
|
|
31
|
+
*
|
|
32
|
+
* @internal
|
|
33
|
+
* @param position The position where a paragraph should be inserted.
|
|
34
|
+
* @param writer The model writer.
|
|
35
|
+
* @returns Position inside the created paragraph.
|
|
36
|
+
*/
|
|
37
|
+
export declare function wrapInParagraph(position: Position, writer: Writer): Position;
|
|
@@ -1,63 +1,63 @@
|
|
|
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/utils/autoparagraphing
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Fixes all empty roots.
|
|
10
|
-
*
|
|
11
|
-
* @internal
|
|
12
|
-
* @param writer The model writer.
|
|
13
|
-
* @returns `true` if any change has been applied, `false` otherwise.
|
|
14
|
-
*/
|
|
15
|
-
export function autoParagraphEmptyRoots(writer) {
|
|
16
|
-
const { schema, document } = writer.model;
|
|
17
|
-
for (const root of document.getRoots()) {
|
|
18
|
-
if (root.isEmpty && !schema.checkChild(root, '$text')) {
|
|
19
|
-
// If paragraph element is allowed in the root, create paragraph element.
|
|
20
|
-
if (schema.checkChild(root, 'paragraph')) {
|
|
21
|
-
writer.insertElement('paragraph', root);
|
|
22
|
-
// Other roots will get fixed in the next post-fixer round. Those will be triggered
|
|
23
|
-
// in the same batch no matter if this method was triggered by the post-fixing or not
|
|
24
|
-
// (the above insertElement call will trigger the post-fixers).
|
|
25
|
-
return true;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return false;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Checks if the given node wrapped with a paragraph would be accepted by the schema in the given position.
|
|
33
|
-
*
|
|
34
|
-
* @internal
|
|
35
|
-
* @param position The position at which to check.
|
|
36
|
-
* @param nodeOrType The child node or child type to check.
|
|
37
|
-
* @param schema A schema instance used for element validation.
|
|
38
|
-
*/
|
|
39
|
-
export function isParagraphable(position, nodeOrType, schema) {
|
|
40
|
-
const context = schema.createContext(position);
|
|
41
|
-
// When paragraph is allowed in this context...
|
|
42
|
-
if (!schema.checkChild(context, 'paragraph')) {
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
// And a node would be allowed in this paragraph...
|
|
46
|
-
if (!schema.checkChild(context.push('paragraph'), nodeOrType)) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Inserts a new paragraph at the given position and returns a position inside that paragraph.
|
|
53
|
-
*
|
|
54
|
-
* @internal
|
|
55
|
-
* @param position The position where a paragraph should be inserted.
|
|
56
|
-
* @param writer The model writer.
|
|
57
|
-
* @returns Position inside the created paragraph.
|
|
58
|
-
*/
|
|
59
|
-
export function wrapInParagraph(position, writer) {
|
|
60
|
-
const paragraph = writer.createElement('paragraph');
|
|
61
|
-
writer.insert(paragraph, position);
|
|
62
|
-
return writer.createPositionAt(paragraph, 0);
|
|
63
|
-
}
|
|
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/utils/autoparagraphing
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Fixes all empty roots.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
* @param writer The model writer.
|
|
13
|
+
* @returns `true` if any change has been applied, `false` otherwise.
|
|
14
|
+
*/
|
|
15
|
+
export function autoParagraphEmptyRoots(writer) {
|
|
16
|
+
const { schema, document } = writer.model;
|
|
17
|
+
for (const root of document.getRoots()) {
|
|
18
|
+
if (root.isEmpty && !schema.checkChild(root, '$text')) {
|
|
19
|
+
// If paragraph element is allowed in the root, create paragraph element.
|
|
20
|
+
if (schema.checkChild(root, 'paragraph')) {
|
|
21
|
+
writer.insertElement('paragraph', root);
|
|
22
|
+
// Other roots will get fixed in the next post-fixer round. Those will be triggered
|
|
23
|
+
// in the same batch no matter if this method was triggered by the post-fixing or not
|
|
24
|
+
// (the above insertElement call will trigger the post-fixers).
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Checks if the given node wrapped with a paragraph would be accepted by the schema in the given position.
|
|
33
|
+
*
|
|
34
|
+
* @internal
|
|
35
|
+
* @param position The position at which to check.
|
|
36
|
+
* @param nodeOrType The child node or child type to check.
|
|
37
|
+
* @param schema A schema instance used for element validation.
|
|
38
|
+
*/
|
|
39
|
+
export function isParagraphable(position, nodeOrType, schema) {
|
|
40
|
+
const context = schema.createContext(position);
|
|
41
|
+
// When paragraph is allowed in this context...
|
|
42
|
+
if (!schema.checkChild(context, 'paragraph')) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
// And a node would be allowed in this paragraph...
|
|
46
|
+
if (!schema.checkChild(context.push('paragraph'), nodeOrType)) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Inserts a new paragraph at the given position and returns a position inside that paragraph.
|
|
53
|
+
*
|
|
54
|
+
* @internal
|
|
55
|
+
* @param position The position where a paragraph should be inserted.
|
|
56
|
+
* @param writer The model writer.
|
|
57
|
+
* @returns Position inside the created paragraph.
|
|
58
|
+
*/
|
|
59
|
+
export function wrapInParagraph(position, writer) {
|
|
60
|
+
const paragraph = writer.createElement('paragraph');
|
|
61
|
+
writer.insert(paragraph, position);
|
|
62
|
+
return writer.createPositionAt(paragraph, 0);
|
|
63
|
+
}
|
|
@@ -1,58 +1,58 @@
|
|
|
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/utils/deletecontent
|
|
7
|
-
*/
|
|
8
|
-
import DocumentSelection from '../documentselection';
|
|
9
|
-
import type Model from '../model';
|
|
10
|
-
import type Selection from '../selection';
|
|
11
|
-
/**
|
|
12
|
-
* Deletes content of the selection and merge siblings. The resulting selection is always collapsed.
|
|
13
|
-
*
|
|
14
|
-
* **Note:** Use {@link module:engine/model/model~Model#deleteContent} instead of this function.
|
|
15
|
-
* This function is only exposed to be reusable in algorithms
|
|
16
|
-
* which change the {@link module:engine/model/model~Model#deleteContent}
|
|
17
|
-
* method's behavior.
|
|
18
|
-
*
|
|
19
|
-
* @param model The model in context of which the insertion should be performed.
|
|
20
|
-
* @param selection Selection of which the content should be deleted.
|
|
21
|
-
* @param options.leaveUnmerged Whether to merge elements after removing the content of the selection.
|
|
22
|
-
*
|
|
23
|
-
* For example `<heading>x[x</heading><paragraph>y]y</paragraph>` will become:
|
|
24
|
-
*
|
|
25
|
-
* * `<heading>x^y</heading>` with the option disabled (`leaveUnmerged == false`)
|
|
26
|
-
* * `<heading>x^</heading><paragraph>y</paragraph>` with enabled (`leaveUnmerged == true`).
|
|
27
|
-
*
|
|
28
|
-
* Note: {@link module:engine/model/schema~Schema#isObject object} and {@link module:engine/model/schema~Schema#isLimit limit}
|
|
29
|
-
* elements will not be merged.
|
|
30
|
-
*
|
|
31
|
-
* @param options.doNotResetEntireContent Whether to skip replacing the entire content with a
|
|
32
|
-
* paragraph when the entire content was selected.
|
|
33
|
-
*
|
|
34
|
-
* For example `<heading>[x</heading><paragraph>y]</paragraph>` will become:
|
|
35
|
-
*
|
|
36
|
-
* * `<paragraph>^</paragraph>` with the option disabled (`doNotResetEntireContent == false`)
|
|
37
|
-
* * `<heading>^</heading>` with enabled (`doNotResetEntireContent == true`).
|
|
38
|
-
*
|
|
39
|
-
* @param options.doNotAutoparagraph Whether to create a paragraph if after content deletion selection is moved
|
|
40
|
-
* to a place where text cannot be inserted.
|
|
41
|
-
*
|
|
42
|
-
* For example `<paragraph>x</paragraph>[<imageBlock src="foo.jpg"></imageBlock>]` will become:
|
|
43
|
-
*
|
|
44
|
-
* * `<paragraph>x</paragraph><paragraph>[]</paragraph>` with the option disabled (`doNotAutoparagraph == false`)
|
|
45
|
-
* * `<paragraph>x</paragraph>[]` with the option enabled (`doNotAutoparagraph == true`).
|
|
46
|
-
*
|
|
47
|
-
* If you use this option you need to make sure to handle invalid selections yourself or leave
|
|
48
|
-
* them to the selection post-fixer (may not always work).
|
|
49
|
-
*
|
|
50
|
-
* **Note:** If there is no valid position for the selection, the paragraph will always be created:
|
|
51
|
-
*
|
|
52
|
-
* `[<imageBlock src="foo.jpg"></imageBlock>]` -> `<paragraph>[]</paragraph>`.
|
|
53
|
-
*/
|
|
54
|
-
export default function deleteContent(model: Model, selection: Selection | DocumentSelection, options?: {
|
|
55
|
-
leaveUnmerged?: boolean;
|
|
56
|
-
doNotResetEntireContent?: boolean;
|
|
57
|
-
doNotAutoparagraph?: boolean;
|
|
58
|
-
}): void;
|
|
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/utils/deletecontent
|
|
7
|
+
*/
|
|
8
|
+
import DocumentSelection from '../documentselection';
|
|
9
|
+
import type Model from '../model';
|
|
10
|
+
import type Selection from '../selection';
|
|
11
|
+
/**
|
|
12
|
+
* Deletes content of the selection and merge siblings. The resulting selection is always collapsed.
|
|
13
|
+
*
|
|
14
|
+
* **Note:** Use {@link module:engine/model/model~Model#deleteContent} instead of this function.
|
|
15
|
+
* This function is only exposed to be reusable in algorithms
|
|
16
|
+
* which change the {@link module:engine/model/model~Model#deleteContent}
|
|
17
|
+
* method's behavior.
|
|
18
|
+
*
|
|
19
|
+
* @param model The model in context of which the insertion should be performed.
|
|
20
|
+
* @param selection Selection of which the content should be deleted.
|
|
21
|
+
* @param options.leaveUnmerged Whether to merge elements after removing the content of the selection.
|
|
22
|
+
*
|
|
23
|
+
* For example `<heading>x[x</heading><paragraph>y]y</paragraph>` will become:
|
|
24
|
+
*
|
|
25
|
+
* * `<heading>x^y</heading>` with the option disabled (`leaveUnmerged == false`)
|
|
26
|
+
* * `<heading>x^</heading><paragraph>y</paragraph>` with enabled (`leaveUnmerged == true`).
|
|
27
|
+
*
|
|
28
|
+
* Note: {@link module:engine/model/schema~Schema#isObject object} and {@link module:engine/model/schema~Schema#isLimit limit}
|
|
29
|
+
* elements will not be merged.
|
|
30
|
+
*
|
|
31
|
+
* @param options.doNotResetEntireContent Whether to skip replacing the entire content with a
|
|
32
|
+
* paragraph when the entire content was selected.
|
|
33
|
+
*
|
|
34
|
+
* For example `<heading>[x</heading><paragraph>y]</paragraph>` will become:
|
|
35
|
+
*
|
|
36
|
+
* * `<paragraph>^</paragraph>` with the option disabled (`doNotResetEntireContent == false`)
|
|
37
|
+
* * `<heading>^</heading>` with enabled (`doNotResetEntireContent == true`).
|
|
38
|
+
*
|
|
39
|
+
* @param options.doNotAutoparagraph Whether to create a paragraph if after content deletion selection is moved
|
|
40
|
+
* to a place where text cannot be inserted.
|
|
41
|
+
*
|
|
42
|
+
* For example `<paragraph>x</paragraph>[<imageBlock src="foo.jpg"></imageBlock>]` will become:
|
|
43
|
+
*
|
|
44
|
+
* * `<paragraph>x</paragraph><paragraph>[]</paragraph>` with the option disabled (`doNotAutoparagraph == false`)
|
|
45
|
+
* * `<paragraph>x</paragraph>[]` with the option enabled (`doNotAutoparagraph == true`).
|
|
46
|
+
*
|
|
47
|
+
* If you use this option you need to make sure to handle invalid selections yourself or leave
|
|
48
|
+
* them to the selection post-fixer (may not always work).
|
|
49
|
+
*
|
|
50
|
+
* **Note:** If there is no valid position for the selection, the paragraph will always be created:
|
|
51
|
+
*
|
|
52
|
+
* `[<imageBlock src="foo.jpg"></imageBlock>]` -> `<paragraph>[]</paragraph>`.
|
|
53
|
+
*/
|
|
54
|
+
export default function deleteContent(model: Model, selection: Selection | DocumentSelection, options?: {
|
|
55
|
+
leaveUnmerged?: boolean;
|
|
56
|
+
doNotResetEntireContent?: boolean;
|
|
57
|
+
doNotAutoparagraph?: boolean;
|
|
58
|
+
}): void;
|