diff --git a/src/lib/viewers/media/MediaBaseViewer.js b/src/lib/viewers/media/MediaBaseViewer.js index d5f3eb93f..83d79a1aa 100644 --- a/src/lib/viewers/media/MediaBaseViewer.js +++ b/src/lib/viewers/media/MediaBaseViewer.js @@ -1164,6 +1164,10 @@ class MediaBaseViewer extends BaseViewer { case 'shift+m': this.toggleMute(); break; + case 'f': + case 'shift+f': + this.toggleFullscreen(); + break; default: return false; } diff --git a/src/lib/viewers/media/__tests__/MediaBaseViewer-test.js b/src/lib/viewers/media/__tests__/MediaBaseViewer-test.js index 3497b13bb..43e209641 100644 --- a/src/lib/viewers/media/__tests__/MediaBaseViewer-test.js +++ b/src/lib/viewers/media/__tests__/MediaBaseViewer-test.js @@ -1254,6 +1254,20 @@ describe('lib/viewers/media/MediaBaseViewer', () => { expect(media.toggleMute).toBeCalled(); }); + test('should toggle fullscreen and return true on f', () => { + jest.spyOn(media, 'toggleFullscreen').mockImplementation(); + + expect(media.handleKeydownReact('f')).toBe(true); + expect(media.toggleFullscreen).toBeCalled(); + }); + + test('should toggle fullscreen and return true on Shift+F', () => { + jest.spyOn(media, 'toggleFullscreen').mockImplementation(); + + expect(media.handleKeydownReact('Shift+F')).toBe(true); + expect(media.toggleFullscreen).toBeCalled(); + }); + test('should return false if another key is pressed', () => { expect(media.handleKeydownReact('Esc')).toBe(false); });