Update thumbnail images only when sidebar is visible

This commit is contained in:
fkaelberer 2015-01-27 21:13:34 +01:00
parent 047d61ed1f
commit d3022e1e70

View File

@ -1177,6 +1177,23 @@ var PDFViewerApplication = {
} }
}, },
refreshThumbnailViewer: function pdfViewRefreshThumbnailViewer() {
var pdfViewer = this.pdfViewer;
var thumbnailViewer = this.pdfThumbnailViewer;
// set thumbnail images of rendered pages
var pagesCount = pdfViewer.pagesCount;
for (var pageIndex = 0; pageIndex < pagesCount; pageIndex++) {
var pageView = pdfViewer.getPageView(pageIndex);
if (pageView && pageView.renderingState === RenderingStates.FINISHED) {
var thumbnailView = thumbnailViewer.getThumbnail(pageIndex);
thumbnailView.setImage(pageView);
}
}
thumbnailViewer.scrollThumbnailIntoView(this.page);
},
switchSidebarView: function pdfViewSwitchSidebarView(view, openSidebar) { switchSidebarView: function pdfViewSwitchSidebarView(view, openSidebar) {
if (openSidebar && !this.sidebarOpen) { if (openSidebar && !this.sidebarOpen) {
document.getElementById('sidebarToggle').click(); document.getElementById('sidebarToggle').click();
@ -1575,8 +1592,7 @@ function webViewerInitialized() {
PDFViewerApplication.sidebarOpen = PDFViewerApplication.sidebarOpen =
outerContainer.classList.contains('sidebarOpen'); outerContainer.classList.contains('sidebarOpen');
if (PDFViewerApplication.sidebarOpen) { if (PDFViewerApplication.sidebarOpen) {
PDFViewerApplication.pdfThumbnailViewer. PDFViewerApplication.refreshThumbnailViewer();
scrollThumbnailIntoView(PDFViewerApplication.page);
} }
PDFViewerApplication.forceRendering(); PDFViewerApplication.forceRendering();
}); });
@ -1692,9 +1708,12 @@ document.addEventListener('pagerendered', function (e) {
var pageNumber = e.detail.pageNumber; var pageNumber = e.detail.pageNumber;
var pageIndex = pageNumber - 1; var pageIndex = pageNumber - 1;
var pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex); var pageView = PDFViewerApplication.pdfViewer.getPageView(pageIndex);
if (PDFViewerApplication.sidebarOpen) {
var thumbnailView = PDFViewerApplication.pdfThumbnailViewer. var thumbnailView = PDFViewerApplication.pdfThumbnailViewer.
getThumbnail(pageIndex); getThumbnail(pageIndex);
thumbnailView.setImage(pageView); thumbnailView.setImage(pageView);
}
if (PDFJS.pdfBug && Stats.enabled && pageView.stats) { if (PDFJS.pdfBug && Stats.enabled && pageView.stats) {
Stats.add(pageNumber, pageView.stats); Stats.add(pageNumber, pageView.stats);