Merge pull request #25217 from overleaf/mj-beamer-arrow-links

[web] Fix arrow movement in beamer presentation mode after link click

GitOrigin-RevId: 85701d9c918889981faa34f1adb57fb901d7b9df
This commit is contained in:
Mathias Jakobsen
2025-05-02 09:35:13 +01:00
committed by Copybot
parent 14af80b3be
commit 21eca03abb

View File

@@ -144,6 +144,10 @@ function PdfJsViewer({ url, pdfFile }: PdfJsViewerProps) {
setRawScale(scale.scale)
}
const handlePageChanging = (event: { pageNumber: number }) => {
setPage(event.pageNumber)
}
// `pagesinit` fires when the data for rendering the first page is ready.
pdfJsWrapper.eventBus.on('pagesinit', handlePagesinit)
// `pagerendered` fires when a page was actually rendered.
@@ -151,12 +155,15 @@ function PdfJsViewer({ url, pdfFile }: PdfJsViewerProps) {
// Once a page has been rendered we can set the initial current page number.
pdfJsWrapper.eventBus.on('pagerendered', handleRenderedInitialPageNumber)
pdfJsWrapper.eventBus.on('scalechanging', handleScaleChanged)
// `pagechanging` fires when the page number changes.
pdfJsWrapper.eventBus.on('pagechanging', handlePageChanging)
return () => {
pdfJsWrapper.eventBus.off('pagesinit', handlePagesinit)
pdfJsWrapper.eventBus.off('pagerendered', handleRendered)
pdfJsWrapper.eventBus.off('pagerendered', handleRenderedInitialPageNumber)
pdfJsWrapper.eventBus.off('scalechanging', handleScaleChanged)
pdfJsWrapper.eventBus.off('pagechanging', handlePageChanging)
}
}, [pdfJsWrapper, firstRenderDone, startFetch])