allow for returning an array of multiple commands

This commit is contained in:
Philipp Kühn 2018-09-23 08:04:02 +02:00
parent e51141eb5e
commit 92515e2ee4
3 changed files with 12 additions and 8 deletions

View File

@ -1,5 +1,5 @@
import { Node } from 'tiptap'
import { wrappingInputRule, wrapInList, toggleList } from 'tiptap-commands'
import { wrappingInputRule, toggleList } from 'tiptap-commands'
export default class BulletNode extends Node {
@ -22,9 +22,9 @@ export default class BulletNode extends Node {
return toggleList(type, schema.nodes.list_item)
}
keys({ type }) {
keys({ type, schema }) {
return {
'Shift-Ctrl-8': wrapInList(type),
'Shift-Ctrl-8': toggleList(type, schema.nodes.list_item),
}
}

View File

@ -1,5 +1,5 @@
import { Node } from 'tiptap'
import { wrappingInputRule, wrapInList, toggleList } from 'tiptap-commands'
import { wrappingInputRule, toggleList } from 'tiptap-commands'
export default class OrderedListNode extends Node {
@ -32,9 +32,9 @@ export default class OrderedListNode extends Node {
return toggleList(type, schema.nodes.list_item)
}
keys({ type }) {
keys({ type, schema }) {
return {
'Shift-Ctrl-9': wrapInList(type),
'Shift-Ctrl-9': toggleList(type, schema.nodes.list_item),
}
}

View File

@ -94,11 +94,15 @@ export default class ExtensionManager {
...commands,
[name]: attrs => {
view.focus()
command({
const provider = command({
type: schema[`${type}s`][name],
attrs,
schema,
})(view.state, view.dispatch, view)
})
const callbacks = Array.isArray(provider) ? provider : [provider]
callbacks.forEach(callback => callback(view.state, view.dispatch, view))
},
}), {})
}