UNPKG

ngx-extended-pdf-viewer

Version:

Embedding PDF files in your Angular application. Highly configurable viewer including the toolbar, sidebar, and all the features you're used to.

35 lines 7.62 kB
import { Component } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../../../pdf-notification-service"; import * as i2 from "../../pdf-shy-button/pdf-shy-button.component"; import * as i3 from "../../../responsive-visibility"; export class PdfPreviousPageComponent { notificationService; ngZone; changeDetectorRef; disablePreviousPage = true; constructor(notificationService, ngZone, changeDetectorRef) { this.notificationService = notificationService; this.ngZone = ngZone; this.changeDetectorRef = changeDetectorRef; const subscription = this.notificationService.onPDFJSInit.subscribe(() => { this.onPdfJsInit(); subscription.unsubscribe(); }); } onPdfJsInit() { const PDFViewerApplication = window.PDFViewerApplication; PDFViewerApplication.eventBus.on('updateuistate', (event) => this.updateUIState(event)); } updateUIState(event) { this.disablePreviousPage = event.pageNumber <= 1; this.changeDetectorRef.markForCheck(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PdfPreviousPageComponent, deps: [{ token: i1.PDFNotificationService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: PdfPreviousPageComponent, selector: "pdf-previous-page", ngImport: i0, template: "<pdf-shy-button\n [cssClass]=\"'xs' | responsiveCSSClass\"\n title=\"Previous Page\"\n primaryToolbarId=\"primaryPrevious\"\n secondaryMenuId=\"secondaryPreviousPage\"\n l10nId=\"pdfjs-previous-button\"\n l10nLabel=\"pdfjs-previous-button-label\"\n [disabled]=\"disablePreviousPage\"\n [order]=\"600\"\n eventBusName=\"previouspage\"\n [closeOnClick]=\"false\"\n image=\"<svg style='width: 24px; height: 24px' viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z' /></svg>\"\n>\n</pdf-shy-button>\n", styles: ["button{padding:0;margin-top:0;margin-bottom:0}\n"], dependencies: [{ kind: "component", type: i2.PdfShyButtonComponent, selector: "pdf-shy-button", inputs: ["primaryToolbarId", "secondaryMenuId", "cssClass", "eventBusName", "l10nId", "l10nLabel", "title", "toggled", "disabled", "order", "action", "closeOnClick", "onlySecondaryMenu", "image"] }, { kind: "pipe", type: i3.ResponsiveCSSClassPipe, name: "responsiveCSSClass" }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PdfPreviousPageComponent, decorators: [{ type: Component, args: [{ selector: 'pdf-previous-page', template: "<pdf-shy-button\n [cssClass]=\"'xs' | responsiveCSSClass\"\n title=\"Previous Page\"\n primaryToolbarId=\"primaryPrevious\"\n secondaryMenuId=\"secondaryPreviousPage\"\n l10nId=\"pdfjs-previous-button\"\n l10nLabel=\"pdfjs-previous-button-label\"\n [disabled]=\"disablePreviousPage\"\n [order]=\"600\"\n eventBusName=\"previouspage\"\n [closeOnClick]=\"false\"\n image=\"<svg style='width: 24px; height: 24px' viewBox='0 0 24 24'><path fill='currentColor' d='M15.41,16.58L10.83,12L15.41,7.41L14,6L8,12L14,18L15.41,16.58Z' /></svg>\"\n>\n</pdf-shy-button>\n", styles: ["button{padding:0;margin-top:0;margin-bottom:0}\n"] }] }], ctorParameters: () => [{ type: i1.PDFNotificationService }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXByZXZpb3VzLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXIvc3JjL2xpYi90b29sYmFyL3BkZi1wYWdpbmctYXJlYS9wZGYtcHJldmlvdXMtcGFnZS9wZGYtcHJldmlvdXMtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvcGRmLXBhZ2luZy1hcmVhL3BkZi1wcmV2aW91cy1wYWdlL3BkZi1wcmV2aW91cy1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQVVyRSxNQUFNLE9BQU8sd0JBQXdCO0lBR2Y7SUFBcUQ7SUFBd0I7SUFGMUYsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBRWxDLFlBQW9CLG1CQUEyQyxFQUFVLE1BQWMsRUFBVSxpQkFBb0M7UUFBakgsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25JLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN2RSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxvQkFBb0IsR0FBMkIsTUFBYyxDQUFDLG9CQUFvQixDQUFDO1FBQ3pGLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUF5QjtRQUM1QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7dUdBbEJVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLHlEQ1ZyQyx5akJBY0E7OzJGREphLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVwZGF0ZVVJU3RhdGVFdmVudCB9IGZyb20gJy4uLy4uLy4uL2V2ZW50cy91cGRhdGUtdWktc3RhdGUtZXZlbnQnO1xuaW1wb3J0IHsgSVBERlZpZXdlckFwcGxpY2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vb3B0aW9ucy9wZGYtdmlld2VyLWFwcGxpY2F0aW9uJztcbmltcG9ydCB7IFBERk5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wZGYtbm90aWZpY2F0aW9uLXNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZGYtcHJldmlvdXMtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wZGYtcHJldmlvdXMtcGFnZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BkZi1wcmV2aW91cy1wYWdlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGRmUHJldmlvdXNQYWdlQ29tcG9uZW50IHtcbiAgcHVibGljIGRpc2FibGVQcmV2aW91c1BhZ2UgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogUERGTm90aWZpY2F0aW9uU2VydmljZSwgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uub25QREZKU0luaXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMub25QZGZKc0luaXQoKTtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uUGRmSnNJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IFBERlZpZXdlckFwcGxpY2F0aW9uOiBJUERGVmlld2VyQXBwbGljYXRpb24gPSAod2luZG93IGFzIGFueSkuUERGVmlld2VyQXBwbGljYXRpb247XG4gICAgUERGVmlld2VyQXBwbGljYXRpb24uZXZlbnRCdXMub24oJ3VwZGF0ZXVpc3RhdGUnLCAoZXZlbnQpID0+IHRoaXMudXBkYXRlVUlTdGF0ZShldmVudCkpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVVJU3RhdGUoZXZlbnQ6IFVwZGF0ZVVJU3RhdGVFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZVByZXZpb3VzUGFnZSA9IGV2ZW50LnBhZ2VOdW1iZXIgPD0gMTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8cGRmLXNoeS1idXR0b25cbiAgW2Nzc0NsYXNzXT1cIid4cycgfCByZXNwb25zaXZlQ1NTQ2xhc3NcIlxuICB0aXRsZT1cIlByZXZpb3VzIFBhZ2VcIlxuICBwcmltYXJ5VG9vbGJhcklkPVwicHJpbWFyeVByZXZpb3VzXCJcbiAgc2Vjb25kYXJ5TWVudUlkPVwic2Vjb25kYXJ5UHJldmlvdXNQYWdlXCJcbiAgbDEwbklkPVwicGRmanMtcHJldmlvdXMtYnV0dG9uXCJcbiAgbDEwbkxhYmVsPVwicGRmanMtcHJldmlvdXMtYnV0dG9uLWxhYmVsXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVQcmV2aW91c1BhZ2VcIlxuICBbb3JkZXJdPVwiNjAwXCJcbiAgZXZlbnRCdXNOYW1lPVwicHJldmlvdXNwYWdlXCJcbiAgW2Nsb3NlT25DbGlja109XCJmYWxzZVwiXG4gIGltYWdlPVwiPHN2ZyBzdHlsZT0nd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweCcgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBmaWxsPSdjdXJyZW50Q29sb3InIGQ9J00xNS40MSwxNi41OEwxMC44MywxMkwxNS40MSw3LjQxTDE0LDZMOCwxMkwxNCwxOEwxNS40MSwxNi41OFonIC8+PC9zdmc+XCJcbj5cbjwvcGRmLXNoeS1idXR0b24+XG4iXX0=