From 1cebcb7876eef55a548c914dc1006d578aac421d Mon Sep 17 00:00:00 2001 From: Abdullah Atta Date: Sat, 9 Mar 2024 23:11:37 +0500 Subject: [PATCH] editor: fix selection/focus is lost when editor state is updated --- packages/editor/src/hooks/use-editor.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/editor/src/hooks/use-editor.ts b/packages/editor/src/hooks/use-editor.ts index f65197826..025c9ec24 100644 --- a/packages/editor/src/hooks/use-editor.ts +++ b/packages/editor/src/hooks/use-editor.ts @@ -60,7 +60,10 @@ export const useEditor = ( editor.schema, options.parseOptions ); - const selection = resolveFocusPosition(doc, options.autofocus); + const selection = + editor.state.selection || + resolveFocusPosition(doc, options.autofocus); + const oldIsFocused = editor.isFocused; editor.view.updateState( EditorState.create({ doc, @@ -68,6 +71,7 @@ export const useEditor = ( selection: selection || undefined }) ); + if (oldIsFocused && !editor.isFocused) editor.commands.focus(); } editor.options = { ...editor.options, ...options };