diff --git a/editors/demo/src/Editors.js b/editors/demo/src/Editors.js index d19991a2ed8613a7f85ed0fed95a7dc6ef294736..abd0628fb70695fdd171c22a2956784070ef3345 100644 --- a/editors/demo/src/Editors.js +++ b/editors/demo/src/Editors.js @@ -70,7 +70,7 @@ const Editors = () => { case 'ncbi': return <NCBI />; default: - return <HHMI />; + return <Editoria />; } }; diff --git a/editors/demo/src/HHMI/config/config.js b/editors/demo/src/HHMI/config/config.js index ebb2aa943e75778aff327812db5a9ece284ecbeb..78c6197dd246519f78d9f490bc338fa28e151c5c 100644 --- a/editors/demo/src/HHMI/config/config.js +++ b/editors/demo/src/HHMI/config/config.js @@ -40,6 +40,7 @@ export default { 'Base', { name: 'Annotations', + exclude: ['LinkTool'], more: [ 'Superscript', 'Subscript', diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js index 3524bf11127de1431050c6eae1c0377e8b77bb63..7ff86c91d1044160552128e62df1774bbd4bdb59 100644 --- a/wax-prosemirror-core/src/WaxView.js +++ b/wax-prosemirror-core/src/WaxView.js @@ -11,7 +11,7 @@ import React, { } from 'react'; import applyDevTools from 'prosemirror-dev-tools'; -import { EditorState } from 'prosemirror-state'; +import { EditorState, TextSelection } from 'prosemirror-state'; import { EditorView } from 'prosemirror-view'; import { trackedTransaction } from 'wax-prosemirror-services'; import { WaxContext } from './WaxContext'; @@ -81,6 +81,13 @@ const WaxView = forwardRef((props, ref) => { attributes: { spellcheck: browserSpellCheck ? 'true' : 'false', }, + handleDOMEvents: { + blur: (editorView, event) => { + if (view && event.relatedTarget === null) { + view.focus(); + } + }, + }, }, ); diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js index 5a68b7d35faa1294589af7754702645ab7ee99ae..fd7478dff2f73d789408ae06819bd971771e510a 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js @@ -125,6 +125,11 @@ const EditorComponent = ({ node, view, getPos }) => { // the parent editor is focused. if (questionView.hasFocus()) questionView.focus(); }, + blur: (editorView, event) => { + if (questionView && event.relatedTarget === null) { + questionView.focus(); + } + }, }, attributes: { diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionEditorComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionEditorComponent.js index e2540fc909095c00f8b796e4d48cafb139889812..d0684783391eb0487d3c31c277639512fcc77bbb 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionEditorComponent.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionEditorComponent.js @@ -154,6 +154,11 @@ const QuestionEditorComponent = ({ node, view, getPos }) => { // the parent editor is focused. if (questionView.hasFocus()) questionView.focus(); }, + blur: (editorView, event) => { + if (questionView && event.relatedTarget === null) { + questionView.focus(); + } + }, }, attributes: {