Inlude the JS actions for the page when dispatching the "pageopen"-event in the BaseViewer

Note first of all how the `PDFDocumentProxy.getJSActions` method in the API caches the result, which makes repeated lookups cheap enough to not really be an issue.
Secondly, with the previous patch, we're now only dispatching "pageopen"/"pageclose"-events when there's actually a sandbox that listens for them.

All-in-all, with these changes we can thus simplify the default-viewer "pageopen"-event handler a fair bit.
This commit is contained in:
Jonas Jenwald 2021-01-12 13:59:53 +01:00
parent a882a85446
commit 13742eb82d
3 changed files with 16 additions and 23 deletions

View file

@ -1526,7 +1526,11 @@ class BaseViewer {
if (pageView?.renderingState === RenderingStates.FINISHED) {
pageOpenPendingSet.delete(pageNumber);
eventBus.dispatch("pageopen", { source: this, pageNumber });
eventBus.dispatch("pageopen", {
source: this,
pageNumber,
actionsPromise: pageView.pdfPage?.getJSActions(),
});
} else {
pageOpenPendingSet.add(pageNumber);
}