Report an issue
Class

MoveOperation (engine/model/operation)

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

class

Operation to move a range of model items to given target position.

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.

  • delta : Delta

    inherited

    Delta which the operation is a part of. This property is set by the delta when the operations is added to it by the addOperation method.

  • howMany : Number

    Offset size of moved range.

  • isDocumentOperation : Boolean

    readonly inherited

    Defines whether operation is executed on attached or detached items.

  • isSticky : Boolean

    Defines whether MoveOperation is sticky. If MoveOperation is sticky, during operational transformation if there will be an operation that inserts some nodes at the position equal to the boundary of this MoveOperation, that operation will get their insertion path updated to the position where this MoveOperation moves the range.

  • sourcePosition : Position

    Position before the first model item to move.

  • targetPosition : Position

    Position at which moved nodes will be inserted.

  • 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, baseVersion )

    Creates a move operation.

    Parameters

    sourcePosition : Position

    Position before the first model item to move.

    howMany : Number

    Offset size of moved range. Moved range will start from sourcePosition and end at sourcePosition with offset shifted by howMany.

    targetPosition : Position

    Position at which moved nodes will be inserted.

    baseVersion : Number | null

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

  • clone() → MoveOperation

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

    Returns

    MoveOperation

    Clone of this operation.

    Overrides: Operation#clone
  • getMovedRangeStart() → Position

    Returns the start position of the moved range after it got moved. This may be different than targetPosition in some cases, i.e. when a range is moved inside the same parent but targetPosition is after sourcePosition.

     vv              vv
    abcdefg ===> adefbcg
         ^          ^
         targetPos    movedRangeStart
         offset 6    offset 4

    Returns

    Position
  • getReversed() → MoveOperation

  • toJSON() → Object

    inherited

    Custom toJSON method to solve child-parent circular dependencies.

    Returns

    Object

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

  • _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 ) → MoveOperation

    static

    Creates MoveOperation 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

    MoveOperation