[ADF-2137] Document Thumbnail Pane (#2943)

* pdf thumbnails

* update TestBed declarations

* add PdfViewerService to TestBed

* content projection

* update TestBed declaration

* update TestBed

* update TestBed

* docs

* pristine

* added doc component image

* use global PDFJS instance fro tests
This commit is contained in:
Cilibiu Bogdan
2018-02-20 12:29:40 +02:00
committed by Eugenio Romano
parent 5955cc567d
commit 28ca71a5f9
22 changed files with 631 additions and 18 deletions

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Component, HostListener, Input, OnChanges, OnDestroy, ViewEncapsulation } from '@angular/core';
import { Component, TemplateRef, HostListener, Input, OnChanges, OnDestroy, ViewEncapsulation } from '@angular/core';
import { LogService } from '../../services/log.service';
import { RenderingQueueServices } from '../services/rendering-queue.services';
@@ -49,6 +49,9 @@ export class PdfViewerComponent implements OnChanges, OnDestroy {
@Input()
allowThumbnails = false;
@Input()
thumbnailsTemplate: TemplateRef<any> = null;
currentPdfDocument: any;
page: number;
displayPage: number;
@@ -64,6 +67,9 @@ export class PdfViewerComponent implements OnChanges, OnDestroy {
MIN_SCALE: number = 0.25;
MAX_SCALE: number = 10.0;
showThumbnails = false;
pdfThumbnailsContext: { viewer: any } = { viewer: null };
get currentScaleText(): string {
return Math.round(this.currentScale * 100) + '%';
}
@@ -134,7 +140,7 @@ export class PdfViewerComponent implements OnChanges, OnDestroy {
const viewer: any = document.getElementById('viewer-viewerPdf');
this.documentContainer = document.getElementById('viewer-pdf-container');
this.documentContainer = document.getElementById('viewer-pdf-viewer');
this.documentContainer.addEventListener('pagechange', this.onPageChange, true);
this.pdfViewer = new PDFJS.PDFViewer({
@@ -146,6 +152,8 @@ export class PdfViewerComponent implements OnChanges, OnDestroy {
this.renderingQueueServices.setViewer(this.pdfViewer);
this.pdfViewer.setDocument(pdfDocument);
this.pdfThumbnailsContext.viewer = this.pdfViewer;
}
ngOnDestroy() {
@@ -154,6 +162,10 @@ export class PdfViewerComponent implements OnChanges, OnDestroy {
}
}
toggleThumbnails() {
this.showThumbnails = !this.showThumbnails;
}
/**
* Method to scale the page current support implementation
*
@@ -165,7 +177,7 @@ export class PdfViewerComponent implements OnChanges, OnDestroy {
if (this.pdfViewer) {
let viewerContainer = document.getElementById('viewer-main-container');
let documentContainer = document.getElementById('viewer-pdf-container');
let documentContainer = document.getElementById('viewer-pdf-viewer');
let widthContainer;
let heightContainer;