Просмотр исходного кода

Focus the editor after using the "Switch to editor" button (#21549)

GitOrigin-RevId: f94c6d266ec9c2c3e4a30ea2c34c937817b48596
Alf Eaton 1 год назад
Родитель
Сommit
a827f8835b

+ 3 - 0
services/web/frontend/js/features/pdf-preview/components/switch-to-editor-button.tsx

@@ -20,6 +20,9 @@ function SwitchToEditorButton() {
 
   function handleClick() {
     setView('editor')
+    window.setTimeout(() => {
+      window.dispatchEvent(new Event('editor:focus'))
+    })
   }
 
   return (

+ 7 - 0
services/web/frontend/js/features/source-editor/hooks/use-codemirror-scope.ts

@@ -576,6 +576,13 @@ function useCodeMirrorScope(view: EditorView) {
 
   useEventListener('learnedWords:reset', handleResetLearnedWords)
 
+  useEventListener(
+    'editor:focus',
+    useCallback(() => {
+      view.focus()
+    }, [view])
+  )
+
   useEffect(() => {
     view.dispatch(reviewPanelToggled())
   }, [reviewPanelOpen, miniReviewPanelVisible, view])