Merge pull request #6063 from Snuffleupagus/pdfLinkService-optional-history
Tweak the PDFLinkService a bit
This commit is contained in:
		
						commit
						d3fa65e019
					
				@ -65,12 +65,14 @@ var PDFLinkService = (function () {
 | 
				
			|||||||
    get page() {
 | 
					    get page() {
 | 
				
			||||||
      return this.pdfViewer.currentPageNumber;
 | 
					      return this.pdfViewer.currentPageNumber;
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * @param {number} value
 | 
					     * @param {number} value
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    set page(value) {
 | 
					    set page(value) {
 | 
				
			||||||
      this.pdfViewer.currentPageNumber = value;
 | 
					      this.pdfViewer.currentPageNumber = value;
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * @param dest - The PDF destination object.
 | 
					     * @param dest - The PDF destination object.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
@ -89,12 +91,14 @@ var PDFLinkService = (function () {
 | 
				
			|||||||
          }
 | 
					          }
 | 
				
			||||||
          self.pdfViewer.scrollPageIntoView(pageNumber, dest);
 | 
					          self.pdfViewer.scrollPageIntoView(pageNumber, dest);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					          if (self.pdfHistory) {
 | 
				
			||||||
            // Update the browsing history.
 | 
					            // Update the browsing history.
 | 
				
			||||||
            self.pdfHistory.push({
 | 
					            self.pdfHistory.push({
 | 
				
			||||||
              dest: dest,
 | 
					              dest: dest,
 | 
				
			||||||
              hash: destString,
 | 
					              hash: destString,
 | 
				
			||||||
              page: pageNumber
 | 
					              page: pageNumber
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          self.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
 | 
					          self.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
 | 
				
			||||||
            var pageNum = pageIndex + 1;
 | 
					            var pageNum = pageIndex + 1;
 | 
				
			||||||
@ -173,7 +177,9 @@ var PDFLinkService = (function () {
 | 
				
			|||||||
        var params = parseQueryString(hash);
 | 
					        var params = parseQueryString(hash);
 | 
				
			||||||
        // borrowing syntax from "Parameters for Opening PDF Files"
 | 
					        // borrowing syntax from "Parameters for Opening PDF Files"
 | 
				
			||||||
        if ('nameddest' in params) {
 | 
					        if ('nameddest' in params) {
 | 
				
			||||||
 | 
					          if (this.pdfHistory) {
 | 
				
			||||||
            this.pdfHistory.updateNextHashParam(params.nameddest);
 | 
					            this.pdfHistory.updateNextHashParam(params.nameddest);
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
          this.navigateTo(params.nameddest);
 | 
					          this.navigateTo(params.nameddest);
 | 
				
			||||||
          return;
 | 
					          return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@ -203,7 +209,7 @@ var PDFLinkService = (function () {
 | 
				
			|||||||
                      zoomArgs.length > 1 ? (zoomArgs[1] | 0) : null];
 | 
					                      zoomArgs.length > 1 ? (zoomArgs[1] | 0) : null];
 | 
				
			||||||
            } else if (zoomArg === 'FitR') {
 | 
					            } else if (zoomArg === 'FitR') {
 | 
				
			||||||
              if (zoomArgs.length !== 5) {
 | 
					              if (zoomArgs.length !== 5) {
 | 
				
			||||||
                console.error('pdfViewSetHash: ' +
 | 
					                console.error('PDFLinkService_setHash: ' +
 | 
				
			||||||
                              'Not enough parameters for \'FitR\'.');
 | 
					                              'Not enough parameters for \'FitR\'.');
 | 
				
			||||||
              } else {
 | 
					              } else {
 | 
				
			||||||
                dest = [null, { name: zoomArg },
 | 
					                dest = [null, { name: zoomArg },
 | 
				
			||||||
@ -211,7 +217,7 @@ var PDFLinkService = (function () {
 | 
				
			|||||||
                        (zoomArgs[3] | 0), (zoomArgs[4] | 0)];
 | 
					                        (zoomArgs[3] | 0), (zoomArgs[4] | 0)];
 | 
				
			||||||
              }
 | 
					              }
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
              console.error('pdfViewSetHash: \'' + zoomArg +
 | 
					              console.error('PDFLinkService_setHash: \'' + zoomArg +
 | 
				
			||||||
                            '\' is not a valid zoom value.');
 | 
					                            '\' is not a valid zoom value.');
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
@ -233,7 +239,9 @@ var PDFLinkService = (function () {
 | 
				
			|||||||
      } else if (/^\d+$/.test(hash)) { // page number
 | 
					      } else if (/^\d+$/.test(hash)) { // page number
 | 
				
			||||||
        this.page = hash;
 | 
					        this.page = hash;
 | 
				
			||||||
      } else { // named destination
 | 
					      } else { // named destination
 | 
				
			||||||
 | 
					        if (this.pdfHistory) {
 | 
				
			||||||
          this.pdfHistory.updateNextHashParam(unescape(hash));
 | 
					          this.pdfHistory.updateNextHashParam(unescape(hash));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        this.navigateTo(unescape(hash));
 | 
					        this.navigateTo(unescape(hash));
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -245,11 +253,15 @@ var PDFLinkService = (function () {
 | 
				
			|||||||
      // See PDF reference, table 8.45 - Named action
 | 
					      // See PDF reference, table 8.45 - Named action
 | 
				
			||||||
      switch (action) {
 | 
					      switch (action) {
 | 
				
			||||||
        case 'GoBack':
 | 
					        case 'GoBack':
 | 
				
			||||||
 | 
					          if (this.pdfHistory) {
 | 
				
			||||||
            this.pdfHistory.back();
 | 
					            this.pdfHistory.back();
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case 'GoForward':
 | 
					        case 'GoForward':
 | 
				
			||||||
 | 
					          if (this.pdfHistory) {
 | 
				
			||||||
            this.pdfHistory.forward();
 | 
					            this.pdfHistory.forward();
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
          break;
 | 
					          break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case 'NextPage':
 | 
					        case 'NextPage':
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user