Node is not a publicly accessible module, but instead an interface that Document, Block and Inline all implement.

Properties

key

String

A short-lived, unique identifier for the node.

By default, keys are not meant to be long-lived unique identifiers for nodes that you might store in a database, or elsewhere. They are meant purely to identify a node inside of a single Slate instance. For that reason, they are simply auto-incrementing strings. (eg. '0', '1', '2', ...)

If you want to make your keys uniqueness long-lived, you'll need to supply your own key generating function via the setKeyGenerator util.

kind

String

An immutable string value of 'document', 'block', 'inline' or 'text' for easily separating this node from Inline or Text nodes.

nodes

Immutable.List

A list of child nodes. Defaults to a list with a single text node child.

Computed Properties

text

String

A concatenated string of all of the descendant Text nodes of this node.

Methods

filterDescendants

filterDescendants(iterator: Function) => List

Deeply filter the descendant nodes of a node by iterator.

findDescendant

findDescendant(iterator: Function) => Node || Void

Deeply find a descendant node by iterator.

getBlocksAtRange

getBlocksAtRange(range: Range) => List

Get all of the bottom-most Block nodes in a range.

getBlocks

getBlocks() => List

Get all of the bottom-most Block node descendants.

getCharactersAtRange

getCharactersAtRange(range: Range) => List

Get a list of all of the Characters in a range.

getChild

getChild(key: String || Node) => Node || Void

Get a child by key.

getClosestBlock

getClosestBlock(key: String || Node) => Node || Void

Get the closest Block node to a descendant node by key.

getClosestInline

getClosestInline(key: String || Node) => Node || Void

Get the closest Inline node to a descendant node by key.

getClosest

getClosest(key: String || Node, match: Function) => Node || Void

Get the closest parent node of a descendant node by key that matches a match function.

getDepth

getDepth(key: String || Node) => Number

Get the depth of a descendant node by key.

getDescendant

getDescendant(key: String || Node) => Node || Void

Get a descendant node by key.

getFirstText

getFirstText() => Node || Void

Get the first child text node inside a node.

getFragmentAtRange

getFragmentAtRange(range: Range) => Document

Get a document fragment of the nodes in a range.

getFurthest

getFurthest(key: String, iterator: Function) => Node || Null

Get the furthest parent of a node by key that matches an iterator.

getFurthestAncestor

getFurthestAncestor(key: String) => Node || Null

Get the furthest ancestor of a node by key.

getFurthestBlock

getFurthestBlock(key: String) => Node || Null

Get the furthest block parent of a node by key.

getFurthestInline

getFurthestInline(key: String) => Node || Null

Get the furthest inline parent of a node by key.

getFurthestOnlyChildAncestor

getFurthestOnlyChildAncestor(key: String) => Node || Null

Get the furthest ancestor of a node by key that has only one child.

getInlinesAtRange

getInlinesAtRange(range: Range) => List

Get all of the top-most Inline nodes in a range.

getLastText

getLastText() => Node || Void

Get the last child text node inside a node.

getMarksAtRange

getMarksAtRange(range: Range) => Set

Get a set of all of the marks in a range.

getNextBlock

getNextBlock(key: String || Node) => Node || Void

Get the next, bottom-most Block node after a descendant by key.

getNextSibling

getNextSibling(key: String || Node) => Node || Void

Get the next sibling of a descendant by key.

getNextText

getNextText(key: String || Node) => Node || Void

Get the next Text node after a descendant by key.

getParent

getParent(key: String || Node) => Node || Void

Get the parent node of a descendant by key.

getPreviousBlock

getPreviousBlock(key: String || Node) => Node || Void

Get the previous, bottom-most Block node before a descendant by key.

getPreviousSibling

getPreviousSibling(key: String || Node) => Node || Void

Get the previous sibling of a descendant by key.

getPreviousText

getPreviousText(key: String || Node) => Node || Void

Get the previous Text node before a descendant by key.

getTextAtOffset

getTextAtOffset(offset: Number) => Text || Void

Get the Text node at an offset.

getTextsAtRange

getTextsAtRange(range: Range) => List

Get all of the Text nodes in a range.

hasChild

hasChild(key: String || Node) => Boolean

Check whether the node has a child node by key.

hasDescendant

hasDescendant(key: String || Node) => Boolean

Check whether the node has a descendant node by key.

Was this page helpful? Let us know how we did:
Page History
Ian Storm Taylor
8 hours ago
Add a `copyFragment` helper for plugin onCut/onCopy functions (#1429)
Ian Storm Taylor
9 days ago
update readmes
Ian Storm Taylor
9 days ago
Fix small error in docs (#1435)
Show more