|
|
@ -882,7 +882,7 @@ var PDFViewerApplication = { |
|
|
|
var pdfThumbnailViewer = this.pdfThumbnailViewer; |
|
|
|
var pdfThumbnailViewer = this.pdfThumbnailViewer; |
|
|
|
pdfThumbnailViewer.setDocument(pdfDocument); |
|
|
|
pdfThumbnailViewer.setDocument(pdfDocument); |
|
|
|
|
|
|
|
|
|
|
|
firstPagePromise.then(function(pdfPage) { |
|
|
|
firstPagePromise.then((pdfPage) => { |
|
|
|
downloadedPromise.then(function () { |
|
|
|
downloadedPromise.then(function () { |
|
|
|
self.eventBus.dispatch('documentload', {source: self}); |
|
|
|
self.eventBus.dispatch('documentload', {source: self}); |
|
|
|
}); |
|
|
|
}); |
|
|
@ -905,58 +905,65 @@ var PDFViewerApplication = { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var initialParams = { |
|
|
|
var initialParams = { |
|
|
|
destination: self.initialDestination, |
|
|
|
destination: this.initialDestination, |
|
|
|
bookmark: self.initialBookmark, |
|
|
|
bookmark: this.initialBookmark, |
|
|
|
hash: null, |
|
|
|
hash: null, |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
var storedHash = this.viewerPrefs['defaultZoomValue'] ? |
|
|
|
|
|
|
|
('zoom=' + this.viewerPrefs['defaultZoomValue']) : null; |
|
|
|
|
|
|
|
var sidebarView = this.viewerPrefs['sidebarViewOnLoad']; |
|
|
|
|
|
|
|
|
|
|
|
store.initializedPromise.then(function resolved() { |
|
|
|
new Promise((resolve, reject) => { |
|
|
|
var storedHash = null, sidebarView = null; |
|
|
|
if (!this.viewerPrefs['showPreviousViewOnLoad']) { |
|
|
|
if (self.viewerPrefs['showPreviousViewOnLoad'] && |
|
|
|
resolve(); |
|
|
|
store.get('exists', false)) { |
|
|
|
return; |
|
|
|
var pageNum = store.get('page', '1'); |
|
|
|
|
|
|
|
var zoom = self.viewerPrefs['defaultZoomValue'] || |
|
|
|
|
|
|
|
store.get('zoom', DEFAULT_SCALE_VALUE); |
|
|
|
|
|
|
|
var left = store.get('scrollLeft', '0'); |
|
|
|
|
|
|
|
var top = store.get('scrollTop', '0'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
storedHash = 'page=' + pageNum + '&zoom=' + zoom + ',' + |
|
|
|
|
|
|
|
left + ',' + top; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sidebarView = store.get('sidebarView', SidebarView.NONE); |
|
|
|
|
|
|
|
} else if (self.viewerPrefs['defaultZoomValue']) { |
|
|
|
|
|
|
|
storedHash = 'page=1&zoom=' + self.viewerPrefs['defaultZoomValue']; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
self.setInitialView(storedHash, |
|
|
|
store.getMultiple({ |
|
|
|
{ scale: scale, sidebarView: sidebarView }); |
|
|
|
exists: false, |
|
|
|
|
|
|
|
page: '1', |
|
|
|
|
|
|
|
zoom: DEFAULT_SCALE_VALUE, |
|
|
|
|
|
|
|
scrollLeft: '0', |
|
|
|
|
|
|
|
scrollTop: '0', |
|
|
|
|
|
|
|
sidebarView: SidebarView.NONE, |
|
|
|
|
|
|
|
}).then((values) => { |
|
|
|
|
|
|
|
if (!values.exists) { |
|
|
|
|
|
|
|
resolve(); |
|
|
|
|
|
|
|
return; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
storedHash = 'page=' + values.page + |
|
|
|
|
|
|
|
'&zoom=' + (this.viewerPrefs['defaultZoomValue'] || values.zoom) + |
|
|
|
|
|
|
|
',' + values.scrollLeft + ',' + values.scrollTop; |
|
|
|
|
|
|
|
sidebarView = this.viewerPrefs['sidebarViewOnLoad'] || |
|
|
|
|
|
|
|
(values.sidebarView | 0); |
|
|
|
|
|
|
|
resolve(); |
|
|
|
|
|
|
|
}).catch(function() { |
|
|
|
|
|
|
|
resolve(); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
}).then(() => { |
|
|
|
|
|
|
|
this.setInitialView(storedHash, { sidebarView, scale, }); |
|
|
|
initialParams.hash = storedHash; |
|
|
|
initialParams.hash = storedHash; |
|
|
|
|
|
|
|
|
|
|
|
// Make all navigation keys work on document load,
|
|
|
|
// Make all navigation keys work on document load,
|
|
|
|
// unless the viewer is embedded in a web page.
|
|
|
|
// unless the viewer is embedded in a web page.
|
|
|
|
if (!self.isViewerEmbedded) { |
|
|
|
if (!this.isViewerEmbedded) { |
|
|
|
self.pdfViewer.focus(); |
|
|
|
this.pdfViewer.focus(); |
|
|
|
} |
|
|
|
} |
|
|
|
}, function rejected(reason) { |
|
|
|
return pagesPromise; |
|
|
|
console.error(reason); |
|
|
|
}).then(() => { |
|
|
|
self.setInitialView(null, { scale: scale }); |
|
|
|
// For documents with different page sizes, once all pages are resolved,
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// For documents with different page sizes,
|
|
|
|
|
|
|
|
// ensure that the correct location becomes visible on load.
|
|
|
|
// ensure that the correct location becomes visible on load.
|
|
|
|
pagesPromise.then(function resolved() { |
|
|
|
|
|
|
|
if (!initialParams.destination && !initialParams.bookmark && |
|
|
|
if (!initialParams.destination && !initialParams.bookmark && |
|
|
|
!initialParams.hash) { |
|
|
|
!initialParams.hash) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
if (self.hasEqualPageSizes) { |
|
|
|
if (this.hasEqualPageSizes) { |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
self.initialDestination = initialParams.destination; |
|
|
|
this.initialDestination = initialParams.destination; |
|
|
|
self.initialBookmark = initialParams.bookmark; |
|
|
|
this.initialBookmark = initialParams.bookmark; |
|
|
|
|
|
|
|
|
|
|
|
self.pdfViewer.currentScaleValue = self.pdfViewer.currentScaleValue; |
|
|
|
this.pdfViewer.currentScaleValue = this.pdfViewer.currentScaleValue; |
|
|
|
self.setInitialView(initialParams.hash); |
|
|
|
this.setInitialView(initialParams.hash); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
@ -1085,14 +1092,11 @@ var PDFViewerApplication = { |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
setInitialView: function pdfViewSetInitialView(storedHash, options) { |
|
|
|
setInitialView(storedHash, options = {}) { |
|
|
|
var scale = options && options.scale; |
|
|
|
var { scale = 0, sidebarView = SidebarView.NONE, } = options; |
|
|
|
var sidebarView = options && options.sidebarView; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.isInitialViewSet = true; |
|
|
|
this.isInitialViewSet = true; |
|
|
|
|
|
|
|
this.pdfSidebar.setInitialView(sidebarView); |
|
|
|
this.pdfSidebar.setInitialView(this.viewerPrefs['sidebarViewOnLoad'] || |
|
|
|
|
|
|
|
(sidebarView | 0)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (this.initialDestination) { |
|
|
|
if (this.initialDestination) { |
|
|
|
this.pdfLinkService.navigateTo(this.initialDestination); |
|
|
|
this.pdfLinkService.navigateTo(this.initialDestination); |
|
|
@ -1645,25 +1649,21 @@ function webViewerPresentationModeChanged(e) { |
|
|
|
active ? PresentationModeState.FULLSCREEN : PresentationModeState.NORMAL; |
|
|
|
active ? PresentationModeState.FULLSCREEN : PresentationModeState.NORMAL; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function webViewerSidebarViewChanged(e) { |
|
|
|
function webViewerSidebarViewChanged(evt) { |
|
|
|
PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = |
|
|
|
PDFViewerApplication.pdfRenderingQueue.isThumbnailViewEnabled = |
|
|
|
PDFViewerApplication.pdfSidebar.isThumbnailViewVisible; |
|
|
|
PDFViewerApplication.pdfSidebar.isThumbnailViewVisible; |
|
|
|
|
|
|
|
|
|
|
|
var store = PDFViewerApplication.store; |
|
|
|
var store = PDFViewerApplication.store; |
|
|
|
if (!store || !PDFViewerApplication.isInitialViewSet) { |
|
|
|
if (store && PDFViewerApplication.isInitialViewSet) { |
|
|
|
// Only update the storage when the document has been loaded *and* rendered.
|
|
|
|
// Only update the storage when the document has been loaded *and* rendered.
|
|
|
|
return; |
|
|
|
store.set('sidebarView', evt.view).catch(function() { }); |
|
|
|
} |
|
|
|
} |
|
|
|
store.initializedPromise.then(function() { |
|
|
|
|
|
|
|
store.set('sidebarView', e.view).catch(function() {}); |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function webViewerUpdateViewarea(e) { |
|
|
|
function webViewerUpdateViewarea(evt) { |
|
|
|
var location = e.location, store = PDFViewerApplication.store; |
|
|
|
var location = evt.location, store = PDFViewerApplication.store; |
|
|
|
|
|
|
|
|
|
|
|
if (store) { |
|
|
|
if (store && PDFViewerApplication.isInitialViewSet) { |
|
|
|
store.initializedPromise.then(function() { |
|
|
|
|
|
|
|
store.setMultiple({ |
|
|
|
store.setMultiple({ |
|
|
|
'exists': true, |
|
|
|
'exists': true, |
|
|
|
'page': location.pageNumber, |
|
|
|
'page': location.pageNumber, |
|
|
@ -1671,7 +1671,6 @@ function webViewerUpdateViewarea(e) { |
|
|
|
'scrollLeft': location.left, |
|
|
|
'scrollLeft': location.left, |
|
|
|
'scrollTop': location.top, |
|
|
|
'scrollTop': location.top, |
|
|
|
}).catch(function() { /* unable to write to storage */ }); |
|
|
|
}).catch(function() { /* unable to write to storage */ }); |
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
var href = |
|
|
|
var href = |
|
|
|
PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams); |
|
|
|
PDFViewerApplication.pdfLinkService.getAnchorUrl(location.pdfOpenParams); |
|
|
|