From 4b4ec7d7660bf481ae1f7f7621f25bf47afb6d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Fri, 29 Jan 2021 00:27:58 +0100 Subject: [PATCH] refactoring --- packages/core/src/commands/splitListItem.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/core/src/commands/splitListItem.ts b/packages/core/src/commands/splitListItem.ts index d85dbea5..006aad24 100644 --- a/packages/core/src/commands/splitListItem.ts +++ b/packages/core/src/commands/splitListItem.ts @@ -12,7 +12,9 @@ import getNodeType from '../helpers/getNodeType' /** * Splits one list item into two list items. */ -export const splitListItem = (typeOrName: string | NodeType): Command => ({ state, dispatch, editor }) => { +export const splitListItem = (typeOrName: string | NodeType): Command => ({ + tr, state, dispatch, editor, +}) => { const type = getNodeType(typeOrName, state.schema) const { $from, $to } = state.selection @@ -56,13 +58,12 @@ export const splitListItem = (typeOrName: string | NodeType): Command => ({ stat const nextType = type.contentMatch.defaultType?.createAndFill($from.node().attrs) || undefined wrap = wrap.append(Fragment.from(type.createAndFill(null, nextType) || undefined)) - const tr = state.tr.replace( - $from.before(keepItem ? undefined : -1), - $from.after(-3), - new Slice(wrap, keepItem ? 3 : 2, 2), - ) - tr + .replace( + $from.before(keepItem ? undefined : -1), + $from.after(-3), + new Slice(wrap, keepItem ? 3 : 2, 2), + ) .setSelection(TextSelection.near(tr.doc.resolve($from.pos + (keepItem ? 3 : 2)))) .scrollIntoView() } @@ -104,7 +105,8 @@ export const splitListItem = (typeOrName: string | NodeType): Command => ({ stat return extensionAttribute.attribute.keepOnSplit })) - const tr = state.tr.delete($from.pos, $to.pos) + tr.delete($from.pos, $to.pos) + const types = nextType ? [{ type, attrs: newTypeAttributes }, { type: nextType, attrs: newNextTypeAttributes }] : [{ type, attrs: newTypeAttributes }]