refactoring

This commit is contained in:
Philipp Kühn 2020-11-04 15:40:32 +01:00
parent 7a16546d6f
commit 1d3de73f82
2 changed files with 14 additions and 14 deletions

View File

@ -4,11 +4,13 @@ import { createExtension } from '../Extension'
export const Try = createExtension({
addCommands() {
return {
try: (fn: (props: Parameters<Command>[0]) => Command[]): Command => props => {
const commands = fn(props)
try: (commands: Command[] | ((props: Parameters<Command>[0]) => Command[])): Command => props => {
const items = typeof commands === 'function'
? commands(props)
: commands
for (let i = 0; i < commands.length; i += 1) {
if (commands[i](props)) {
for (let i = 0; i < items.length; i += 1) {
if (items[i](props)) {
return true
}
}

View File

@ -1,5 +1,5 @@
import { Command, createNode } from '@tiptap/core'
import { chainCommands, exitCode } from 'prosemirror-commands'
import { exitCode } from 'prosemirror-commands'
const HardBreak = createNode({
name: 'hardBreak',
@ -22,19 +22,17 @@ const HardBreak = createNode({
addCommands() {
return {
hardBreak: (): Command => ({ state, dispatch, view }) => {
return chainCommands(
exitCode,
(_, d) => {
if (typeof d !== 'function') {
return false
hardBreak: (): Command => ({ commands, state, dispatch }) => {
return commands.try([
() => exitCode(state, dispatch),
() => {
if (dispatch) {
state.tr.replaceSelectionWith(this.type.create()).scrollIntoView()
}
d(state.tr.replaceSelectionWith(this.type.create()).scrollIntoView())
return true
},
)(state, dispatch, view)
])
},
}
},