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