mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-08-22 15:02:51 +02:00
docs: improve editor docs (#4218)
This commit is contained in:
@@ -330,9 +330,7 @@ Options: `{force?: boolean}`
|
||||
|
||||
Call a function, deferring normalization until after it completes.
|
||||
|
||||
## Instance methods
|
||||
|
||||
### Schema-specific methods to override
|
||||
## Schema-specific instance methods to override
|
||||
|
||||
Replace these methods to modify the original behavior of the editor when building [Plugins](https://github.com/ianstormtaylor/slate/tree/a02787539a460fb70730085e26df13cca959fabd/concepts/07-plugins/README.md). When modifying behavior, call the original method when appropriate. For example, a plugin that marks image nodes as "void":
|
||||
|
||||
@@ -348,6 +346,10 @@ const withImages = editor => {
|
||||
}
|
||||
```
|
||||
|
||||
### Override element type methods
|
||||
|
||||
Use these methods that Slate can identify certain elements as [inlines](../concepts/02-nodes#blocks-vs-inlines) or [voids](../concepts/02-nodes#voids).
|
||||
|
||||
#### `isInline(element: Element)`
|
||||
|
||||
Check if a value is an inline `Element` object.
|
||||
@@ -356,15 +358,19 @@ Check if a value is an inline `Element` object.
|
||||
|
||||
Check if a value is a void `Element` object.
|
||||
|
||||
### Override normalize method
|
||||
|
||||
#### `normalizeNode(entry: NodeEntry)`
|
||||
|
||||
Normalize a Node according to the schema.
|
||||
|
||||
### Override callback method
|
||||
|
||||
#### `onChange()`
|
||||
|
||||
Called when there is a change in the editor.
|
||||
|
||||
### Core actions
|
||||
### Override mark methods
|
||||
|
||||
#### `addMark(key: string, value: any)`
|
||||
|
||||
@@ -374,6 +380,10 @@ Add a custom property to the leaf text nodes in the current selection. If the se
|
||||
|
||||
Remove a custom property from the leaf text nodes in the current selection.
|
||||
|
||||
### Override delete methods
|
||||
|
||||
When a user presses backspace or delete, it invokes the method based on the selection. For example, if the selection is expanded over some text and the user presses the backspace key, `deleteFragment` will be called but if the selecttion is collapsed, `deleteBackward` will be called.
|
||||
|
||||
#### `deleteBackward(options?: {unit?: 'character' | 'word' | 'line' | 'block'})`
|
||||
|
||||
Delete content in the editor backward from the current selection.
|
||||
@@ -382,14 +392,16 @@ Delete content in the editor backward from the current selection.
|
||||
|
||||
Delete content in the editor forward from the current selection.
|
||||
|
||||
#### `insertFragment(fragment: Node[])`
|
||||
|
||||
Insert a fragment at the current selection. If the selection is currently expanded, delete it first.
|
||||
|
||||
#### `deleteFragment()`
|
||||
|
||||
Delete the content of the current selection.
|
||||
|
||||
### Override insert methods
|
||||
|
||||
#### `insertFragment(fragment: Node[])`
|
||||
|
||||
Insert a fragment at the current selection. If the selection is currently expanded, delete it first.
|
||||
|
||||
#### `insertBreak()`
|
||||
|
||||
Insert a block break at the current selection. If the selection is currently expanded, delete it first.
|
||||
@@ -402,6 +414,8 @@ Insert a node at the current selection. If the selection is currently expanded,
|
||||
|
||||
Insert text at the current selection. If the selection is currently expanded, delete it first.
|
||||
|
||||
### Override operation handling method
|
||||
|
||||
#### `apply(operation: Operation)`
|
||||
|
||||
Apply an operation in the editor.
|
||||
|
Reference in New Issue
Block a user