From e559a64ac2ede05e798339a6e8c48f36d4bb7a67 Mon Sep 17 00:00:00 2001 From: Alf Eaton Date: Mon, 8 Jan 2024 12:08:00 +0000 Subject: [PATCH] Throttle PDF.js resize listener (#16402) GitOrigin-RevId: 5c1498d21197b09865930e1b2deff049022d2d17 --- .../js/features/pdf-preview/components/pdf-js-viewer.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.jsx b/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.jsx index be01b1378e..833acdca34 100644 --- a/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.jsx +++ b/services/web/frontend/js/features/pdf-preview/components/pdf-js-viewer.jsx @@ -1,6 +1,6 @@ import PropTypes from 'prop-types' import { memo, useCallback, useEffect, useRef, useState } from 'react' -import { debounce } from 'lodash' +import { debounce, throttle } from 'lodash' import PdfViewerControls from './pdf-viewer-controls' import { useProjectContext } from '../../../shared/context/project-context' import usePersistedState from '../../../shared/hooks/use-persisted-state' @@ -359,9 +359,9 @@ function PdfJsViewer({ url, pdfFile }) { // adjust the scale when the container is resized useEffect(() => { if (pdfJsWrapper && 'ResizeObserver' in window) { - const resizeListener = () => { + const resizeListener = throttle(() => { pdfJsWrapper.updateOnResize() - } + }, 250) const resizeObserver = new ResizeObserver(resizeListener) resizeObserver.observe(pdfJsWrapper.container)