Document
import { Document } from 'slate'
The top-level node in Slate's document model.
Documents are made up of block nodes, inline nodes, and text nodes—just like in the DOM. Note that direct descendants of a document node have to be block nodes.
In some places, you'll see mention of "fragments", which are also Document objects, just that aren't attached to the main Value. For example, when cutting-and-pasting a selection of content, that content will be referred to as a document "fragment".
Properties
Document({
nodes: Immutable.List<Node>,
})
data
Immutable.Map
object
String
An immutable string value of 'document' for easily separating this node from Block, Inline or Text nodes.
Arbitrary data associated with the document. Defaults to an empty Map.
nodes
Immutable.List
A list of child nodes.
Computed Properties
text
String
A concatenated string of all of the descendant Text nodes of this node.
Static Methods
Document.create
Document.create(properties: Object) => Document
Create a document from a plain Javascript object of properties.
Document.fromJSON
Document.fromJSON(object: Object) => Document
Create a document from a JSON object.
Document.isDocument
Document.isDocument(maybeDocument: Any) => Boolean
Returns a boolean if the passed in argument is a Document.
Node Methods
Documents implement the Node interface. For information about all of the node methods, see the Node reference.
Instance Methods
toJSON
toJSON() => Object
Returns a JSON representation of the document.