@ckeditor/ckeditor5-engine 30.0.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 +17 -0
- package/README.md +30 -0
- package/package.json +70 -0
- package/src/controller/datacontroller.js +563 -0
- package/src/controller/editingcontroller.js +149 -0
- package/src/conversion/conversion.js +644 -0
- package/src/conversion/conversionhelpers.js +40 -0
- package/src/conversion/downcastdispatcher.js +914 -0
- package/src/conversion/downcasthelpers.js +1706 -0
- package/src/conversion/mapper.js +696 -0
- package/src/conversion/modelconsumable.js +329 -0
- package/src/conversion/upcastdispatcher.js +807 -0
- package/src/conversion/upcasthelpers.js +997 -0
- package/src/conversion/viewconsumable.js +623 -0
- package/src/dataprocessor/basichtmlwriter.js +32 -0
- package/src/dataprocessor/dataprocessor.jsdoc +64 -0
- package/src/dataprocessor/htmldataprocessor.js +159 -0
- package/src/dataprocessor/htmlwriter.js +22 -0
- package/src/dataprocessor/xmldataprocessor.js +161 -0
- package/src/dev-utils/model.js +482 -0
- package/src/dev-utils/operationreplayer.js +140 -0
- package/src/dev-utils/utils.js +103 -0
- package/src/dev-utils/view.js +1091 -0
- package/src/index.js +52 -0
- package/src/model/batch.js +82 -0
- package/src/model/differ.js +1282 -0
- package/src/model/document.js +483 -0
- package/src/model/documentfragment.js +390 -0
- package/src/model/documentselection.js +1261 -0
- package/src/model/element.js +438 -0
- package/src/model/history.js +138 -0
- package/src/model/item.jsdoc +14 -0
- package/src/model/liveposition.js +182 -0
- package/src/model/liverange.js +221 -0
- package/src/model/markercollection.js +553 -0
- package/src/model/model.js +934 -0
- package/src/model/node.js +507 -0
- package/src/model/nodelist.js +217 -0
- package/src/model/operation/attributeoperation.js +202 -0
- package/src/model/operation/detachoperation.js +103 -0
- package/src/model/operation/insertoperation.js +188 -0
- package/src/model/operation/markeroperation.js +154 -0
- package/src/model/operation/mergeoperation.js +216 -0
- package/src/model/operation/moveoperation.js +209 -0
- package/src/model/operation/nooperation.js +58 -0
- package/src/model/operation/operation.js +139 -0
- package/src/model/operation/operationfactory.js +49 -0
- package/src/model/operation/renameoperation.js +155 -0
- package/src/model/operation/rootattributeoperation.js +211 -0
- package/src/model/operation/splitoperation.js +254 -0
- package/src/model/operation/transform.js +2389 -0
- package/src/model/operation/utils.js +292 -0
- package/src/model/position.js +1164 -0
- package/src/model/range.js +1049 -0
- package/src/model/rootelement.js +111 -0
- package/src/model/schema.js +1851 -0
- package/src/model/selection.js +902 -0
- package/src/model/text.js +138 -0
- package/src/model/textproxy.js +279 -0
- package/src/model/treewalker.js +414 -0
- package/src/model/utils/autoparagraphing.js +77 -0
- package/src/model/utils/deletecontent.js +528 -0
- package/src/model/utils/getselectedcontent.js +150 -0
- package/src/model/utils/insertcontent.js +824 -0
- package/src/model/utils/modifyselection.js +229 -0
- package/src/model/utils/selection-post-fixer.js +297 -0
- package/src/model/writer.js +1574 -0
- package/src/view/attributeelement.js +274 -0
- package/src/view/containerelement.js +123 -0
- package/src/view/document.js +221 -0
- package/src/view/documentfragment.js +273 -0
- package/src/view/documentselection.js +387 -0
- package/src/view/domconverter.js +1437 -0
- package/src/view/downcastwriter.js +2121 -0
- package/src/view/editableelement.js +118 -0
- package/src/view/element.js +945 -0
- package/src/view/elementdefinition.jsdoc +59 -0
- package/src/view/emptyelement.js +119 -0
- package/src/view/filler.js +161 -0
- package/src/view/item.jsdoc +14 -0
- package/src/view/matcher.js +776 -0
- package/src/view/node.js +391 -0
- package/src/view/observer/arrowkeysobserver.js +58 -0
- package/src/view/observer/bubblingemittermixin.js +307 -0
- package/src/view/observer/bubblingeventinfo.js +71 -0
- package/src/view/observer/clickobserver.js +46 -0
- package/src/view/observer/compositionobserver.js +79 -0
- package/src/view/observer/domeventdata.js +82 -0
- package/src/view/observer/domeventobserver.js +99 -0
- package/src/view/observer/fakeselectionobserver.js +118 -0
- package/src/view/observer/focusobserver.js +106 -0
- package/src/view/observer/inputobserver.js +44 -0
- package/src/view/observer/keyobserver.js +83 -0
- package/src/view/observer/mouseobserver.js +56 -0
- package/src/view/observer/mutationobserver.js +345 -0
- package/src/view/observer/observer.js +118 -0
- package/src/view/observer/selectionobserver.js +242 -0
- package/src/view/placeholder.js +285 -0
- package/src/view/position.js +426 -0
- package/src/view/range.js +533 -0
- package/src/view/rawelement.js +148 -0
- package/src/view/renderer.js +1037 -0
- package/src/view/rooteditableelement.js +107 -0
- package/src/view/selection.js +718 -0
- package/src/view/styles/background.js +73 -0
- package/src/view/styles/border.js +362 -0
- package/src/view/styles/margin.js +41 -0
- package/src/view/styles/padding.js +40 -0
- package/src/view/styles/utils.js +277 -0
- package/src/view/stylesmap.js +938 -0
- package/src/view/text.js +147 -0
- package/src/view/textproxy.js +199 -0
- package/src/view/treewalker.js +496 -0
- package/src/view/uielement.js +238 -0
- package/src/view/upcastwriter.js +484 -0
- package/src/view/view.js +721 -0
- package/theme/placeholder.css +27 -0
package/src/index.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @module engine
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export * from './view/placeholder';
|
|
11
|
+
|
|
12
|
+
export { default as EditingController } from './controller/editingcontroller';
|
|
13
|
+
export { default as DataController } from './controller/datacontroller';
|
|
14
|
+
|
|
15
|
+
export { default as Conversion } from './conversion/conversion';
|
|
16
|
+
|
|
17
|
+
export { default as HtmlDataProcessor } from './dataprocessor/htmldataprocessor';
|
|
18
|
+
|
|
19
|
+
export { default as InsertOperation } from './model/operation/insertoperation';
|
|
20
|
+
export { default as MarkerOperation } from './model/operation/markeroperation';
|
|
21
|
+
export { default as OperationFactory } from './model/operation/operationfactory';
|
|
22
|
+
export { transformSets } from './model/operation/transform';
|
|
23
|
+
|
|
24
|
+
export { default as DocumentSelection } from './model/documentselection';
|
|
25
|
+
export { default as Range } from './model/range';
|
|
26
|
+
export { default as LiveRange } from './model/liverange';
|
|
27
|
+
export { default as LivePosition } from './model/liveposition';
|
|
28
|
+
export { default as Model } from './model/model';
|
|
29
|
+
export { default as TreeWalker } from './model/treewalker';
|
|
30
|
+
export { default as Element } from './model/element';
|
|
31
|
+
|
|
32
|
+
export { default as DomConverter } from './view/domconverter';
|
|
33
|
+
export { default as Renderer } from './view/renderer';
|
|
34
|
+
export { default as ViewDocument } from './view/document';
|
|
35
|
+
|
|
36
|
+
export { getFillerOffset } from './view/containerelement';
|
|
37
|
+
export { default as Observer } from './view/observer/observer';
|
|
38
|
+
export { default as ClickObserver } from './view/observer/clickobserver';
|
|
39
|
+
export { default as DomEventObserver } from './view/observer/domeventobserver';
|
|
40
|
+
export { default as MouseObserver } from './view/observer/mouseobserver';
|
|
41
|
+
export { default as DowncastWriter } from './view/downcastwriter';
|
|
42
|
+
export { default as UpcastWriter } from './view/upcastwriter';
|
|
43
|
+
export { default as Matcher } from './view/matcher';
|
|
44
|
+
|
|
45
|
+
export { default as DomEventData } from './view/observer/domeventdata';
|
|
46
|
+
|
|
47
|
+
export { StylesProcessor } from './view/stylesmap';
|
|
48
|
+
export * from './view/styles/background';
|
|
49
|
+
export * from './view/styles/border';
|
|
50
|
+
export * from './view/styles/margin';
|
|
51
|
+
export * from './view/styles/padding';
|
|
52
|
+
export * from './view/styles/utils';
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.
|
|
3
|
+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @module engine/model/batch
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A batch instance groups model changes ({@link module:engine/model/operation/operation~Operation operations}). All operations
|
|
12
|
+
* grouped in a single batch can be reverted together, so you can also think about a batch as of a single undo step. If you want
|
|
13
|
+
* to extend a given undo step, you can add more changes to the batch using {@link module:engine/model/model~Model#enqueueChange}:
|
|
14
|
+
*
|
|
15
|
+
* model.enqueueChange( batch, writer => {
|
|
16
|
+
* writer.insertText( 'foo', paragraph, 'end' );
|
|
17
|
+
* } );
|
|
18
|
+
*
|
|
19
|
+
* @see module:engine/model/model~Model#enqueueChange
|
|
20
|
+
* @see module:engine/model/model~Model#change
|
|
21
|
+
*/
|
|
22
|
+
export default class Batch {
|
|
23
|
+
/**
|
|
24
|
+
* Creates a batch instance.
|
|
25
|
+
*
|
|
26
|
+
* @see module:engine/model/model~Model#enqueueChange
|
|
27
|
+
* @see module:engine/model/model~Model#change
|
|
28
|
+
* @param {'transparent'|'default'} [type='default'] The type of the batch.
|
|
29
|
+
*/
|
|
30
|
+
constructor( type = 'default' ) {
|
|
31
|
+
/**
|
|
32
|
+
* An array of operations that compose this batch.
|
|
33
|
+
*
|
|
34
|
+
* @readonly
|
|
35
|
+
* @type {Array.<module:engine/model/operation/operation~Operation>}
|
|
36
|
+
*/
|
|
37
|
+
this.operations = [];
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* The type of the batch.
|
|
41
|
+
*
|
|
42
|
+
* It can be one of the following values:
|
|
43
|
+
* * `'default'` – All "normal" batches. This is the most commonly used type.
|
|
44
|
+
* * `'transparent'` – A batch that should be ignored by other features, i.e. an initial batch or collaborative editing
|
|
45
|
+
* changes.
|
|
46
|
+
*
|
|
47
|
+
* @readonly
|
|
48
|
+
* @type {'transparent'|'default'}
|
|
49
|
+
*/
|
|
50
|
+
this.type = type;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Returns the base version of this batch, which is equal to the base version of the first operation in the batch.
|
|
55
|
+
* If there are no operations in the batch or neither operation has the base version set, it returns `null`.
|
|
56
|
+
*
|
|
57
|
+
* @readonly
|
|
58
|
+
* @type {Number|null}
|
|
59
|
+
*/
|
|
60
|
+
get baseVersion() {
|
|
61
|
+
for ( const op of this.operations ) {
|
|
62
|
+
if ( op.baseVersion !== null ) {
|
|
63
|
+
return op.baseVersion;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Adds an operation to the batch instance.
|
|
72
|
+
*
|
|
73
|
+
* @param {module:engine/model/operation/operation~Operation} operation An operation to add.
|
|
74
|
+
* @returns {module:engine/model/operation/operation~Operation} The added operation.
|
|
75
|
+
*/
|
|
76
|
+
addOperation( operation ) {
|
|
77
|
+
operation.batch = this;
|
|
78
|
+
this.operations.push( operation );
|
|
79
|
+
|
|
80
|
+
return operation;
|
|
81
|
+
}
|
|
82
|
+
}
|