MergeOperation (engine/model/operation)
@ckeditor/ckeditor5-engine/src/model/operation/mergeoperation
Operation to merge two elements.
The merged element is the parent of sourcePosition
and it is merged into the parent of
targetPosition
. All nodes from the merged element are moved to targetPosition
.
The merged element is moved to the graveyard at graveyardPosition
.
Filtering
Properties
-
baseVersion : Number
inherited
version
on which operation can be applied. If you try to apply operation with different base version than the document version the model-document-applyOperation-wrong-version error is thrown. -
Batch to which the operation is added or
null
if the operation is not added to any batch yet. -
deletionPosition : Position
readonly
Position before the merged element (which will be deleted).
-
Position in graveyard to which the merged element will be moved.
-
howMany : Number
Summary offset size of nodes which will be moved from the merged element to the new parent.
-
isDocumentOperation : Boolean
readonly inherited
Defines whether operation is executed on attached or detached items.
-
movedRange : Range
readonly
Artificial range that contains all the nodes from the merged element that will be moved to
sourcePosition
. The range starts atsourcePosition
and ends in the same parent, atPOSITIVE_INFINITY
offset. -
Position inside the merged element. All nodes from that element after that position will be moved to
targetPosition
. -
Position which the nodes from the merged elements will be moved to.
-
type : String
readonly inherited
Operation type.
Overrides: Operation#type
Static properties
-
className : String
inherited static
Name of the operation class used for serialization.
Methods
-
constructor( sourcePosition, howMany, targetPosition, graveyardPosition, baseVersion )
Creates a merge operation.
Parameters
sourcePosition : Position
Position inside the merged element. All nodes from that element after that position will be moved to
targetPosition
.howMany : Number
Summary offset size of nodes which will be moved from the merged element to the new parent.
targetPosition : Position
Position which the nodes from the merged elements will be moved to.
graveyardPosition : Position
Position in graveyard to which the merged element will be moved.
baseVersion : Number | null
Document
version
on which operation can be applied ornull
if the operation operates on detached (non-document) tree.
Overrides: Operation#constructor -
clone() → MergeOperation
Creates and returns an operation that has the same parameters as this operation.
-
-
toJSON() → Object
inherited
Custom toJSON method to solve child-parent circular dependencies.
Returns
Object
Clone of this object with the operation property replaced with string.
Overrides: Operation#toJSON -
_execute()
protected inherited
Executes the operation - modifications described by the operation properties will be applied to the model tree.
Overrides: Operation#_execute -
_validate()
protected inherited
Checks whether the operation's parameters are correct and the operation can be correctly executed. Throws an error if operation is not valid.
Overrides: Operation#_validate
Static methods
-
fromJSON( json, document ) → MergeOperation
static
Creates
MergeOperation
object from deserilized object, i.e. from parsed JSON string.Parameters
json : Object
Deserialized JSON object.
document : Document
Document on which this operation will be applied.
Returns