From 73daee9b80752409d8ccad2f5b7a565dd9da1802 Mon Sep 17 00:00:00 2001 From: Stef Kors Date: Sat, 3 Sep 2022 20:07:41 +0200 Subject: [PATCH] include bubble menu element when checking if the editor view still has focus (#3150) --- packages/extension-bubble-menu/src/bubble-menu-plugin.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/extension-bubble-menu/src/bubble-menu-plugin.ts b/packages/extension-bubble-menu/src/bubble-menu-plugin.ts index adb94182..0812b065 100644 --- a/packages/extension-bubble-menu/src/bubble-menu-plugin.ts +++ b/packages/extension-bubble-menu/src/bubble-menu-plugin.ts @@ -55,8 +55,15 @@ export class BubbleMenuView { const isEmptyTextBlock = !doc.textBetween(from, to).length && isTextSelection(state.selection) + // When clicking on a element inside the bubble menu the editor "blur" event + // is called and the bubble menu item is focussed. In this case we should + // consider the menu as part of the ditor and keep showing the menu + const isChildOfMenu = this.element.contains(document.activeElement) + + const hasEditorFocus = view.hasFocus() || isChildOfMenu + if ( - !view.hasFocus() + !hasEditorFocus || empty || isEmptyTextBlock ) {