diff --git a/contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/TipTapEditor.vue b/contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/TipTapEditor.vue index 0e114c49ea..f24bc53c52 100644 --- a/contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/TipTapEditor.vue +++ b/contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/TipTapEditor.vue @@ -27,8 +27,10 @@ @minimize="emitMinimize" /> @@ -167,6 +169,13 @@ 'insert-math': target => mathHandler.openCreateMathModal({ targetElement: target }), })); + // Tabbing into the bar blurs the editor, which would otherwise unmount + // the bar before focus lands on it. + const formattingBarHasFocus = ref(false); + const handleFormattingBarFocusout = event => { + formattingBarHasFocus.value = event.currentTarget.contains(event.relatedTarget); + }; + const handleDrop = event => { const file = event.dataTransfer.files[0]; if (file) { @@ -279,6 +288,8 @@ editorContainer, isReady, isFocused, + formattingBarHasFocus, + handleFormattingBarFocusout, handleDrop, linkHandler, editor, diff --git a/contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/components/EditorToolbar.vue b/contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/components/EditorToolbar.vue index df6732dff6..c159c85207 100644 --- a/contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/components/EditorToolbar.vue +++ b/contentcuration/contentcuration/frontend/shared/views/TipTapEditor/TipTapEditor/components/EditorToolbar.vue @@ -81,6 +81,7 @@