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.

36 lines 7.74 kB
import { Component, effect, Input } 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 PdfNextPageComponent { changeDetectorRef; show = true; disableNextPage = true; PDFViewerApplication; constructor(notificationService, changeDetectorRef) { this.changeDetectorRef = changeDetectorRef; effect(() => { this.PDFViewerApplication = notificationService.onPDFJSInitSignal(); if (this.PDFViewerApplication) { this.onPdfJsInit(); } }); } onPdfJsInit() { this.PDFViewerApplication?.eventBus.on('updateuistate', (event) => this.updateUIState(event)); } updateUIState(event) { this.disableNextPage = event.pageNumber === event.pagesCount; this.changeDetectorRef.markForCheck(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfNextPageComponent, deps: [{ token: i1.PDFNotificationService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PdfNextPageComponent, selector: "pdf-next-page", inputs: { show: "show" }, ngImport: i0, template: "<pdf-shy-button\n title=\"Next Page\"\n [cssClass]=\"show | responsiveCSSClass : 'hiddenXXSView'\"\n primaryToolbarId=\"primaryNext\"\n secondaryMenuId=\"primaryNextPage\"\n l10nId=\"pdfjs-next-button\"\n l10nLabel=\"pdfjs-next-button-label\"\n [disabled]=\"disableNextPage\"\n image=\"<svg aria-hidden='true' focusable='false' width='24px' height='24px' viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' /></svg>\"\n [order]=\"700\"\n [closeOnClick]=\"false\"\n eventBusName=\"nextpage\"\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.3.12", ngImport: i0, type: PdfNextPageComponent, decorators: [{ type: Component, args: [{ selector: 'pdf-next-page', template: "<pdf-shy-button\n title=\"Next Page\"\n [cssClass]=\"show | responsiveCSSClass : 'hiddenXXSView'\"\n primaryToolbarId=\"primaryNext\"\n secondaryMenuId=\"primaryNextPage\"\n l10nId=\"pdfjs-next-button\"\n l10nLabel=\"pdfjs-next-button-label\"\n [disabled]=\"disableNextPage\"\n image=\"<svg aria-hidden='true' focusable='false' width='24px' height='24px' viewBox='0 0 24 24'><path fill='currentColor' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' /></svg>\"\n [order]=\"700\"\n [closeOnClick]=\"false\"\n eventBusName=\"nextpage\"\n>\n</pdf-shy-button>\n", styles: ["button{padding:0;margin-top:0;margin-bottom:0}\n"] }] }], ctorParameters: () => [{ type: i1.PDFNotificationService }, { type: i0.ChangeDetectorRef }], propDecorators: { show: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLW5leHQtcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvcGRmLXBhZ2luZy1hcmVhL3BkZi1uZXh0LXBhZ2UvcGRmLW5leHQtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvcGRmLXBhZ2luZy1hcmVhL3BkZi1uZXh0LXBhZ2UvcGRmLW5leHQtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVc1RSxNQUFNLE9BQU8sb0JBQW9CO0lBTWtDO0lBSjFELElBQUksR0FBeUIsSUFBSSxDQUFDO0lBQ2xDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDdEIsb0JBQW9CLENBQW9DO0lBRWhFLFlBQVksbUJBQTJDLEVBQVUsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BFLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUM3QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDcEI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBeUI7UUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsVUFBVSxLQUFLLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDN0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7d0dBdEJVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLCtFQ1hqQyx5a0JBY0E7OzRGREhhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxlQUFlOzJIQU1sQixJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBlZmZlY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVcGRhdGVVSVN0YXRlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ldmVudHMvdXBkYXRlLXVpLXN0YXRlLWV2ZW50JztcbmltcG9ydCB7IElQREZWaWV3ZXJBcHBsaWNhdGlvbiB9IGZyb20gJy4uLy4uLy4uL29wdGlvbnMvcGRmLXZpZXdlci1hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBQREZOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcGRmLW5vdGlmaWNhdGlvbi1zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNpdmVWaXNpYmlsaXR5IH0gZnJvbSAnLi4vLi4vLi4vcmVzcG9uc2l2ZS12aXNpYmlsaXR5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRmLW5leHQtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wZGYtbmV4dC1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGRmLW5leHQtcGFnZS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBkZk5leHRQYWdlQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIHNob3c6IFJlc3BvbnNpdmVWaXNpYmlsaXR5ID0gdHJ1ZTtcbiAgcHVibGljIGRpc2FibGVOZXh0UGFnZSA9IHRydWU7XG4gIHByaXZhdGUgUERGVmlld2VyQXBwbGljYXRpb246IElQREZWaWV3ZXJBcHBsaWNhdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihub3RpZmljYXRpb25TZXJ2aWNlOiBQREZOb3RpZmljYXRpb25TZXJ2aWNlLCBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLlBERlZpZXdlckFwcGxpY2F0aW9uID0gbm90aWZpY2F0aW9uU2VydmljZS5vblBERkpTSW5pdFNpZ25hbCgpO1xuICAgICAgaWYgKHRoaXMuUERGVmlld2VyQXBwbGljYXRpb24pIHtcbiAgICAgICAgdGhpcy5vblBkZkpzSW5pdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uUGRmSnNJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuUERGVmlld2VyQXBwbGljYXRpb24/LmV2ZW50QnVzLm9uKCd1cGRhdGV1aXN0YXRlJywgKGV2ZW50KSA9PiB0aGlzLnVwZGF0ZVVJU3RhdGUoZXZlbnQpKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVVSVN0YXRlKGV2ZW50OiBVcGRhdGVVSVN0YXRlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVOZXh0UGFnZSA9IGV2ZW50LnBhZ2VOdW1iZXIgPT09IGV2ZW50LnBhZ2VzQ291bnQ7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxufVxuIiwiPHBkZi1zaHktYnV0dG9uXG4gIHRpdGxlPVwiTmV4dCBQYWdlXCJcbiAgW2Nzc0NsYXNzXT1cInNob3cgfCByZXNwb25zaXZlQ1NTQ2xhc3MgOiAnaGlkZGVuWFhTVmlldydcIlxuICBwcmltYXJ5VG9vbGJhcklkPVwicHJpbWFyeU5leHRcIlxuICBzZWNvbmRhcnlNZW51SWQ9XCJwcmltYXJ5TmV4dFBhZ2VcIlxuICBsMTBuSWQ9XCJwZGZqcy1uZXh0LWJ1dHRvblwiXG4gIGwxMG5MYWJlbD1cInBkZmpzLW5leHQtYnV0dG9uLWxhYmVsXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVOZXh0UGFnZVwiXG4gIGltYWdlPVwiPHN2ZyBhcmlhLWhpZGRlbj0ndHJ1ZScgZm9jdXNhYmxlPSdmYWxzZScgd2lkdGg9JzI0cHgnIGhlaWdodD0nMjRweCcgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBmaWxsPSdjdXJyZW50Q29sb3InIGQ9J004LjU5LDE2LjU4TDEzLjE3LDEyTDguNTksNy40MUwxMCw2TDE2LDEyTDEwLDE4TDguNTksMTYuNThaJyAvPjwvc3ZnPlwiXG4gIFtvcmRlcl09XCI3MDBcIlxuICBbY2xvc2VPbkNsaWNrXT1cImZhbHNlXCJcbiAgZXZlbnRCdXNOYW1lPVwibmV4dHBhZ2VcIlxuPlxuPC9wZGYtc2h5LWJ1dHRvbj5cbiJdfQ==