Преглед изворни кода

Merge pull request #20887 from overleaf/dp-rp-entry-buttons

Don't focus entry if clicking on a button/link

GitOrigin-RevId: 0c37ce76134358ef7d3fd5b0c897ffab8e4d7db1
David пре 2 година
родитељ
комит
d9211998de

+ 19 - 6
services/web/frontend/js/features/review-panel-new/components/review-panel-entry.tsx

@@ -43,12 +43,25 @@ export const ReviewPanelEntry: FC<{
     setReviewPanelOpen(true)
   }, [setReviewPanelOpen])
 
-  const focusHandler = useCallback(() => {
-    if (selectLineOnFocus) {
-      openDocId(docId, { gotoOffset: position, keepCurrentView: true })
-    }
-    setFocused(true)
-  }, [selectLineOnFocus, docId, openDocId, position])
+  const focusHandler = useCallback(
+    event => {
+      if (
+        event.target instanceof HTMLButtonElement ||
+        event.target instanceof HTMLLinkElement ||
+        event.target instanceof HTMLTextAreaElement
+      ) {
+        // Don't focus if the click was on a button/link/textarea as we don't want
+        // affect the behaviour of the button/link/textarea
+        return
+      }
+
+      if (selectLineOnFocus) {
+        openDocId(docId, { gotoOffset: position, keepCurrentView: true })
+      }
+      setFocused(true)
+    },
+    [selectLineOnFocus, docId, openDocId, position]
+  )
 
   // Clear op highlight on dismount
   useEffect(() => {