diff --git a/src/lib/viewers/controls/findbar/FindBarToggle.tsx b/src/lib/viewers/controls/findbar/FindBarToggle.tsx index 44bf1388e..508ac8b84 100644 --- a/src/lib/viewers/controls/findbar/FindBarToggle.tsx +++ b/src/lib/viewers/controls/findbar/FindBarToggle.tsx @@ -3,7 +3,7 @@ import IconSearch24 from '../icons/IconSearch24'; import './FindBarToggle.scss'; export type Props = { - onFindBarToggle?: () => void; + onFindBarToggle?: (buttonElement: EventTarget | null) => void; }; export default function FindBarToggle({ onFindBarToggle }: Props): JSX.Element | null { @@ -12,7 +12,12 @@ export default function FindBarToggle({ onFindBarToggle }: Props): JSX.Element | } return ( - ); diff --git a/src/lib/viewers/controls/findbar/__tests__/FindBarToggle-test.tsx b/src/lib/viewers/controls/findbar/__tests__/FindBarToggle-test.tsx index dc776c632..3e66d888d 100644 --- a/src/lib/viewers/controls/findbar/__tests__/FindBarToggle-test.tsx +++ b/src/lib/viewers/controls/findbar/__tests__/FindBarToggle-test.tsx @@ -9,11 +9,12 @@ describe('FindBarToggle', () => { describe('event handlers', () => { test('should forward the click from the button', () => { const onToggle = jest.fn(); + const mockedEvent = { target: document.createElement('button') }; const wrapper = getWrapper({ onFindBarToggle: onToggle }); - wrapper.simulate('click'); + wrapper.simulate('click', mockedEvent); - expect(onToggle).toBeCalled(); + expect(onToggle).toBeCalledWith(mockedEvent.target); }); }); diff --git a/src/lib/viewers/doc/DocBaseViewer.js b/src/lib/viewers/doc/DocBaseViewer.js index f8a2bf4b5..fa6600bda 100644 --- a/src/lib/viewers/doc/DocBaseViewer.js +++ b/src/lib/viewers/doc/DocBaseViewer.js @@ -410,8 +410,8 @@ class DocBaseViewer extends BaseViewer { } handleFindBarClose() { - if (this.docEl) { - this.docEl.focus(); // Prevent focus from transferring to the root document element + if (this.findBarToggleEl && this.findBarToggleEl.focus) { + this.findBarToggleEl.focus(); } } @@ -1483,7 +1483,8 @@ class DocBaseViewer extends BaseViewer { this.pinchPage = null; } - toggleFindBar() { + toggleFindBar(findBarToggleEl) { + this.findBarToggleEl = findBarToggleEl; this.findBar.toggle(); }