Report an issue
Class

Text (engine/view)

@ckeditor/ckeditor5-engine/src/view/text

class

Tree view text node.

Filtering

Properties

  • data

    The text content.

  • document : Document | null

    readonly inherited

    View document that owns this node, or null if the node is inside document fragment.

  • index : Number | null

    readonly inherited

    Index of the node in the parent element or null if the node has no parent.

    Accessing this property throws an error if this node's parent element does not contain it. This means that view tree got broken.

  • nextSibling : Node | null

    readonly inherited

    Node's next sibling, or null if it is the last child.

  • parent : Element | DocumentFragment | null

    readonly inherited

    Parent element. Null by default. Set by _insertChild.

  • previousSibling : Node | null

    readonly inherited

    Node's previous sibling, or null if it is the first child.

  • root : Node | DocumentFragment

    readonly inherited

    Top-most ancestor of the node. If the node has no parent it is the root itself.

  • _data

    protected

    Sets data and fires the change event.

  • _textData : String

    protected

    The text content.

    Setting the data fires the change event.

Methods

  • constructor( data )

    protected

    Creates a tree view text node.

    Note: Constructor of this class shouldn't be used directly in the code. Use the createText method instead.

    Parameters

    data : String

    Text.

    Overrides: Node#constructor
  • _fireChange( type, node )

    inherited

    Parameters

    type : ChangeType

    Type of the change.

    node : Node

    Changed node.

    Fires

  • getAncestors( options = { [options.includeSelf], [options.parentFirst] } ) → Array

    inherited

    Returns ancestors array of this node.

    Parameters

    options : Object

    Options object.

    Properties
    [ options.includeSelf ] : Boolean

    When set to true this node will be also included in parent's array.

    Defaults to false

    [ options.parentFirst ] : Boolean

    When set to true, array will be sorted from node's parent to root element, otherwise root element will be the first item in the array.

    Defaults to false

    Returns

    Array

    Array with ancestors.

  • getCommonAncestor( node, options = { [options.includeSelf] } ) → Element | DocumentFragment | null

    inherited

    Returns a Element or DocumentFragment which is a common ancestor of both nodes.

    Parameters

    node : Node

    The second node.

    options : Object

    Options object.

    Properties
    [ options.includeSelf ] : Boolean

    When set to true both nodes will be considered "ancestors" too. Which means that if e.g. node A is inside B, then their common ancestor will be B.

    Defaults to false

    Returns

    Element | DocumentFragment | null
  • getPath() → Array.<Number>

    inherited

    Gets a path to the node. The path is an array containing indices of consecutive ancestors of this node, beginning from root, down to this node's index.

    const abc = new Text( 'abc' );
    const foo = new Text( 'foo' );
    const h1 = new Element( 'h1', null, new Text( 'header' ) );
    const p = new Element( 'p', null, [ abc, foo ] );
    const div = new Element( 'div', null, [ h1, p ] );
    foo.getPath(); // Returns [ 1, 3 ]. `foo` is in `p` which is in `div`. `p` starts at offset 1, while `foo` at 3.
    h1.getPath(); // Returns [ 0 ].
    div.getPath(); // Returns [].

    Returns

    Array.<Number>

    The path.

  • is( type ) → Boolean

    inherited

    Checks whether given view tree object is of given type.

    This method is useful when processing view tree objects that are of unknown type. For example, a function may return DocumentFragment or Node that can be either text node or element. This method can be used to check what kind of object is returned.

    obj.is( 'node' ); // true for any node, false for document fragment and text fragment
    obj.is( 'documentFragment' ); // true for document fragment, false for any node
    obj.is( 'element' ); // true for any element, false for text node or document fragment
    obj.is( 'element', 'p' ); // true only for element which name is 'p'
    obj.is( 'p' ); // shortcut for obj.is( 'element', 'p' )
    obj.is( 'text' ); // true for text node, false for element and document fragment

    Parameters

    type : 'element' | 'containerElement' | 'attributeElement' | 'emptyElement' | 'uiElement' | 'rootElement' | 'documentFragment' | 'text' | 'textProxy'

    Returns

    Boolean
    Overrides: Node#is
  • isAfter( node ) → Boolean

    inherited

    Returns whether this node is after given node. false is returned if nodes are in different trees (for example, in different DocumentFragments).

    Parameters

    node : Node

    Node to compare with.

    Returns

    Boolean
  • isBefore( node ) → Boolean

    inherited

    Returns whether this node is before given node. false is returned if nodes are in different trees (for example, in different DocumentFragments).

    Parameters

    node : Node

    Node to compare with.

    Returns

    Boolean
  • isSimilar( otherNode ) → Boolean

    Checks if this text node is similar to other text node. Both nodes should have the same data to be considered as similar.

    Parameters

    otherNode : Text

    Node to check if it is same as this node.

    Returns

    Boolean
    Overrides: Node#isSimilar
  • toJSON() → Object

    inherited

    Custom toJSON method to solve child-parent circular dependencies.

    Returns

    Object

    Clone of this object with the parent property removed.

  • _clone() → Text

    protected

    Clones this node.

    Returns

    Text

    Text node that is a clone of this node.

    Overrides: Node#_clone
  • _remove()

    protected inherited

    Removes node from parent.

Events

  • change( eventInfo )

    inherited

    Parameters

    eventInfo : EventInfo

    An object containing information about the fired event.

  • change:attributes( eventInfo, changedNode )

    inherited

    Fired when list of elements attributes changes.

    Change event is bubbled – it is fired on all ancestors.

    Parameters

    eventInfo : EventInfo

    An object containing information about the fired event.

    changedNode : Node
  • change:children( eventInfo, changedNode )

    inherited

    Fired when list of elements children changes.

    Change event is bubbled – it is fired on all ancestors.

    Parameters

    eventInfo : EventInfo

    An object containing information about the fired event.

    changedNode : Node
  • change:text( eventInfo, changedNode )

    inherited

    Fired when text nodes data changes.

    Change event is bubbled – it is fired on all ancestors.

    Parameters

    eventInfo : EventInfo

    An object containing information about the fired event.

    changedNode : Node