Browse Source

Merge pull request #5895 from Snuffleupagus/viewer-pref-init-refactor

Re-factor and clean-up some preference related code in viewer.js
Tim van der Meij 10 years ago
parent
commit
a7e6f6d4d0
  1. 33
      web/viewer.js

33
web/viewer.js

@ -111,6 +111,7 @@ var PDFViewerApplication = {
preferenceSidebarViewOnLoad: SidebarView.NONE, preferenceSidebarViewOnLoad: SidebarView.NONE,
preferencePdfBugEnabled: false, preferencePdfBugEnabled: false,
preferenceShowPreviousViewOnLoad: true, preferenceShowPreviousViewOnLoad: true,
preferenceDefaultZoomValue: '',
isViewerEmbedded: (window.parent !== window), isViewerEmbedded: (window.parent !== window),
url: '', url: '',
@ -231,9 +232,9 @@ var PDFViewerApplication = {
}), }),
Preferences.get('showPreviousViewOnLoad').then(function resolved(value) { Preferences.get('showPreviousViewOnLoad').then(function resolved(value) {
self.preferenceShowPreviousViewOnLoad = value; self.preferenceShowPreviousViewOnLoad = value;
if (!value && window.history.state) { }),
window.history.replaceState(null, ''); Preferences.get('defaultZoomValue').then(function resolved(value) {
} self.preferenceDefaultZoomValue = value;
}), }),
Preferences.get('disableTextLayer').then(function resolved(value) { Preferences.get('disableTextLayer').then(function resolved(value) {
if (PDFJS.disableTextLayer === true) { if (PDFJS.disableTextLayer === true) {
@ -259,7 +260,6 @@ var PDFViewerApplication = {
Preferences.get('useOnlyCssZoom').then(function resolved(value) { Preferences.get('useOnlyCssZoom').then(function resolved(value) {
PDFJS.useOnlyCssZoom = value; PDFJS.useOnlyCssZoom = value;
}) })
// TODO move more preferences and other async stuff here // TODO move more preferences and other async stuff here
]).catch(function (reason) { }); ]).catch(function (reason) { });
@ -881,33 +881,26 @@ var PDFViewerApplication = {
if (!PDFJS.disableHistory && !self.isViewerEmbedded) { if (!PDFJS.disableHistory && !self.isViewerEmbedded) {
// The browsing history is only enabled when the viewer is standalone, // The browsing history is only enabled when the viewer is standalone,
// i.e. not when it is embedded in a web page. // i.e. not when it is embedded in a web page.
if (!self.preferenceShowPreviousViewOnLoad && window.history.state) {
window.history.replaceState(null, '');
}
PDFHistory.initialize(self.documentFingerprint, self); PDFHistory.initialize(self.documentFingerprint, self);
} }
});
// Fetch the necessary preference values. store.initializedPromise.then(function resolved() {
var defaultZoomValue;
var defaultZoomValuePromise =
Preferences.get('defaultZoomValue').then(function (prefValue) {
defaultZoomValue = prefValue;
});
var storePromise = store.initializedPromise;
Promise.all([firstPagePromise, storePromise, defaultZoomValuePromise]).then(
function resolved() {
var storedHash = null; var storedHash = null;
if (PDFViewerApplication.preferenceShowPreviousViewOnLoad && if (self.preferenceShowPreviousViewOnLoad &&
store.get('exists', false)) { store.get('exists', false)) {
var pageNum = store.get('page', '1'); var pageNum = store.get('page', '1');
var zoom = defaultZoomValue || var zoom = self.preferenceDefaultZoomValue ||
store.get('zoom', self.pdfViewer.currentScale); store.get('zoom', self.pdfViewer.currentScale);
var left = store.get('scrollLeft', '0'); var left = store.get('scrollLeft', '0');
var top = store.get('scrollTop', '0'); var top = store.get('scrollTop', '0');
storedHash = 'page=' + pageNum + '&zoom=' + zoom + ',' + storedHash = 'page=' + pageNum + '&zoom=' + zoom + ',' +
left + ',' + top; left + ',' + top;
} else if (defaultZoomValue) { } else if (self.preferenceDefaultZoomValue) {
storedHash = 'page=1&zoom=' + defaultZoomValue; storedHash = 'page=1&zoom=' + self.preferenceDefaultZoomValue;
} }
self.setInitialView(storedHash, scale); self.setInitialView(storedHash, scale);
@ -921,8 +914,6 @@ var PDFViewerApplication = {
} }
}, function rejected(reason) { }, function rejected(reason) {
console.error(reason); console.error(reason);
firstPagePromise.then(function () {
self.setInitialView(null, scale); self.setInitialView(null, scale);
}); });
}); });

Loading…
Cancel
Save