Merge pull request #5895 from Snuffleupagus/viewer-pref-init-refactor
Re-factor and clean-up some preference related code in viewer.js
This commit is contained in:
commit
a7e6f6d4d0
@ -111,6 +111,7 @@ var PDFViewerApplication = {
|
||||
preferenceSidebarViewOnLoad: SidebarView.NONE,
|
||||
preferencePdfBugEnabled: false,
|
||||
preferenceShowPreviousViewOnLoad: true,
|
||||
preferenceDefaultZoomValue: '',
|
||||
isViewerEmbedded: (window.parent !== window),
|
||||
url: '',
|
||||
|
||||
@ -231,9 +232,9 @@ var PDFViewerApplication = {
|
||||
}),
|
||||
Preferences.get('showPreviousViewOnLoad').then(function resolved(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) {
|
||||
if (PDFJS.disableTextLayer === true) {
|
||||
@ -259,7 +260,6 @@ var PDFViewerApplication = {
|
||||
Preferences.get('useOnlyCssZoom').then(function resolved(value) {
|
||||
PDFJS.useOnlyCssZoom = value;
|
||||
})
|
||||
|
||||
// TODO move more preferences and other async stuff here
|
||||
]).catch(function (reason) { });
|
||||
|
||||
@ -881,48 +881,39 @@ var PDFViewerApplication = {
|
||||
if (!PDFJS.disableHistory && !self.isViewerEmbedded) {
|
||||
// The browsing history is only enabled when the viewer is standalone,
|
||||
// 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);
|
||||
}
|
||||
});
|
||||
|
||||
// Fetch the necessary preference values.
|
||||
var defaultZoomValue;
|
||||
var defaultZoomValuePromise =
|
||||
Preferences.get('defaultZoomValue').then(function (prefValue) {
|
||||
defaultZoomValue = prefValue;
|
||||
});
|
||||
store.initializedPromise.then(function resolved() {
|
||||
var storedHash = null;
|
||||
if (self.preferenceShowPreviousViewOnLoad &&
|
||||
store.get('exists', false)) {
|
||||
var pageNum = store.get('page', '1');
|
||||
var zoom = self.preferenceDefaultZoomValue ||
|
||||
store.get('zoom', self.pdfViewer.currentScale);
|
||||
var left = store.get('scrollLeft', '0');
|
||||
var top = store.get('scrollTop', '0');
|
||||
|
||||
var storePromise = store.initializedPromise;
|
||||
Promise.all([firstPagePromise, storePromise, defaultZoomValuePromise]).then(
|
||||
function resolved() {
|
||||
var storedHash = null;
|
||||
if (PDFViewerApplication.preferenceShowPreviousViewOnLoad &&
|
||||
store.get('exists', false)) {
|
||||
var pageNum = store.get('page', '1');
|
||||
var zoom = defaultZoomValue ||
|
||||
store.get('zoom', self.pdfViewer.currentScale);
|
||||
var left = store.get('scrollLeft', '0');
|
||||
var top = store.get('scrollTop', '0');
|
||||
storedHash = 'page=' + pageNum + '&zoom=' + zoom + ',' +
|
||||
left + ',' + top;
|
||||
} else if (self.preferenceDefaultZoomValue) {
|
||||
storedHash = 'page=1&zoom=' + self.preferenceDefaultZoomValue;
|
||||
}
|
||||
self.setInitialView(storedHash, scale);
|
||||
|
||||
storedHash = 'page=' + pageNum + '&zoom=' + zoom + ',' +
|
||||
left + ',' + top;
|
||||
} else if (defaultZoomValue) {
|
||||
storedHash = 'page=1&zoom=' + defaultZoomValue;
|
||||
}
|
||||
self.setInitialView(storedHash, scale);
|
||||
|
||||
// Make all navigation keys work on document load,
|
||||
// unless the viewer is embedded in a web page.
|
||||
if (!self.isViewerEmbedded) {
|
||||
self.pdfViewer.focus();
|
||||
// Make all navigation keys work on document load,
|
||||
// unless the viewer is embedded in a web page.
|
||||
if (!self.isViewerEmbedded) {
|
||||
self.pdfViewer.focus();
|
||||
//#if (FIREFOX || MOZCENTRAL)
|
||||
// self.pdfViewer.blur();
|
||||
// self.pdfViewer.blur();
|
||||
//#endif
|
||||
}
|
||||
}, function rejected(reason) {
|
||||
console.error(reason);
|
||||
|
||||
firstPagePromise.then(function () {
|
||||
}
|
||||
}, function rejected(reason) {
|
||||
console.error(reason);
|
||||
self.setInitialView(null, scale);
|
||||
});
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user