fix some types

This commit is contained in:
Philipp Kühn 2020-03-06 11:24:58 +01:00
parent f7b62be436
commit adb2d1a12c
2 changed files with 9 additions and 6 deletions

View File

@ -13,6 +13,7 @@ import injectCSS from './utils/injectCSS'
import ExtensionManager from './ExtensionManager'
type EditorContent = string | JSON
type Command = (next: Function, editor: Editor, ...args: any) => any
interface Options {
element?: Node
@ -155,13 +156,10 @@ export class Editor extends EventEmitter {
return this
}
public registerCommand(name: string, method: Function): Editor {
public registerCommand(name: string, callback: Command): Editor {
// @ts-ignore
this[name] = this.chainCommand((...args: any) => {
return new Promise(resolve => {
// return method(resolve, this, ...args)
return method(resolve as Function, this as Editor, ...args as any)
})
return new Promise(resolve => callback(resolve, this, ...args))
})
return this

View File

@ -10,6 +10,7 @@ import {
declare module '@tiptap/core/src/Editor' {
interface Editor {
undo(): Editor,
undo(): Editor,
}
}
@ -18,11 +19,15 @@ export default class History extends Extension {
name = 'history'
init() {
// @ts-ignore
this.editor.registerCommand('undo', (next, { view }) => {
undo(view.state, view.dispatch)
next()
})
this.editor.registerCommand('redo', (next, { view }) => {
redo(view.state, view.dispatch)
next()
})
}
get plugins() {