Text (engine/view)
@ckeditor/ckeditor5-engine/src/view/text
Tree view text node.
The constructor of this class shouldn't be used directly. To create new Text instances
use the DowncastWriter#createText()
method when working on data downcasted from the model or the
UpcastWriter#createText()
method when working on non-semantic views.
Filtering
Properties
-
data : String
readonly
The text content.
-
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.
Parameters
data : String
New data for the text node.
-
_textData : String
protected
The text content.
Setting the data fires the change event.
Methods
-
constructor( data )
protected
Creates a tree view text node.
Parameters
data : String
The text's data.
-
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
orDocumentFragment
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 = downcastWriter.createText( 'abc' ); const foo = downcastWriter.createText( 'foo' ); const h1 = downcastWriter.createElement( 'h1', null, downcastWriter.createText( 'header' ) ); const p = downcastWriter.createElement( 'p', null, [ abc, foo ] ); const div = downcastWriter.createElement( '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
orNode
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
-
isAfter( node ) → Boolean
inherited
Returns whether this node is after given node.
false
is returned if nodes are in different trees (for example, in differentDocumentFragment
s). -
isBefore( node ) → Boolean
inherited
Returns whether this node is before given node.
false
is returned if nodes are in different trees (for example, in differentDocumentFragment
s). -
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.
-
toJSON() → Object
inherited
Custom toJSON method to solve child-parent circular dependencies.
Returns
Object
Clone of this object with the parent property removed.
-
Clones this node.
Returns
Text
Text node that is a clone of this node.
-
_fireChange( type, node )
protected inherited
-
_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:children( eventInfo, changedNode )
inherited
Fired when list of elements children changes.
-
change:text( eventInfo, changedNode )
inherited
Fired when text nodes data changes.