InsertOperation (engine/model/operation)



Operation to insert one or more nodes at given position in the model.



  • 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

    howMany : number

    Total offset size of inserted nodes.

  • readonly inherited

    isDocumentOperation : boolean

    Defines whether operation is executed on attached or detached items.

  • nodes : NodeList

    List of nodes to insert.

  • position : Position

    Position of insertion.

  • shouldReceiveAttributes : boolean

    Flag deciding how the operation should be transformed. If set to true, nodes might get additional attributes during operational transformation. This happens when the operation insertion position is inside of a range where attributes have changed.

  • readonly

    type : 'insert'

    Operation type.

Static properties

  • readonly static

    className : string

    Name of the operation class used for serialization.


  • constructor( position, nodes, baseVersion )

    Creates an insert operation.


    position : Position

    Position of insertion.

    nodes : NodeSet

    The list of nodes to be inserted.

    baseVersion : null | number

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

  • clone() → InsertOperation

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


  • getReversed() → Operation

  • toJSON() → unknown

    Custom toJSON method to solve child-parent circular dependencies.



    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.


  • 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.



Static methods

  • static

    fromJSON( json, document ) → InsertOperation

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


    json : any

    Deserialized JSON object.

    document : Document

    Document on which this operation will be applied.