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 8.49 kB
import { Component, Input } from '@angular/core'; import { PdfCursorTools } from './../../options/pdf-cursor-tools'; 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 PdfHandToolComponent { notificationService; showHandToolButton = true; isSelected = false; constructor(notificationService) { this.notificationService = notificationService; const subscription = this.notificationService.onPDFJSInit.subscribe(() => { this.onPdfJsInit(); subscription.unsubscribe(); }); } onPdfJsInit() { const PDFViewerApplication = window.PDFViewerApplication; PDFViewerApplication.eventBus.on('cursortoolchanged', ({ tool }) => (this.isSelected = tool === PdfCursorTools.HAND)); } onClick() { const PDFViewerApplication = window.PDFViewerApplication; PDFViewerApplication.eventBus.dispatch('switchcursortool', { tool: PdfCursorTools.HAND }); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PdfHandToolComponent, deps: [{ token: i1.PDFNotificationService }], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: PdfHandToolComponent, selector: "pdf-hand-tool", inputs: { showHandToolButton: "showHandToolButton" }, ngImport: i0, template: "<pdf-shy-button\n [action]=\"onClick\"\n [toggled]=\"isSelected\"\n primaryToolbarId=\"primaryCursorHandTool\"\n [cssClass]=\"showHandToolButton | responsiveCSSClass : 'hiddenXXLView'\"\n title=\"Enable hand tool\"\n l10nId=\"pdfjs-cursor-hand-tool-button\"\n l10nLabel=\"pdfjs-cursor-hand-tool-button-label\"\n [order]=\"1200\"\n image=\"<svg style='width: 22px; height: 22px' viewBox='0 0 24 24'> <path fill='currentColor' d='M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z'/></svg>\"\n>\n</pdf-shy-button>\n", styles: [":host{margin-top:0}:host:focus{outline:none}button:focus{outline:none}svg:focus{outline:none}.toggled{background-color:#646464;border-color:rgba(0,0,0,.4) rgba(0,0,0,.45) rgba(0,0,0,.5);box-shadow:0 1px 1px #0000001a inset,0 0 1px #0003 inset,0 1px #ffffff0d}button{padding: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: PdfHandToolComponent, decorators: [{ type: Component, args: [{ selector: 'pdf-hand-tool', template: "<pdf-shy-button\n [action]=\"onClick\"\n [toggled]=\"isSelected\"\n primaryToolbarId=\"primaryCursorHandTool\"\n [cssClass]=\"showHandToolButton | responsiveCSSClass : 'hiddenXXLView'\"\n title=\"Enable hand tool\"\n l10nId=\"pdfjs-cursor-hand-tool-button\"\n l10nLabel=\"pdfjs-cursor-hand-tool-button-label\"\n [order]=\"1200\"\n image=\"<svg style='width: 22px; height: 22px' viewBox='0 0 24 24'> <path fill='currentColor' d='M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z'/></svg>\"\n>\n</pdf-shy-button>\n", styles: [":host{margin-top:0}:host:focus{outline:none}button:focus{outline:none}svg:focus{outline:none}.toggled{background-color:#646464;border-color:rgba(0,0,0,.4) rgba(0,0,0,.45) rgba(0,0,0,.5);box-shadow:0 1px 1px #0000001a inset,0 0 1px #0003 inset,0 1px #ffffff0d}button{padding:0}\n"] }] }], ctorParameters: () => [{ type: i1.PDFNotificationService }], propDecorators: { showHandToolButton: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWhhbmQtdG9vbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvcGRmLWhhbmQtdG9vbC9wZGYtaGFuZC10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtaGFuZC10b29sL3BkZi1oYW5kLXRvb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFLakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7OztBQU9sRSxNQUFNLE9BQU8sb0JBQW9CO0lBTVg7SUFKYixrQkFBa0IsR0FBeUIsSUFBSSxDQUFDO0lBRWhELFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFMUIsWUFBb0IsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDN0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLG9CQUFvQixHQUEyQixNQUFjLENBQUMsb0JBQW9CLENBQUM7UUFDekYsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pJLENBQUM7SUFFTSxPQUFPO1FBQ1osTUFBTSxvQkFBb0IsR0FBMkIsTUFBYyxDQUFDLG9CQUFvQixDQUFDO1FBQ3pGLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUYsQ0FBQzt1R0FyQlUsb0JBQW9COzJGQUFwQixvQkFBb0IsMkdDWmpDLDBsQkFZQTs7MkZEQWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGVBQWU7MkZBTWxCLGtCQUFrQjtzQkFEeEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEhhbmR0b29sQ2hhbmdlZCB9IGZyb20gJy4uLy4uL2V2ZW50cy9oYW5kdG9vbC1jaGFuZ2VkJztcbmltcG9ydCB7IElQREZWaWV3ZXJBcHBsaWNhdGlvbiB9IGZyb20gJy4uLy4uL29wdGlvbnMvcGRmLXZpZXdlci1hcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBQREZOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGRmLW5vdGlmaWNhdGlvbi1zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNpdmVWaXNpYmlsaXR5IH0gZnJvbSAnLi4vLi4vcmVzcG9uc2l2ZS12aXNpYmlsaXR5JztcbmltcG9ydCB7IFBkZkN1cnNvclRvb2xzIH0gZnJvbSAnLi8uLi8uLi9vcHRpb25zL3BkZi1jdXJzb3ItdG9vbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZGYtaGFuZC10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BkZi1oYW5kLXRvb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wZGYtaGFuZC10b29sLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGRmSGFuZFRvb2xDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd0hhbmRUb29sQnV0dG9uOiBSZXNwb25zaXZlVmlzaWJpbGl0eSA9IHRydWU7XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IFBERk5vdGlmaWNhdGlvblNlcnZpY2UpIHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uub25QREZKU0luaXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMub25QZGZKc0luaXQoKTtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvblBkZkpzSW5pdCgpIHtcbiAgICBjb25zdCBQREZWaWV3ZXJBcHBsaWNhdGlvbjogSVBERlZpZXdlckFwcGxpY2F0aW9uID0gKHdpbmRvdyBhcyBhbnkpLlBERlZpZXdlckFwcGxpY2F0aW9uO1xuICAgIFBERlZpZXdlckFwcGxpY2F0aW9uLmV2ZW50QnVzLm9uKCdjdXJzb3J0b29sY2hhbmdlZCcsICh7IHRvb2wgfTogSGFuZHRvb2xDaGFuZ2VkKSA9PiAodGhpcy5pc1NlbGVjdGVkID0gdG9vbCA9PT0gUGRmQ3Vyc29yVG9vbHMuSEFORCkpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3QgUERGVmlld2VyQXBwbGljYXRpb246IElQREZWaWV3ZXJBcHBsaWNhdGlvbiA9ICh3aW5kb3cgYXMgYW55KS5QREZWaWV3ZXJBcHBsaWNhdGlvbjtcbiAgICBQREZWaWV3ZXJBcHBsaWNhdGlvbi5ldmVudEJ1cy5kaXNwYXRjaCgnc3dpdGNoY3Vyc29ydG9vbCcsIHsgdG9vbDogUGRmQ3Vyc29yVG9vbHMuSEFORCB9KTtcbiAgfVxufVxuIiwiPHBkZi1zaHktYnV0dG9uXG4gIFthY3Rpb25dPVwib25DbGlja1wiXG4gIFt0b2dnbGVkXT1cImlzU2VsZWN0ZWRcIlxuICBwcmltYXJ5VG9vbGJhcklkPVwicHJpbWFyeUN1cnNvckhhbmRUb29sXCJcbiAgW2Nzc0NsYXNzXT1cInNob3dIYW5kVG9vbEJ1dHRvbiB8IHJlc3BvbnNpdmVDU1NDbGFzcyA6ICdoaWRkZW5YWExWaWV3J1wiXG4gIHRpdGxlPVwiRW5hYmxlIGhhbmQgdG9vbFwiXG4gIGwxMG5JZD1cInBkZmpzLWN1cnNvci1oYW5kLXRvb2wtYnV0dG9uXCJcbiAgbDEwbkxhYmVsPVwicGRmanMtY3Vyc29yLWhhbmQtdG9vbC1idXR0b24tbGFiZWxcIlxuICBbb3JkZXJdPVwiMTIwMFwiXG4gIGltYWdlPVwiPHN2ZyBzdHlsZT0nd2lkdGg6IDIycHg7IGhlaWdodDogMjJweCcgdmlld0JveD0nMCAwIDI0IDI0Jz4gPHBhdGggZmlsbD0nY3VycmVudENvbG9yJyBkPSdNMTMsNlYxMUgxOFY3Ljc1TDIyLjI1LDEyTDE4LDE2LjI1VjEzSDEzVjE4SDE2LjI1TDEyLDIyLjI1TDcuNzUsMThIMTFWMTNINlYxNi4yNUwxLjc1LDEyTDYsNy43NVYxMUgxMVY2SDcuNzVMMTIsMS43NUwxNi4yNSw2SDEzWicvPjwvc3ZnPlwiXG4+XG48L3BkZi1zaHktYnV0dG9uPlxuIl19