From 96920e5c1434db0c80f36e58c658951aa18f77ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Ku=CC=88hn?= Date: Tue, 1 Dec 2020 12:45:30 +0100 Subject: [PATCH] fix togglemark --- packages/core/src/CommandManager.ts | 4 ++-- packages/core/src/commands/unsetMark.ts | 1 + packages/core/src/helpers/isMarkActive.ts | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/core/src/CommandManager.ts b/packages/core/src/CommandManager.ts index 98a950ab..ce180486 100644 --- a/packages/core/src/CommandManager.ts +++ b/packages/core/src/CommandManager.ts @@ -44,13 +44,13 @@ export default class CommandManager { public createCommands() { const { commands, editor } = this const { state, view } = editor + const { tr } = state + const props = this.buildProps(tr) return Object.fromEntries(Object .entries(commands) .map(([name, command]) => { const method = (...args: any) => { - const { tr } = state - const props = this.buildProps(tr) const callback = command(...args)(props) view.dispatch(tr) diff --git a/packages/core/src/commands/unsetMark.ts b/packages/core/src/commands/unsetMark.ts index fa3d0b2d..1f2d28c5 100644 --- a/packages/core/src/commands/unsetMark.ts +++ b/packages/core/src/commands/unsetMark.ts @@ -23,6 +23,7 @@ export const unsetMark = (typeOrName: string | MarkType): Command => ({ tr, stat if (dispatch) { tr.removeMark(from, to, type) + tr.removeStoredMark(type) } return true diff --git a/packages/core/src/helpers/isMarkActive.ts b/packages/core/src/helpers/isMarkActive.ts index 168ccbcd..af0ffd37 100644 --- a/packages/core/src/helpers/isMarkActive.ts +++ b/packages/core/src/helpers/isMarkActive.ts @@ -21,7 +21,7 @@ export default function isMarkActive( : null if (empty) { - return !!state.selection.$head.marks() + return !!(state.storedMarks || state.selection.$from.marks()) .filter(mark => { if (!type) { return true