Ensure that BaseViewer.#ensurePdfPageLoaded
updates the PDFLinkService
-pagesRefCache if necessary
The issue that this patch fixes has existed ever since the viewer was first re-factored into components, however it only really affects the `disableAutoFetch = true` mode. By default we're fetching all pages in `BaseViewer.setDocument`, and as part of the parsing/initialization we're also populating the `PDFLinkService`-pagesRefCache. The purpose of that cache is to make navigating to any internal destinations faster, by not having to (asynchronously) lookup the pageNumber via the API when handling the destination. In comparison, when the `disableAutoFetch = true` mode is being used we're instead *lazily* initializing the pages in the `BaseViewer.#ensurePdfPageLoaded`-method. For some reason, that I can only assume is a simple oversight, we're not attempting to update the `PDFLinkService`-pagesRefCache in that case.
This commit is contained in:
parent
0ebac67a9f
commit
58a2728647
@ -1366,6 +1366,9 @@ class BaseViewer {
|
||||
if (!pageView.pdfPage) {
|
||||
pageView.setPdfPage(pdfPage);
|
||||
}
|
||||
if (!this.linkService._cachedPageNumber(pdfPage.ref)) {
|
||||
this.linkService.cachePageRef(pageView.id, pdfPage.ref);
|
||||
}
|
||||
return pdfPage;
|
||||
} catch (reason) {
|
||||
console.error("Unable to get page for page view", reason);
|
||||
|
Loading…
Reference in New Issue
Block a user