Class

MergeOperation (engine/model/operation)

@ckeditor/ckeditor5-engine/src/model/operation/mergeoperation

class

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

  • readonly

    affectedSelectable : Selectable

    A selectable that will be affected by the operation after it is executed.

    The exact returned parameter differs between operation types.

  • inherited

    baseVersion : null | number

    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.

  • inherited

    batch : null | Batch

    Batch to which the operation is added or null if the operation is not added to any batch yet.

  • readonly

    deletionPosition : Position

    Position before the merged element (which will be deleted).

  • graveyardPosition : Position

    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.

  • readonly inherited

    isDocumentOperation : boolean

    Defines whether operation is executed on attached or detached items.

  • readonly

    movedRange : Range

    Artificial range that contains all the nodes from the merged element that will be moved to sourcePosition. The range starts at sourcePosition and ends in the same parent, at POSITIVE_INFINITY offset.

  • sourcePosition : Position

    Position inside the merged element. All nodes from that element after that position will be moved to targetPosition.

  • targetPosition : Position

    Position which the nodes from the merged elements will be moved to.

  • readonly

    type : 'merge'

    Operation type.

Static properties

  • readonly static

    className : string

    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 : null | number

    Document version on which operation can be applied or null if the operation operates on detached (non-document) tree.

  • clone() → MergeOperation

    Creates and returns an operation that has the same parameters as this operation.

    Returns

    MergeOperation
  • getReversed() → Operation

  • toJSON() → unknown

    Custom toJSON method to solve child-parent circular dependencies.

    Returns

    unknown

    Clone of this object with the operation property replaced with string.

  • internal

    _execute() → void

    Executes the operation - modifications described by the operation properties will be applied to the model tree.

    Returns

    void
  • internal

    _validate() → void

    Checks whether the operation's parameters are correct and the operation can be correctly executed. Throws an error if operation is not valid.

    Returns

    void

Static methods

  • static

    fromJSON( json, document ) → MergeOperation

    Creates MergeOperation object from deserialized object, i.e. from parsed JSON string.

    Parameters

    json : any

    Deserialized JSON object.

    document : Document

    Document on which this operation will be applied.

    Returns

    MergeOperation