Tweak the behaviour of navigateTo during document load
This commit is contained in:
parent
b996e1b781
commit
d3c82750c4
@ -1486,19 +1486,12 @@ var PDFView = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
navigateTo: function pdfViewNavigateTo(dest) {
|
navigateTo: function pdfViewNavigateTo(dest) {
|
||||||
|
var destString = '';
|
||||||
var self = this;
|
var self = this;
|
||||||
PDFJS.Promise.all([this.pagesPromise,
|
|
||||||
this.destinationsPromise]).then(function() {
|
var goToDestination = function(destRef) {
|
||||||
var destString = '';
|
self.pendingRefStr = null;
|
||||||
if (typeof dest === 'string') {
|
|
||||||
destString = dest;
|
|
||||||
dest = self.destinations[dest];
|
|
||||||
}
|
|
||||||
if (!(dest instanceof Array)) {
|
|
||||||
return; // invalid destination
|
|
||||||
}
|
|
||||||
// dest array looks like that: <page-ref> </XYZ|FitXXX> <args..>
|
// dest array looks like that: <page-ref> </XYZ|FitXXX> <args..>
|
||||||
var destRef = dest[0];
|
|
||||||
var pageNumber = destRef instanceof Object ?
|
var pageNumber = destRef instanceof Object ?
|
||||||
self.pagesRefMap[destRef.num + ' ' + destRef.gen + ' R'] :
|
self.pagesRefMap[destRef.num + ' ' + destRef.gen + ' R'] :
|
||||||
(destRef + 1);
|
(destRef + 1);
|
||||||
@ -1511,7 +1504,24 @@ var PDFView = {
|
|||||||
|
|
||||||
// Update the browsing history.
|
// Update the browsing history.
|
||||||
PDFHistory.push({ dest: dest, hash: destString, page: pageNumber });
|
PDFHistory.push({ dest: dest, hash: destString, page: pageNumber });
|
||||||
|
} else {
|
||||||
|
self.pendingRefStrLoaded = new PDFJS.Promise();
|
||||||
|
self.pendingRefStr = destRef.num + ' ' + destRef.gen + ' R';
|
||||||
|
self.pendingRefStrLoaded.then(function() {
|
||||||
|
goToDestination(destRef);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.destinationsPromise.then(function() {
|
||||||
|
if (typeof dest === 'string') {
|
||||||
|
destString = dest;
|
||||||
|
dest = self.destinations[dest];
|
||||||
|
}
|
||||||
|
if (!(dest instanceof Array)) {
|
||||||
|
return; // invalid destination
|
||||||
|
}
|
||||||
|
goToDestination(dest[0]);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1746,6 +1756,10 @@ var PDFView = {
|
|||||||
var pageRef = pdfPage.ref;
|
var pageRef = pdfPage.ref;
|
||||||
var refStr = pageRef.num + ' ' + pageRef.gen + ' R';
|
var refStr = pageRef.num + ' ' + pageRef.gen + ' R';
|
||||||
pagesRefMap[refStr] = pdfPage.pageNumber;
|
pagesRefMap[refStr] = pdfPage.pageNumber;
|
||||||
|
|
||||||
|
if (self.pendingRefStr && self.pendingRefStr === refStr) {
|
||||||
|
self.pendingRefStrLoaded.resolve();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
pagePromises.push(pagePromise);
|
pagePromises.push(pagePromise);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user