mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-04 23:07:06 +00:00
Merge pull request #30524 from sgreav/master
[Slate, Slate-React] Add commands to Slate React
This commit is contained in:
Vendored
+256
-22
@@ -12,7 +12,7 @@
|
||||
// TypeScript Version: 2.8
|
||||
import {
|
||||
Document,
|
||||
Editor as Controller,
|
||||
Editor as CoreEditor,
|
||||
Mark,
|
||||
Node,
|
||||
Block,
|
||||
@@ -22,6 +22,14 @@ import {
|
||||
Stack,
|
||||
Value,
|
||||
Operation,
|
||||
MarkProperties,
|
||||
BlockProperties,
|
||||
InlineProperties,
|
||||
Path,
|
||||
RangeProperties,
|
||||
NodeProperties,
|
||||
Range,
|
||||
Controller
|
||||
} from "slate";
|
||||
import * as Immutable from "immutable";
|
||||
import * as React from "react";
|
||||
@@ -34,7 +42,7 @@ export interface RenderAttributes {
|
||||
export interface RenderMarkProps {
|
||||
attributes: RenderAttributes;
|
||||
children: React.ReactNode;
|
||||
editor: Controller;
|
||||
editor: CoreEditor;
|
||||
mark: Mark;
|
||||
marks: Immutable.Set<Mark>;
|
||||
node: Node;
|
||||
@@ -45,7 +53,7 @@ export interface RenderMarkProps {
|
||||
export interface RenderNodeProps {
|
||||
attributes: RenderAttributes;
|
||||
children: React.ReactNode;
|
||||
editor: Controller;
|
||||
editor: CoreEditor;
|
||||
isFocused: boolean;
|
||||
isSelected: boolean;
|
||||
key: string;
|
||||
@@ -55,23 +63,23 @@ export interface RenderNodeProps {
|
||||
}
|
||||
|
||||
export interface RenderPlaceholderProps {
|
||||
editor: Controller;
|
||||
editor: CoreEditor;
|
||||
readOnly: boolean;
|
||||
}
|
||||
|
||||
export type EventHook = (
|
||||
event: Event,
|
||||
editor: Controller,
|
||||
editor: CoreEditor,
|
||||
next: () => any
|
||||
) => any;
|
||||
|
||||
export interface Plugin {
|
||||
decorateNode?: (node: Node, editor: Controller, next: () => any) => any;
|
||||
renderEditor?: (props: EditorProps, editor: Controller, next: () => any) => any;
|
||||
renderMark?: (props: RenderMarkProps, editor: Controller, next: () => any) => any;
|
||||
renderNode?: (props: RenderNodeProps, editor: Controller, next: () => any) => any;
|
||||
renderPlaceholder?: (props: RenderPlaceholderProps, editor: Controller, next: () => any) => any;
|
||||
shouldNodeComponentUpdate?: (previousProps: RenderNodeProps, props: RenderNodeProps, editor: Controller, next: () => any) => any;
|
||||
decorateNode?: (node: Node, editor: CoreEditor, next: () => any) => any;
|
||||
renderEditor?: (props: EditorProps, editor: CoreEditor, next: () => any) => any;
|
||||
renderMark?: (props: RenderMarkProps, editor: CoreEditor, next: () => any) => any;
|
||||
renderNode?: (props: RenderNodeProps, editor: CoreEditor, next: () => any) => any;
|
||||
renderPlaceholder?: (props: RenderPlaceholderProps, editor: CoreEditor, next: () => any) => any;
|
||||
shouldNodeComponentUpdate?: (previousProps: RenderNodeProps, props: RenderNodeProps, editor: CoreEditor, next: () => any) => any;
|
||||
|
||||
onBeforeInput?: EventHook;
|
||||
onBlur?: EventHook;
|
||||
@@ -118,8 +126,8 @@ export interface EditorState {
|
||||
stack: Stack;
|
||||
}
|
||||
|
||||
export class Editor extends React.Component<EditorProps, EditorState> {
|
||||
controller: Controller;
|
||||
export class Editor extends React.Component<EditorProps, EditorState> implements Controller {
|
||||
controller: CoreEditor;
|
||||
schema: Schema;
|
||||
stack: Stack;
|
||||
|
||||
@@ -128,16 +136,242 @@ export class Editor extends React.Component<EditorProps, EditorState> {
|
||||
readonly readOnly: boolean;
|
||||
readonly value: Value;
|
||||
|
||||
// Instance Methods
|
||||
applyOperation(...args: any[]): Controller;
|
||||
blur(): void;
|
||||
command(...args: any[]): Controller;
|
||||
focus(): void;
|
||||
normalize(...args: any[]): Controller;
|
||||
query(...args: any[]): Controller;
|
||||
// Instance methods
|
||||
resolveController(plugins: Plugin[], schema: Schema, commands: any[], queries: any[]): void;
|
||||
run(...args: any[]): any;
|
||||
withoutNormalizing(...args: any[]): Controller;
|
||||
|
||||
// Controller
|
||||
addMark: CoreEditor['addMark'];
|
||||
delete: CoreEditor['delete'];
|
||||
deleteBackward: CoreEditor['deleteBackward'];
|
||||
deleteForward: CoreEditor['deleteForward'];
|
||||
insertBlock: CoreEditor['insertBlock'];
|
||||
insertFragment: CoreEditor['insertFragment'];
|
||||
insertInline: CoreEditor['insertInline'];
|
||||
insertText: CoreEditor['insertText'];
|
||||
setBlocks: CoreEditor['setBlocks'];
|
||||
setInlines: CoreEditor['setInlines'];
|
||||
splitBlock: CoreEditor['splitBlock'];
|
||||
splitInline: CoreEditor['splitInline'];
|
||||
removeMark: CoreEditor['removeMark'];
|
||||
replaceMark: CoreEditor['replaceMark'];
|
||||
toggleMark: CoreEditor['toggleMark'];
|
||||
unwrapBlock: CoreEditor['unwrapBlock'];
|
||||
unwrapInline: CoreEditor['unwrapInline'];
|
||||
wrapBlock: CoreEditor['wrapBlock'];
|
||||
wrapInline: CoreEditor['wrapInline'];
|
||||
wrapText: CoreEditor['wrapText'];
|
||||
blur: CoreEditor['blur'];
|
||||
deselect: CoreEditor['deselect'];
|
||||
flip: CoreEditor['flip'];
|
||||
focus: CoreEditor['focus'];
|
||||
moveAnchorBackward: CoreEditor['moveAnchorBackward'];
|
||||
moveAnchorForward: CoreEditor['moveAnchorForward'];
|
||||
moveAnchorTo: CoreEditor['moveAnchorTo'];
|
||||
moveAnchorToEndOfBlock: CoreEditor['moveAnchorToEndOfBlock'];
|
||||
moveAnchorToEndOfInline: CoreEditor['moveAnchorToEndOfInline'];
|
||||
moveAnchorToEndOfDocument: CoreEditor['moveAnchorToEndOfDocument'];
|
||||
moveAnchorToEndOfNextBlock: CoreEditor['moveAnchorToEndOfNextBlock'];
|
||||
moveAnchorToEndOfNextInline: CoreEditor['moveAnchorToEndOfNextInline'];
|
||||
moveAnchorToEndOfNextText: CoreEditor['moveAnchorToEndOfNextText'];
|
||||
moveAnchorEndOfNode: CoreEditor['moveAnchorEndOfNode'];
|
||||
moveAnchorToEndOfPreviousBlock: CoreEditor['moveAnchorToEndOfPreviousBlock'];
|
||||
moveAnchorToEndOfPreviousInline: CoreEditor['moveAnchorToEndOfPreviousInline'];
|
||||
moveAnchorToEndOfPreviousText: CoreEditor['moveAnchorToEndOfPreviousText'];
|
||||
moveAnchorToEndOfText: CoreEditor['moveAnchorToEndOfText'];
|
||||
moveAnchorToStartOfBlock: CoreEditor['moveAnchorToStartOfBlock'];
|
||||
moveAnchorToStartOfDocument: CoreEditor['moveAnchorToStartOfDocument'];
|
||||
moveAnchorToStartOfInline: CoreEditor['moveAnchorToStartOfInline'];
|
||||
moveAnchorToStartOfNextBlock: CoreEditor['moveAnchorToStartOfNextBlock'];
|
||||
moveAnchorToStartOfNextInline: CoreEditor['moveAnchorToStartOfNextInline'];
|
||||
moveAnchorToStartOfNextText: CoreEditor['moveAnchorToStartOfNextText'];
|
||||
moveAnchorToStartOfNode: CoreEditor['moveAnchorToStartOfNode'];
|
||||
moveAnchorToStartOfPreviousBlock: CoreEditor['moveAnchorToStartOfPreviousBlock'];
|
||||
moveAnchorToStartOfPreviousInline: CoreEditor['moveAnchorToStartOfPreviousInline'];
|
||||
moveAnchorToStartOfPreviousText: CoreEditor['moveAnchorToStartOfPreviousText'];
|
||||
moveAnchorToStartOfText: CoreEditor['moveAnchorToStartOfText'];
|
||||
moveEndBackward: CoreEditor['moveEndBackward'];
|
||||
moveEndForward: CoreEditor['moveEndForward'];
|
||||
moveEndTo: CoreEditor['moveEndTo'];
|
||||
moveEndToEndOfBlock: CoreEditor['moveEndToEndOfBlock'];
|
||||
moveEndToEndOfDocument: CoreEditor['moveEndToEndOfDocument'];
|
||||
moveEndToEndOfInline: CoreEditor['moveEndToEndOfInline'];
|
||||
moveEndToEndOfNextBlock: CoreEditor['moveEndToEndOfNextBlock'];
|
||||
moveEndToEndOfNextInline: CoreEditor['moveEndToEndOfNextInline'];
|
||||
moveEndToEndOfNextText: CoreEditor['moveEndToEndOfNextText'];
|
||||
moveEndToEndOfNode: CoreEditor['moveEndToEndOfNode'];
|
||||
moveEndToEndOfPreviousBlock: CoreEditor['moveEndToEndOfPreviousBlock'];
|
||||
moveEndToEndOfPreviousInline: CoreEditor['moveEndToEndOfPreviousInline'];
|
||||
moveEndToEndOfPreviousText: CoreEditor['moveEndToEndOfPreviousText'];
|
||||
moveEndToEndOfText: CoreEditor['moveEndToEndOfText'];
|
||||
moveEndToStartOfBlock: CoreEditor['moveEndToStartOfBlock'];
|
||||
moveEndToStartOfDocument: CoreEditor['moveEndToStartOfDocument'];
|
||||
moveEndToStartOfInline: CoreEditor['moveEndToStartOfInline'];
|
||||
moveEndToStartOfNextBlock: CoreEditor['moveEndToStartOfNextBlock'];
|
||||
moveEndToStartOfNextInline: CoreEditor['moveEndToStartOfNextInline'];
|
||||
moveEndToStartOfNextText: CoreEditor['moveEndToStartOfNextText'];
|
||||
moveEndToStartOfNode: CoreEditor['moveEndToStartOfNode'];
|
||||
moveEndToStartOfPreviousBlock: CoreEditor['moveEndToStartOfPreviousBlock'];
|
||||
moveEndToStartOfPreviousInline: CoreEditor['moveEndToStartOfPreviousInline'];
|
||||
moveEndToStartOfPreviousText: CoreEditor['moveEndToStartOfPreviousText'];
|
||||
moveEndToStartOfText: CoreEditor['moveEndToStartOfText'];
|
||||
moveFocusBackward: CoreEditor['moveFocusBackward'];
|
||||
moveFocusForward: CoreEditor['moveFocusForward'];
|
||||
moveFocusTo: CoreEditor['moveFocusTo'];
|
||||
moveFocusToEndOfBlock: CoreEditor['moveFocusToEndOfBlock'];
|
||||
moveFocusToEndOfDocument: CoreEditor['moveFocusToEndOfDocument'];
|
||||
moveFocusToEndOfInline: CoreEditor['moveFocusToEndOfInline'];
|
||||
moveFocusToEndOfNextBlock: CoreEditor['moveFocusToEndOfNextBlock'];
|
||||
moveFocusToEndOfNextInline: CoreEditor['moveFocusToEndOfNextInline'];
|
||||
moveFocusToEndOfNextText: CoreEditor['moveFocusToEndOfNextText'];
|
||||
moveFocusToEndOfNode: CoreEditor['moveFocusToEndOfNode'];
|
||||
moveFocusToEndOfPreviousBlock: CoreEditor['moveFocusToEndOfPreviousBlock'];
|
||||
moveFocusToEndOfPreviousInline: CoreEditor['moveFocusToEndOfPreviousInline'];
|
||||
moveFocusToEndOfPreviousText: CoreEditor['moveFocusToEndOfPreviousText'];
|
||||
moveFocusToEndOfText: CoreEditor['moveFocusToEndOfText'];
|
||||
moveFocusToStartOfBlock: CoreEditor['moveFocusToStartOfBlock'];
|
||||
moveFocusToStartOfDocument: CoreEditor['moveFocusToStartOfDocument'];
|
||||
moveFocusToStartOfInline: CoreEditor['moveFocusToStartOfInline'];
|
||||
moveFocusToStartOfNextBlock: CoreEditor['moveFocusToStartOfNextBlock'];
|
||||
moveFocusToStartOfNextInline: CoreEditor['moveFocusToStartOfNextInline'];
|
||||
moveFocusToStartOfNextText: CoreEditor['moveFocusToStartOfNextText'];
|
||||
moveFocusToStartOfNode: CoreEditor['moveFocusToStartOfNode'];
|
||||
moveFocusToStartOfPreviousBlock: CoreEditor['moveFocusToStartOfPreviousBlock'];
|
||||
moveFocusToStartOfPreviousInline: CoreEditor['moveFocusToStartOfPreviousInline'];
|
||||
moveFocusToStartOfPreviousText: CoreEditor['moveFocusToStartOfPreviousText'];
|
||||
moveFocusToStartOfText: CoreEditor['moveFocusToStartOfText'];
|
||||
moveStartForward: CoreEditor['moveStartForward'];
|
||||
moveStartBackward: CoreEditor['moveStartBackward'];
|
||||
moveStartTo: CoreEditor['moveStartTo'];
|
||||
moveStartToEndOfBlock: CoreEditor['moveStartToEndOfBlock'];
|
||||
moveStartToEndOfDocument: CoreEditor['moveStartToEndOfDocument'];
|
||||
moveStartToEndOfInline: CoreEditor['moveStartToEndOfInline'];
|
||||
moveStartToEndOfNextBlock: CoreEditor['moveStartToEndOfNextBlock'];
|
||||
moveStartToEndOfNextInline: CoreEditor['moveStartToEndOfNextInline'];
|
||||
moveStartToEndOfNextText: CoreEditor['moveStartToEndOfNextText'];
|
||||
moveStartToEndOfNode: CoreEditor['moveStartToEndOfNode'];
|
||||
moveStartToEndOfPreviousBlock: CoreEditor['moveStartToEndOfPreviousBlock'];
|
||||
moveStartToEndOfPreviousInline: CoreEditor['moveStartToEndOfPreviousInline'];
|
||||
moveStartToEndOfPreviousText: CoreEditor['moveStartToEndOfPreviousText'];
|
||||
moveStartToEndOfText: CoreEditor['moveStartToEndOfText'];
|
||||
moveStartToStartOfBlock: CoreEditor['moveStartToStartOfBlock'];
|
||||
moveStartToStartOfDocument: CoreEditor['moveStartToStartOfDocument'];
|
||||
moveStartToStartOfInline: CoreEditor['moveStartToStartOfInline'];
|
||||
moveStartToStartOfNextBlock: CoreEditor['moveStartToStartOfNextBlock'];
|
||||
moveStartToStartOfNextInline: CoreEditor['moveStartToStartOfNextInline'];
|
||||
moveStartToStartOfNextText: CoreEditor['moveStartToStartOfNextText'];
|
||||
moveStartToStartOfNode: CoreEditor['moveStartToStartOfNode'];
|
||||
moveStartToStartOfPreviousBlock: CoreEditor['moveStartToStartOfPreviousBlock'];
|
||||
moveStartToStartOfPreviousInline: CoreEditor['moveStartToStartOfPreviousInline'];
|
||||
moveStartToStartOfPreviousText: CoreEditor['moveStartToStartOfPreviousText'];
|
||||
moveStartToStartOfText: CoreEditor['moveStartToStartOfText'];
|
||||
moveBackward: CoreEditor['moveBackward'];
|
||||
moveForward: CoreEditor['moveForward'];
|
||||
moveTo: CoreEditor['moveTo'];
|
||||
moveToAnchor: CoreEditor['moveToAnchor'];
|
||||
moveToFocus: CoreEditor['moveToFocus'];
|
||||
moveToStart: CoreEditor['moveToStart'];
|
||||
moveToEnd: CoreEditor['moveToEnd'];
|
||||
moveToEndOfBlock: CoreEditor['moveToEndOfBlock'];
|
||||
moveToEndOfDocument: CoreEditor['moveToEndOfDocument'];
|
||||
moveToEndOfInline: CoreEditor['moveToEndOfInline'];
|
||||
moveToEndOfNextBlock: CoreEditor['moveToEndOfNextBlock'];
|
||||
moveToEndOfNextInline: CoreEditor['moveToEndOfNextInline'];
|
||||
moveToEndOfNextText: CoreEditor['moveToEndOfNextText'];
|
||||
moveToEndOfNode: CoreEditor['moveToEndOfNode'];
|
||||
moveToEndOfPreviousBlock: CoreEditor['moveToEndOfPreviousBlock'];
|
||||
moveToEndOfPreviousInline: CoreEditor['moveToEndOfPreviousInline'];
|
||||
moveToEndOfPreviousText: CoreEditor['moveToEndOfPreviousText'];
|
||||
moveToEndOfText: CoreEditor['moveToEndOfText'];
|
||||
moveToStartOfBlock: CoreEditor['moveToStartOfBlock'];
|
||||
moveToStartOfDocument: CoreEditor['moveToStartOfDocument'];
|
||||
moveToStartOfInline: CoreEditor['moveToStartOfInline'];
|
||||
moveToStartOfNextBlock: CoreEditor['moveToStartOfNextBlock'];
|
||||
moveToStartOfNextInline: CoreEditor['moveToStartOfNextInline'];
|
||||
moveToStartOfNextText: CoreEditor['moveToStartOfNextText'];
|
||||
moveToStartOfNode: CoreEditor['moveToStartOfNode'];
|
||||
moveToStartOfPreviousBlock: CoreEditor['moveToStartOfPreviousBlock'];
|
||||
moveToStartOfPreviousInline: CoreEditor['moveToStartOfPreviousInline'];
|
||||
moveToStartOfPreviousText: CoreEditor['moveToStartOfPreviousText'];
|
||||
moveToStartOfText: CoreEditor['moveToStartOfText'];
|
||||
moveToRangeOfDocument: CoreEditor['moveToRangeOfDocument'];
|
||||
moveToRangeOf: CoreEditor['moveToRangeOf'];
|
||||
select: CoreEditor['select'];
|
||||
addMarkAtRange: CoreEditor['addMarkAtRange'];
|
||||
deleteAtRange: CoreEditor['deleteAtRange'];
|
||||
deleteCharBackwardAtRange: CoreEditor['deleteCharBackwardAtRange'];
|
||||
deleteLineBackwardAtRange: CoreEditor['deleteLineBackwardAtRange'];
|
||||
deleteWordBackwardAtRange: CoreEditor['deleteWordBackwardAtRange'];
|
||||
deleteBackwardAtRange: CoreEditor['deleteBackwardAtRange'];
|
||||
deleteCharForwardAtRange: CoreEditor['deleteCharForwardAtRange'];
|
||||
deleteLineForwardAtRange: CoreEditor['deleteLineForwardAtRange'];
|
||||
deleteWordForwardAtRange: CoreEditor['deleteWordForwardAtRange'];
|
||||
deleteForwardAtRange: CoreEditor['deleteForwardAtRange'];
|
||||
insertBlockAtRange: CoreEditor['insertBlockAtRange'];
|
||||
insertFragmentAtRange: CoreEditor['insertFragmentAtRange'];
|
||||
insertInlineAtRange: CoreEditor['insertInlineAtRange'];
|
||||
insertTextAtRange: CoreEditor['insertTextAtRange'];
|
||||
setBlocksAtRange: CoreEditor['setBlocksAtRange'];
|
||||
setInlinesAtRange: CoreEditor['setInlinesAtRange'];
|
||||
splitBlockAtRange: CoreEditor['splitBlockAtRange'];
|
||||
splitInlineAtRange: CoreEditor['splitInlineAtRange'];
|
||||
removeMarkAtRange: CoreEditor['removeMarkAtRange'];
|
||||
toggleMarkAtRange: CoreEditor['toggleMarkAtRange'];
|
||||
unwrapBlockAtRange: CoreEditor['unwrapBlockAtRange'];
|
||||
unwrapInlineAtRange: CoreEditor['unwrapInlineAtRange'];
|
||||
wrapBlockAtRange: CoreEditor['wrapBlockAtRange'];
|
||||
wrapInlineAtRange: CoreEditor['wrapInlineAtRange'];
|
||||
wrapTextAtRange: CoreEditor['wrapTextAtRange'];
|
||||
addMarkByKey: CoreEditor['addMarkByKey'];
|
||||
addMarkByPath: CoreEditor['addMarkByPath'];
|
||||
insertNodeByKey: CoreEditor['insertNodeByKey'];
|
||||
insertNodeByPath: CoreEditor['insertNodeByPath'];
|
||||
insertFragmentByKey: CoreEditor['insertFragmentByKey'];
|
||||
insertFragmentByPath: CoreEditor['insertFragmentByPath'];
|
||||
insertTextByKey: CoreEditor['insertTextByKey'];
|
||||
insertTextByPath: CoreEditor['insertTextByPath'];
|
||||
mergeNodeByKey: CoreEditor['mergeNodeByKey'];
|
||||
mergeNodeByPath: CoreEditor['mergeNodeByPath'];
|
||||
moveNodeByKey: CoreEditor['moveNodeByKey'];
|
||||
moveNodeByPath: CoreEditor['moveNodeByPath'];
|
||||
removeMarkByKey: CoreEditor['removeMarkByKey'];
|
||||
removeMarkByPath: CoreEditor['removeMarkByPath'];
|
||||
removeNodeByKey: CoreEditor['removeNodeByKey'];
|
||||
removeNodeByPath: CoreEditor['removeNodeByPath'];
|
||||
replaceNodeByKey: CoreEditor['replaceNodeByKey'];
|
||||
replaceNodeByPath: CoreEditor['replaceNodeByPath'];
|
||||
removeTextByKey: CoreEditor['removeTextByKey'];
|
||||
removeTextByPath: CoreEditor['removeTextByPath'];
|
||||
setMarkByKey: CoreEditor['setMarkByKey'];
|
||||
setMarksByPath: CoreEditor['setMarksByPath'];
|
||||
setNodeByKey: CoreEditor['setNodeByKey'];
|
||||
setNodeByPath: CoreEditor['setNodeByPath'];
|
||||
splitNodeByKey: CoreEditor['splitNodeByKey'];
|
||||
splitNodeByPath: CoreEditor['splitNodeByPath'];
|
||||
unwrapInlineByKey: CoreEditor['unwrapInlineByKey'];
|
||||
unwrapInlineByPath: CoreEditor['unwrapInlineByPath'];
|
||||
unwrapBlockByKey: CoreEditor['unwrapBlockByKey'];
|
||||
unwrapBlockByPath: CoreEditor['unwrapBlockByPath'];
|
||||
unwrapNodeByKey: CoreEditor['unwrapNodeByKey'];
|
||||
unwrapNodeByPath: CoreEditor['unwrapNodeByPath'];
|
||||
wrapInlineByKey: CoreEditor['wrapInlineByKey'];
|
||||
wrapInlineByPath: CoreEditor['wrapInlineByPath'];
|
||||
wrapBlockByKey: CoreEditor['wrapBlockByKey'];
|
||||
wrapBlockByPath: CoreEditor['wrapBlockByPath'];
|
||||
wrapNodeByKey: CoreEditor['wrapNodeByKey'];
|
||||
wrapNodeByPath: CoreEditor['wrapNodeByPath'];
|
||||
normalize: CoreEditor['normalize'];
|
||||
withoutNormalizing: CoreEditor['withoutNormalizing'];
|
||||
withoutSaving: CoreEditor['withoutSaving'];
|
||||
withoutMerging: CoreEditor['withoutMerging'];
|
||||
redo: CoreEditor['redo'];
|
||||
undo: CoreEditor['undo'];
|
||||
snapshotSelection: CoreEditor['snapshotSelection'];
|
||||
command: CoreEditor['command'];
|
||||
query: CoreEditor['query'];
|
||||
registerCommand: CoreEditor['registerCommand'];
|
||||
registerQuery: CoreEditor['registerQuery'];
|
||||
applyOperation: CoreEditor['applyOperation'];
|
||||
run: CoreEditor['run'];
|
||||
}
|
||||
|
||||
export type SlateType =
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Editor, Plugin, EditorProps, RenderNodeProps } from "slate-react";
|
||||
import { Value, Editor as Controller, Operation } from "slate";
|
||||
import { Value, Editor as Controller, Operation, Point, Range, Inline, Mark, Document } from "slate";
|
||||
import * as React from "react";
|
||||
import * as Immutable from "immutable";
|
||||
|
||||
@@ -28,11 +28,13 @@ interface MyEditorState {
|
||||
value: Value;
|
||||
}
|
||||
|
||||
const value = Value.create();
|
||||
|
||||
class MyEditor extends React.Component<EditorProps, MyEditorState> {
|
||||
constructor(props: EditorProps) {
|
||||
super(props);
|
||||
this.state = {
|
||||
value: Value.create()
|
||||
value
|
||||
};
|
||||
}
|
||||
render() {
|
||||
@@ -42,3 +44,250 @@ class MyEditor extends React.Component<EditorProps, MyEditorState> {
|
||||
onChange={ myPlugin.onChange }/>;
|
||||
}
|
||||
}
|
||||
|
||||
const editor = new Editor({ value });
|
||||
const point = Point.create({ key: "a", offset: 0 });
|
||||
const range = Range.create({ anchor: point, focus: point });
|
||||
const inline = Inline.create("text");
|
||||
const mark = Mark.create("bold");
|
||||
const doc = Document.fromJSON({
|
||||
object: "document",
|
||||
data: {},
|
||||
nodes: []
|
||||
});
|
||||
|
||||
editor
|
||||
.addMark("bold")
|
||||
.addMarkAtRange(range, "italic")
|
||||
.addMarkByKey("a", 0, 1, "bold")
|
||||
.addMarkByPath("a", 0, 1, "bold")
|
||||
.blur()
|
||||
.delete()
|
||||
.deleteAtRange(range)
|
||||
.deleteBackward(0)
|
||||
.deleteBackwardAtRange(range, 0)
|
||||
.deleteCharBackwardAtRange(range)
|
||||
.deleteCharForwardAtRange(range)
|
||||
.deleteForward(0)
|
||||
.deleteForwardAtRange(range, 0)
|
||||
.deleteLineBackwardAtRange(range)
|
||||
.deleteLineForwardAtRange(range)
|
||||
.deleteWordBackwardAtRange(range)
|
||||
.deleteWordForwardAtRange(range)
|
||||
.deselect()
|
||||
.flip()
|
||||
.focus()
|
||||
.insertBlock({
|
||||
type: "image",
|
||||
key: "b",
|
||||
data: {
|
||||
src: "http://placekitten.com/200/300",
|
||||
alt: "Kittens",
|
||||
className: "img-responsive"
|
||||
}
|
||||
})
|
||||
.insertBlockAtRange(range, "text")
|
||||
.insertFragment(doc)
|
||||
.insertFragmentAtRange(range, doc)
|
||||
.insertFragmentByKey("a", 0, doc)
|
||||
.insertFragmentByPath("a", 0, doc)
|
||||
.insertInline(inline)
|
||||
.insertInlineAtRange(range, inline)
|
||||
.insertNodeByKey("a", 0, inline)
|
||||
.insertNodeByPath("a", 0, inline)
|
||||
.insertText("A bit of rich text, followed by...")
|
||||
.insertTextAtRange(range, "More text")
|
||||
.insertTextByKey("a", 0, "text")
|
||||
.insertTextByPath("a", 0, "text")
|
||||
.mergeNodeByKey("b")
|
||||
.mergeNodeByPath("b")
|
||||
.moveAnchorBackward()
|
||||
.moveAnchorEndOfNode(inline)
|
||||
.moveAnchorForward()
|
||||
.moveAnchorTo("a", 0)
|
||||
.moveAnchorToEndOfBlock()
|
||||
.moveAnchorToEndOfDocument()
|
||||
.moveAnchorToEndOfInline()
|
||||
.moveAnchorToEndOfNextBlock()
|
||||
.moveAnchorToEndOfNextInline()
|
||||
.moveAnchorToEndOfNextText()
|
||||
.moveAnchorToEndOfPreviousBlock()
|
||||
.moveAnchorToEndOfPreviousInline()
|
||||
.moveAnchorToEndOfPreviousText()
|
||||
.moveAnchorToEndOfText()
|
||||
.moveAnchorToStartOfBlock()
|
||||
.moveAnchorToStartOfDocument()
|
||||
.moveAnchorToStartOfInline()
|
||||
.moveAnchorToStartOfNextBlock()
|
||||
.moveAnchorToStartOfNextInline()
|
||||
.moveAnchorToStartOfNextText()
|
||||
.moveAnchorToStartOfNode(inline)
|
||||
.moveAnchorToStartOfPreviousBlock()
|
||||
.moveAnchorToStartOfPreviousInline()
|
||||
.moveAnchorToStartOfPreviousText()
|
||||
.moveAnchorToStartOfText()
|
||||
.moveBackward()
|
||||
.moveEndBackward()
|
||||
.moveEndForward()
|
||||
.moveEndTo("a", 0)
|
||||
.moveEndToEndOfBlock()
|
||||
.moveEndToEndOfDocument()
|
||||
.moveEndToEndOfInline()
|
||||
.moveEndToEndOfNextBlock()
|
||||
.moveEndToEndOfNextInline()
|
||||
.moveEndToEndOfNextText()
|
||||
.moveEndToEndOfNode(inline)
|
||||
.moveEndToEndOfPreviousBlock()
|
||||
.moveEndToEndOfPreviousInline()
|
||||
.moveEndToEndOfPreviousText()
|
||||
.moveEndToEndOfText()
|
||||
.moveEndToStartOfBlock()
|
||||
.moveEndToStartOfDocument()
|
||||
.moveEndToStartOfInline()
|
||||
.moveEndToStartOfNextBlock()
|
||||
.moveEndToStartOfNextInline()
|
||||
.moveEndToStartOfNextText()
|
||||
.moveEndToStartOfNode(inline)
|
||||
.moveEndToStartOfPreviousBlock()
|
||||
.moveEndToStartOfPreviousInline()
|
||||
.moveEndToStartOfPreviousText()
|
||||
.moveEndToStartOfText()
|
||||
.moveFocusBackward()
|
||||
.moveFocusForward()
|
||||
.moveFocusTo("a", 0)
|
||||
.moveFocusToEndOfBlock()
|
||||
.moveFocusToEndOfDocument()
|
||||
.moveFocusToEndOfInline()
|
||||
.moveFocusToEndOfNextBlock()
|
||||
.moveFocusToEndOfNextInline()
|
||||
.moveFocusToEndOfNextText()
|
||||
.moveFocusToEndOfNode(inline)
|
||||
.moveFocusToEndOfPreviousBlock()
|
||||
.moveFocusToEndOfPreviousInline()
|
||||
.moveFocusToEndOfPreviousText()
|
||||
.moveFocusToEndOfText()
|
||||
.moveFocusToStartOfBlock()
|
||||
.moveFocusToStartOfDocument()
|
||||
.moveFocusToStartOfInline()
|
||||
.moveFocusToStartOfNextBlock()
|
||||
.moveFocusToStartOfNextInline()
|
||||
.moveFocusToStartOfNextText()
|
||||
.moveFocusToStartOfNode(inline)
|
||||
.moveFocusToStartOfPreviousBlock()
|
||||
.moveFocusToStartOfPreviousInline()
|
||||
.moveFocusToStartOfPreviousText()
|
||||
.moveFocusToStartOfText()
|
||||
.moveForward()
|
||||
.moveNodeByKey("b", "c", 2)
|
||||
.moveNodeByPath("c", "b", 1)
|
||||
.moveStartBackward()
|
||||
.moveStartForward()
|
||||
.moveStartTo("a", 0)
|
||||
.moveStartToEndOfBlock()
|
||||
.moveStartToEndOfDocument()
|
||||
.moveStartToEndOfInline()
|
||||
.moveStartToEndOfNextBlock()
|
||||
.moveStartToEndOfNextInline()
|
||||
.moveStartToEndOfNextText()
|
||||
.moveStartToEndOfNode(inline)
|
||||
.moveStartToEndOfPreviousBlock()
|
||||
.moveStartToEndOfPreviousInline()
|
||||
.moveStartToEndOfPreviousText()
|
||||
.moveStartToEndOfText()
|
||||
.moveStartToStartOfBlock()
|
||||
.moveStartToStartOfDocument()
|
||||
.moveStartToStartOfInline()
|
||||
.moveStartToStartOfNextBlock()
|
||||
.moveStartToStartOfNextInline()
|
||||
.moveStartToStartOfNextText()
|
||||
.moveStartToStartOfNode(inline)
|
||||
.moveStartToStartOfPreviousBlock()
|
||||
.moveStartToStartOfPreviousInline()
|
||||
.moveStartToStartOfPreviousText()
|
||||
.moveStartToStartOfText()
|
||||
.moveTo("a", 0)
|
||||
.moveToAnchor()
|
||||
.moveToEnd()
|
||||
.moveToEndOfBlock()
|
||||
.moveToEndOfDocument()
|
||||
.moveToEndOfInline()
|
||||
.moveToEndOfNextBlock()
|
||||
.moveToEndOfNextInline()
|
||||
.moveToEndOfNextText()
|
||||
.moveToEndOfNode(inline)
|
||||
.moveToEndOfPreviousBlock()
|
||||
.moveToEndOfPreviousInline()
|
||||
.moveToEndOfPreviousText()
|
||||
.moveToEndOfText()
|
||||
.moveToFocus()
|
||||
.moveToRangeOf(inline)
|
||||
.moveToRangeOfDocument()
|
||||
.moveToStart()
|
||||
.moveToStartOfBlock()
|
||||
.moveToStartOfDocument()
|
||||
.moveToStartOfInline()
|
||||
.moveToStartOfNextBlock()
|
||||
.moveToStartOfNextInline()
|
||||
.moveToStartOfNextText()
|
||||
.moveToStartOfNode(inline)
|
||||
.moveToStartOfPreviousBlock()
|
||||
.moveToStartOfPreviousInline()
|
||||
.moveToStartOfPreviousText()
|
||||
.moveToStartOfText()
|
||||
.normalize()
|
||||
.redo()
|
||||
.removeMark("bold")
|
||||
.removeMarkAtRange(range, "bold")
|
||||
.removeMarkByKey("a", 0, 1, "bold")
|
||||
.removeMarkByPath("a", 0, 1, "bold")
|
||||
.removeNodeByKey("b")
|
||||
.removeNodeByPath("b")
|
||||
.removeTextByKey("a", 0, 1)
|
||||
.removeTextByPath("a", 0, 1)
|
||||
.replaceMark("bold", "italic")
|
||||
.replaceNodeByKey("a", inline)
|
||||
.replaceNodeByPath("a", inline)
|
||||
.select(range)
|
||||
.setBlocks("paragraph")
|
||||
.setBlocksAtRange(range, "paragraph")
|
||||
.setInlines("paragraph")
|
||||
.setInlinesAtRange(range, "paragraph")
|
||||
.setMarkByKey("a", 0, 1, mark, { type: "bold" })
|
||||
.setMarksByPath("a", 0, 1, mark, { type: "bold" })
|
||||
.setNodeByKey("a", "paragraph")
|
||||
.setNodeByPath("a", "paragraph")
|
||||
.snapshotSelection()
|
||||
.splitBlock(0)
|
||||
.splitBlockAtRange(range, 0)
|
||||
.splitInline(0)
|
||||
.splitInlineAtRange(range, 0)
|
||||
.splitNodeByKey("a", 0)
|
||||
.splitNodeByPath("a", 0)
|
||||
.toggleMark("bold")
|
||||
.toggleMarkAtRange(range, "bold")
|
||||
.undo()
|
||||
.unwrapBlock("paragraph")
|
||||
.unwrapBlockAtRange(range, "paragraph")
|
||||
.unwrapBlockByKey("a", "paragraph")
|
||||
.unwrapBlockByPath("a", "paragraph")
|
||||
.unwrapInline("paragraph")
|
||||
.unwrapInlineAtRange(range, "paragraph")
|
||||
.unwrapInlineByKey("a", "paragraph")
|
||||
.unwrapInlineByPath("a", "paragraph")
|
||||
.unwrapNodeByKey("a")
|
||||
.unwrapNodeByPath("a")
|
||||
.withoutMerging(() => { /* noop */ })
|
||||
.withoutNormalizing(() => { /* noop */ })
|
||||
.withoutSaving(() => { /* noop */ })
|
||||
.wrapBlock("paragraph")
|
||||
.wrapBlockAtRange(range, "paragraph")
|
||||
.wrapBlockByKey("a", "paragraph")
|
||||
.wrapBlockByPath("a", "paragraph")
|
||||
.wrapInline("paragraph")
|
||||
.wrapInlineAtRange(range, "paragraph")
|
||||
.wrapInlineByKey("a", "paragraph")
|
||||
.wrapInlineByPath("a", "paragraph")
|
||||
.wrapNodeByKey("a", inline)
|
||||
.wrapNodeByPath("a", inline)
|
||||
.wrapText("a", "b")
|
||||
.wrapTextAtRange(range, "a");
|
||||
|
||||
Vendored
+530
-254
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user