Creates a move operation.
Position before the first module:engine/model/item~ModelItem model item to move.
Offset size of moved range. Moved range will start from sourcePosition and end at
sourcePosition with offset shifted by howMany.
Position at which moved nodes will be inserted.
Document module:engine/model/document~ModelDocument#version on which operation
can be applied or null if the operation operates on detached (non-document) tree.
module:engine/model/document~ModelDocument#version on which operation can be applied. If you try to module:engine/model/model~Model#applyOperation apply operation with different base version than the module:engine/model/document~ModelDocument#version document version the module:utils/ckeditorerror~CKEditorError model-document-applyOperation-wrong-version error is thrown.
module:engine/model/batch~Batch Batch to which the operation is added or null if the operation is not
added to any batch yet.
Note, that a #isDocumentOperation non-document operation has this property always set to null, and is never added
to any batch.
Offset size of moved range.
ReadonlyisDefines whether operation is executed on attached or detached module:engine/model/item~ModelItem items.
Position before the first module:engine/model/item~ModelItem model item to move.
Position at which moved nodes will be inserted.
A selectable that will be affected by the operation after it is executed.
The exact returned parameter differs between operation types.
Operation type.
StaticclassName of the operation class used for serialization.
InternalExecutes the operation - modifications described by the operation properties will be applied to the model tree.
InternalChecks whether the operation's parameters are correct and the operation can be correctly executed. Throws an error if operation is not valid.
Creates and returns an operation that has the same parameters as this operation.
Returns the start position of the moved range after it got moved. This may be different than module:engine/model/operation/moveoperation~MoveOperation#targetPosition in some cases, i.e. when a range is moved inside the same parent but module:engine/model/operation/moveoperation~MoveOperation#targetPosition targetPosition is after module:engine/model/operation/moveoperation~MoveOperation#sourcePosition sourcePosition.
vv vv
abcdefg ===> adefbcg
^ ^
targetPos movedRangeStart
offset 6 offset 4
See module:engine/model/operation/operation~Operation#getReversed Operation#getReversed().
Custom toJSON method to solve child-parent circular dependencies.
Clone of this object with the operation property replaced with string.
StaticfromCreates MoveOperation object from deserialized object, i.e. from parsed JSON string.
Deserialized JSON object.
Document on which this operation will be applied.
Operation to move a range of module:engine/model/item~ModelItem model items to given module:engine/model/position~ModelPosition target position.