Refactor reading from the ViewHistory in PDFViewerApplication.load

This commit is contained in:
Jonas Jenwald 2017-07-19 16:04:56 +02:00
parent 16c5d41c5b
commit f7c4ed4bc3

View File

@ -932,37 +932,34 @@ let PDFViewerApplication = {
bookmark: this.initialBookmark, bookmark: this.initialBookmark,
hash: null, hash: null,
}; };
let storedHash = this.viewerPrefs['defaultZoomValue'] ? let storePromise = store.getMultiple({
('zoom=' + this.viewerPrefs['defaultZoomValue']) : null; exists: false,
let sidebarView = this.viewerPrefs['sidebarViewOnLoad']; page: '1',
zoom: DEFAULT_SCALE_VALUE,
scrollLeft: '0',
scrollTop: '0',
sidebarView: SidebarView.NONE,
}).catch(() => { /* Unable to read from storage -- ignoring errors. */ });
new Promise((resolve, reject) => { storePromise.then((values = {}) => {
if (!this.viewerPrefs['showPreviousViewOnLoad']) { // Initialize the default values, from user preferences.
resolve(); let hash = this.viewerPrefs['defaultZoomValue'] ?
return; ('zoom=' + this.viewerPrefs['defaultZoomValue']) : null;
} let sidebarView = this.viewerPrefs['sidebarViewOnLoad'];
store.getMultiple({
exists: false, if (values.exists && this.viewerPrefs['showPreviousViewOnLoad']) {
page: '1', hash = 'page=' + values.page +
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) + '&zoom=' + (this.viewerPrefs['defaultZoomValue'] || values.zoom) +
',' + values.scrollLeft + ',' + values.scrollTop; ',' + values.scrollLeft + ',' + values.scrollTop;
sidebarView = this.viewerPrefs['sidebarViewOnLoad'] || sidebarView = sidebarView || (values.sidebarView | 0);
(values.sidebarView | 0); }
resolve(); return {
}).catch(resolve); hash,
}).then(() => { sidebarView,
this.setInitialView(storedHash, { sidebarView, scale, }); };
initialParams.hash = storedHash; }).then(({ hash, sidebarView, }) => {
this.setInitialView(hash, { sidebarView, scale, });
initialParams.hash = hash;
// 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.