UNPKG

@alfresco/adf-core

Version:
154 lines (153 loc) 5.1 kB
import { EventEmitter, InjectionToken, OnChanges, OnDestroy, SimpleChanges, TemplateRef } from '@angular/core'; import { PDFViewer } from 'pdfjs-dist/web/pdf_viewer.mjs'; import { PDFDocumentLoadingTask, PDFDocumentProxy } from 'pdfjs-dist/types/src/display/api'; import * as i0 from "@angular/core"; export type PdfScaleMode = 'init' | 'page-actual' | 'page-width' | 'page-height' | 'page-fit' | 'auto'; export declare const PDFJS_MODULE: InjectionToken<any>; export declare const PDFJS_VIEWER_MODULE: InjectionToken<typeof PDFViewer>; export declare class PdfViewerComponent implements OnChanges, OnDestroy { urlFile: string; blobFile: Blob; fileName: string; showToolbar: boolean; allowThumbnails: boolean; thumbnailsTemplate: TemplateRef<any>; cacheType: string; rendered: EventEmitter<any>; error: EventEmitter<any>; close: EventEmitter<any>; pagesLoaded: EventEmitter<void>; page: number; displayPage: number; totalPages: number; loadingPercent: number; pdfViewer: PDFViewer; pdfJsWorkerUrl: string; pdfJsWorkerInstance: Worker; currentScaleMode: PdfScaleMode; MAX_AUTO_SCALE: number; DEFAULT_SCALE_DELTA: number; MIN_SCALE: number; MAX_SCALE: number; loadingTask: PDFDocumentLoadingTask; isPanelDisabled: boolean; showThumbnails: boolean; pdfThumbnailsContext: { viewer: any; }; randomPdfId: string; documentOverflow: boolean; get currentScaleText(): string; private pdfjsLib; private pdfjsViewer; private eventBus; private pdfjsDefaultOptions; private pdfjsWorkerDestroy$; private dialog; private renderingQueueServices; private appConfigService; constructor(); getUserScaling(): number; checkLimits(scaleConfig: number): number; ngOnChanges(changes: SimpleChanges): void; executePdf(pdfOptions: any): void; private setupPdfJsWorker; private getPdfJsWorker; initPDFViewer(pdfDocument: PDFDocumentProxy): void; ngOnDestroy(): void; private destroyPfdJsWorker; private revokePdfJsWorkerUrl; toggleThumbnails(): void; /** * Method to scale the page current support implementation * * @param scaleMode - new scale mode */ scalePage(scaleMode: PdfScaleMode): void; private autoScaling; private getMainContainer; private getDocumentContainer; private getViewer; checkPageFitInContainer(scale: number): number; setDocumentOverflow(): void; /** * Update all the pages with the newScale scale * * @param newScale - new scale page */ setScaleUpdatePages(newScale: number): void; /** * Check if the request scale of the page is the same for avoid useless re-rendering * * @param oldScale - old scale page * @param newScale - new scale page * @returns `true` if the scale is the same, otherwise `false` */ isSameScale(oldScale: string, newScale: string): boolean; /** * Check if is a land scape view * * @param width target width * @param height target height * @returns `true` if the target is in the landscape mode, otherwise `false` */ isLandscape(width: number, height: number): boolean; /** * Method triggered when the page is resized */ onResize(): void; /** * toggle the fit page pdf */ pageFit(): void; /** * zoom in page pdf * * @param ticks number of ticks to zoom */ zoomIn(ticks?: number): void; /** * zoom out page pdf * * @param ticks number of ticks to scale */ zoomOut(ticks?: number): void; /** * load the previous page */ previousPage(): void; /** * load the next page */ nextPage(): void; /** * load the page in input * * @param page to load */ inputPage(page: string): void; /** * Page Change Event * * @param event event */ onPageChange(event: any): void; onPdfPassword(callback: any, reason: any): void; /** * Page Rendered Event */ onPageRendered(): void; /** * Pages Loaded Event * */ onPagesLoaded(): void; /** * Keyboard Event Listener * * @param event KeyboardEvent */ handleKeyboardEvent(event: KeyboardEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration<PdfViewerComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<PdfViewerComponent, "adf-pdf-viewer", never, { "urlFile": { "alias": "urlFile"; "required": false; }; "blobFile": { "alias": "blobFile"; "required": false; }; "fileName": { "alias": "fileName"; "required": false; }; "showToolbar": { "alias": "showToolbar"; "required": false; }; "allowThumbnails": { "alias": "allowThumbnails"; "required": false; }; "thumbnailsTemplate": { "alias": "thumbnailsTemplate"; "required": false; }; "cacheType": { "alias": "cacheType"; "required": false; }; }, { "rendered": "rendered"; "error": "error"; "close": "close"; "pagesLoaded": "pagesLoaded"; }, never, never, true, never>; }