Report an issue
Class

NodeList (engine/model)

@ckeditor/ckeditor5-engine/src/model/nodelist

class

Provides an interface to operate on a list of nodes. NodeList is used internally in classes like Element or DocumentFragment.

Filtering

Properties

  • length : Number

    readonly

    Number of nodes contained inside this node list.

  • maxOffset : Number

    readonly

    Sum of offset sizes of all nodes contained inside this node list.

  • _nodes : Array.<Node>

    private

    Nodes contained in this node list.

Methods

  • constructor( nodes )

    protected

    Creates an empty node list.

    Parameters

    nodes : Iterable.<Node>

    Nodes contained in this node list.

  • Symbol.iterator() → Iterable.<Node>

    Iterable interface.

    Iterates over all nodes contained inside this node list.

    Returns

    Iterable.<Node>
  • getNode( index ) → Node | null

    Gets the node at the given index. Returns null if incorrect index was passed.

    Parameters

    index : Number

    Index of node.

    Returns

    Node | null

    Node at given index.

  • getNodeIndex( node ) → Number | null

    Returns an index of the given node. Returns null if given node is not inside this node list.

    Parameters

    node : Node

    Child node to look for.

    Returns

    Number | null

    Child node's index.

  • getNodeStartOffset( node ) → Number | null

    Returns the starting offset of given node. Starting offset is equal to the sum of {module:engine/model/node~Node#offsetSize offset sizes} of all nodes that are before this node in this node list.

    Parameters

    node : Node

    Node to look for.

    Returns

    Number | null

    Node's starting offset.

  • indexToOffset( index ) → Number

    Converts index to offset in node list.

    Returns starting offset of a node that is at given index. Throws CKEditorError model-nodelist-index-out-of-bounds if given index is less than 0 or more than length.

    Parameters

    index : Number

    Node's index.

    Returns

    Number

    Node's starting offset.

  • offsetToIndex( offset ) → Number

    Converts offset in node list to index.

    Returns index of a node that occupies given offset. Throws CKEditorError model-nodelist-offset-out-of-bounds if given offset is less than 0 or more than maxOffset.

    Parameters

    offset : Number

    Offset to look for.

    Returns

    Number

    Index of a node that occupies given offset.

  • toJSON() → Array.<Node>

    Converts NodeList instance to an array containing nodes that were inserted in the node list. Nodes are also converted to their plain object representation.

    Returns

    Array.<Node>

    NodeList instance converted to Array.

  • _insertNodes( index, nodes )

    protected

    Inserts given nodes at given index.

    Parameters

    index : Number

    Index at which nodes should be inserted.

    nodes : Iterable.<Node>

    Nodes to be inserted.

  • _removeNodes( indexStart, [ howMany ] ) → Array.<Node>

    protected

    Removes one or more nodes starting at the given index.

    Parameters

    indexStart : Number

    Index of the first node to remove.

    [ howMany ] : Number

    Number of nodes to remove.

    Defaults to 1

    Returns

    Array.<Node>

    Array containing removed nodes.