1
0
mirror of https://github.com/ianstormtaylor/slate.git synced 2025-09-03 04:02:33 +02:00

add block reference

This commit is contained in:
Ian Storm Taylor
2016-07-12 17:02:42 -07:00
parent 665b0e0d3a
commit f067ffe75c
3 changed files with 89 additions and 5 deletions

View File

@@ -0,0 +1,84 @@
# `Block`
```js
import { Block } from 'slate'
```
A block node in a Slate [`Document`](./document.md).
Block nodes can contained nested block nodes, inline nodes, and text nodes—just like in the DOM. They always contain at least one text node child.
- [Properties](#properties)
- [`data`](#data)
- [`isVoid`](#isvoid)
- [`key`](#key)
- [`nodes`](#nodes)
- [`type`](#type)
- [Computed Properties](#computed-properties)
- [`kind`](#kind)
- [`length`](#length)
- [`text`](#text)
- [Node Methods](#node-methods)
## Properties
```js
Block({
data: Immutable.Map,
isVoid: Boolean,
key: String,
nodes: Immutable.List,
type: String
})
```
### `data`
`Immutable.Map`
Arbitrary data associated with the block. Defaults to an empty `Map`.
### `isVoid`
`Boolean`
Whether the node is a "void" node, meaning that it has no child content (eg. images, videos, etc.). Defaults to `false`.
Note that even though a node may be "void", it will still contain a single, empty [`Text`](./text.md) node for consistency across other operations. However, when rendered by Slate that single text node will not be visible.
### `key`
`String`
A unique identifier for the node.
### `nodes`
`Immutable.List`
A list of child nodes. Defaults to a list with a single text node child.
### `type`
`String`
The custom type of the block (eg. `blockquote` or `list-item`).
## Computed Properties
### `kind`
`String`
An immutable string value of `'block'` for easily separating this node from inline or text nodes.
### `length`
`Number`
The sum of the lengths of all of the descendant [`Text`](./text.md) nodes of this node.
### `text`
`String`
A concatenated string of all of the descendant [`Text`](./text.md) nodes of this node.
## Node Methods
Blocks implement the [`Node`](./node.md) interface. For information about their methods, see the [`Node` reference](./node.md).

View File

@@ -2,10 +2,10 @@
# `Selection`
```js
import { Selection } from 'Slate'
import { Selection } from 'slate'
```
A selection in the document. Selections in Slate are modeled after the native [DOM Selection API](https://developer.mozilla.org/en-US/docs/Web/API/Selection), using terms like "anchor", "focus" and "collapsed".
A selection of a Slate [`Document`](./document.md). Selections in Slate are modeled after the native [DOM Selection API](https://developer.mozilla.org/en-US/docs/Web/API/Selection), using terms like "anchor", "focus" and "collapsed".
The "anchor" is the fixed point in a selection, and the "focus" is the non-fixed point, which may move when you move the cursor (eg. when pressing `Shift + Right Arrow`).