|
|
|
@ -1172,23 +1172,31 @@ var PDFView = {
@@ -1172,23 +1172,31 @@ var PDFView = {
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
navigateTo: function pdfViewNavigateTo(dest) { |
|
|
|
|
if (typeof dest === 'string') |
|
|
|
|
dest = this.destinations[dest]; |
|
|
|
|
if (!(dest instanceof Array)) |
|
|
|
|
var self = this; |
|
|
|
|
PDFJS.Promise.all([this.pagesPromise, |
|
|
|
|
this.destinationsPromise]).then(function() { |
|
|
|
|
if (typeof dest === 'string') { |
|
|
|
|
dest = self.destinations[dest]; |
|
|
|
|
} |
|
|
|
|
if (!(dest instanceof Array)) { |
|
|
|
|
return; // invalid destination
|
|
|
|
|
} |
|
|
|
|
// dest array looks like that: <page-ref> </XYZ|FitXXX> <args..>
|
|
|
|
|
var destRef = dest[0]; |
|
|
|
|
var pageNumber = destRef instanceof Object ? |
|
|
|
|
this.pagesRefMap[destRef.num + ' ' + destRef.gen + ' R'] : (destRef + 1); |
|
|
|
|
if (pageNumber > this.pages.length) |
|
|
|
|
pageNumber = this.pages.length; |
|
|
|
|
self.pagesRefMap[destRef.num + ' ' + destRef.gen + ' R'] : |
|
|
|
|
(destRef + 1); |
|
|
|
|
if (pageNumber) { |
|
|
|
|
this.page = pageNumber; |
|
|
|
|
var currentPage = this.pages[pageNumber - 1]; |
|
|
|
|
if (!this.isFullscreen) { // Avoid breaking fullscreen mode.
|
|
|
|
|
if (pageNumber > self.pages.length) { |
|
|
|
|
pageNumber = self.pages.length; |
|
|
|
|
} |
|
|
|
|
self.page = pageNumber; |
|
|
|
|
if (!self.isFullscreen) { // Avoid breaking fullscreen mode.
|
|
|
|
|
var currentPage = self.pages[pageNumber - 1]; |
|
|
|
|
currentPage.scrollIntoView(dest); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
getDestinationHash: function pdfViewGetDestinationHash(dest) { |
|
|
|
@ -1368,7 +1376,7 @@ var PDFView = {
@@ -1368,7 +1376,7 @@ var PDFView = {
|
|
|
|
|
var pagesRefMap = this.pagesRefMap = {}; |
|
|
|
|
var thumbnails = this.thumbnails = []; |
|
|
|
|
|
|
|
|
|
var pagesPromise = new PDFJS.Promise(); |
|
|
|
|
var pagesPromise = this.pagesPromise = new PDFJS.Promise(); |
|
|
|
|
var self = this; |
|
|
|
|
|
|
|
|
|
var firstPagePromise = pdfDocument.getPage(1); |
|
|
|
@ -1458,7 +1466,8 @@ var PDFView = {
@@ -1458,7 +1466,8 @@ var PDFView = {
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
var destinationsPromise = pdfDocument.getDestinations(); |
|
|
|
|
var destinationsPromise = |
|
|
|
|
this.destinationsPromise = pdfDocument.getDestinations(); |
|
|
|
|
destinationsPromise.then(function(destinations) { |
|
|
|
|
self.destinations = destinations; |
|
|
|
|
}); |
|
|
|
|