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.

33 lines 9.4 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 "../../responsive-visibility"; export class PdfSelectToolComponent { constructor(notificationService) { this.notificationService = notificationService; this.showSelectToolButton = true; this.isSelected = true; const subscription = this.notificationService.onPDFJSInit.subscribe(() => { this.onPdfJsInit(); subscription.unsubscribe(); }); } onPdfJsInit() { const PDFViewerApplication = window.PDFViewerApplication; PDFViewerApplication.eventBus.on('cursortoolchanged', ({ tool }) => (this.isSelected = tool === PdfCursorTools.SELECT)); } onClick() { const PDFViewerApplication = window.PDFViewerApplication; PDFViewerApplication.eventBus.dispatch('switchcursortool', { tool: PdfCursorTools.SELECT }); } } PdfSelectToolComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PdfSelectToolComponent, deps: [{ token: i1.PDFNotificationService }], target: i0.ɵɵFactoryTarget.Component }); PdfSelectToolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PdfSelectToolComponent, selector: "pdf-select-tool", inputs: { showSelectToolButton: "showSelectToolButton" }, ngImport: i0, template: "<button (click)=\"onClick()\" type=\"button\" [class.toggled]=\"isSelected\" id=\"primaryCursorSelectTool\"\n class=\"toolbarButton\" [class]=\"showSelectToolButton | responsiveCSSClass: 'hiddenXXLView'\"\n title=\"Enable text selection tool\" data-l10n-id=\"cursor_text_select_tool\">\n <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\"\n d=\"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\" />\n </svg>\n <span data-l10n-id=\"cursor_text_select_tool_label\">Text selection tool</span>\n</button>", styles: [":host{margin-top:0;margin-right: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"], pipes: { "responsiveCSSClass": i2.ResponsiveCSSClassPipe } }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PdfSelectToolComponent, decorators: [{ type: Component, args: [{ selector: 'pdf-select-tool', template: "<button (click)=\"onClick()\" type=\"button\" [class.toggled]=\"isSelected\" id=\"primaryCursorSelectTool\"\n class=\"toolbarButton\" [class]=\"showSelectToolButton | responsiveCSSClass: 'hiddenXXLView'\"\n title=\"Enable text selection tool\" data-l10n-id=\"cursor_text_select_tool\">\n <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\"\n d=\"M2 4C2 2.89 2.9 2 4 2H7V4H4V7H2V4M22 4V7H20V4H17V2H20C21.1 2 22 2.89 22 4M2 20V17H4V20H7V22H4C2.9 22 2 21.11 2 20M10 2H14V4H10V2M10 20H14V22H10V20M2 10H4V14H2V10M18.5 13C20.4 13 22 14.6 22 16.5C22 19.1 18.5 23 18.5 23C18.5 23 15 19.1 15 16.5C15 14.6 16.6 13 18.5 13M18.5 17.8C19.2 17.8 19.8 17.2 19.7 16.6C19.7 16 19.1 15.4 18.5 15.4C17.9 15.4 17.3 15.9 17.3 16.6C17.3 17.2 17.8 17.8 18.5 17.8M20 10H22V12.34C21.42 11.84 20.74 11.45 20 11.23V10Z\" />\n </svg>\n <span data-l10n-id=\"cursor_text_select_tool_label\">Text selection tool</span>\n</button>", styles: [":host{margin-top:0;margin-right: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: function () { return [{ type: i1.PDFNotificationService }]; }, propDecorators: { showSelectToolButton: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtc2VsZWN0LXRvb2wvcGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtc2VsZWN0LXRvb2wvcGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7OztBQU9sRSxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQW9CLG1CQUEyQztRQUEzQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBSnhELHlCQUFvQixHQUF5QixJQUFJLENBQUM7UUFFbEQsZUFBVSxHQUFHLElBQUksQ0FBQztRQUd2QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sb0JBQW9CLEdBQTJCLE1BQWMsQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RixvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQW1CLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDM0ksQ0FBQztJQUVNLE9BQU87UUFDWixNQUFNLG9CQUFvQixHQUEyQixNQUFjLENBQUMsb0JBQW9CLENBQUM7UUFDekYsb0JBQW9CLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDOztvSEFyQlUsc0JBQXNCO3dHQUF0QixzQkFBc0IsaUhDWm5DLHc3QkFRUzs0RkRJSSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCOzZHQU1wQixvQkFBb0I7c0JBRDFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIYW5kdG9vbENoYW5nZWQgfSBmcm9tICcuLi8uLi9ldmVudHMvaGFuZHRvb2wtY2hhbmdlZCc7XG5pbXBvcnQgeyBJUERGVmlld2VyQXBwbGljYXRpb24gfSBmcm9tICcuLi8uLi9vcHRpb25zL3BkZi12aWV3ZXItYXBwbGljYXRpb24nO1xuaW1wb3J0IHsgUERGTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3BkZi1ub3RpZmljYXRpb24tc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zaXZlVmlzaWJpbGl0eSB9IGZyb20gJy4uLy4uL3Jlc3BvbnNpdmUtdmlzaWJpbGl0eSc7XG5pbXBvcnQgeyBQZGZDdXJzb3JUb29scyB9IGZyb20gJy4vLi4vLi4vb3B0aW9ucy9wZGYtY3Vyc29yLXRvb2xzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncGRmLXNlbGVjdC10b29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BkZi1zZWxlY3QtdG9vbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BkZi1zZWxlY3QtdG9vbC5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBkZlNlbGVjdFRvb2xDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd1NlbGVjdFRvb2xCdXR0b246IFJlc3BvbnNpdmVWaXNpYmlsaXR5ID0gdHJ1ZTtcblxuICBwdWJsaWMgaXNTZWxlY3RlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBQREZOb3RpZmljYXRpb25TZXJ2aWNlKSB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm9uUERGSlNJbml0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uUGRmSnNJbml0KCk7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25QZGZKc0luaXQoKSB7XG4gICAgY29uc3QgUERGVmlld2VyQXBwbGljYXRpb246IElQREZWaWV3ZXJBcHBsaWNhdGlvbiA9ICh3aW5kb3cgYXMgYW55KS5QREZWaWV3ZXJBcHBsaWNhdGlvbjtcbiAgICBQREZWaWV3ZXJBcHBsaWNhdGlvbi5ldmVudEJ1cy5vbignY3Vyc29ydG9vbGNoYW5nZWQnLCAoeyB0b29sIH06IEhhbmR0b29sQ2hhbmdlZCkgPT4gKHRoaXMuaXNTZWxlY3RlZCA9IHRvb2wgPT09IFBkZkN1cnNvclRvb2xzLlNFTEVDVCkpO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgY29uc3QgUERGVmlld2VyQXBwbGljYXRpb246IElQREZWaWV3ZXJBcHBsaWNhdGlvbiA9ICh3aW5kb3cgYXMgYW55KS5QREZWaWV3ZXJBcHBsaWNhdGlvbjtcbiAgICBQREZWaWV3ZXJBcHBsaWNhdGlvbi5ldmVudEJ1cy5kaXNwYXRjaCgnc3dpdGNoY3Vyc29ydG9vbCcsIHsgdG9vbDogUGRmQ3Vyc29yVG9vbHMuU0VMRUNUIH0pO1xuICB9XG59XG4iLCI8YnV0dG9uIChjbGljayk9XCJvbkNsaWNrKClcIiB0eXBlPVwiYnV0dG9uXCIgW2NsYXNzLnRvZ2dsZWRdPVwiaXNTZWxlY3RlZFwiIGlkPVwicHJpbWFyeUN1cnNvclNlbGVjdFRvb2xcIlxuICBjbGFzcz1cInRvb2xiYXJCdXR0b25cIiBbY2xhc3NdPVwic2hvd1NlbGVjdFRvb2xCdXR0b24gfCByZXNwb25zaXZlQ1NTQ2xhc3M6ICdoaWRkZW5YWExWaWV3J1wiXG4gIHRpdGxlPVwiRW5hYmxlIHRleHQgc2VsZWN0aW9uIHRvb2xcIiBkYXRhLWwxMG4taWQ9XCJjdXJzb3JfdGV4dF9zZWxlY3RfdG9vbFwiPlxuICA8c3ZnIHN0eWxlPVwid2lkdGg6MjJweDtoZWlnaHQ6MjJweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCJcbiAgICAgIGQ9XCJNMiA0QzIgMi44OSAyLjkgMiA0IDJIN1Y0SDRWN0gyVjRNMjIgNFY3SDIwVjRIMTdWMkgyMEMyMS4xIDIgMjIgMi44OSAyMiA0TTIgMjBWMTdINFYyMEg3VjIySDRDMi45IDIyIDIgMjEuMTEgMiAyME0xMCAySDE0VjRIMTBWMk0xMCAyMEgxNFYyMkgxMFYyME0yIDEwSDRWMTRIMlYxME0xOC41IDEzQzIwLjQgMTMgMjIgMTQuNiAyMiAxNi41QzIyIDE5LjEgMTguNSAyMyAxOC41IDIzQzE4LjUgMjMgMTUgMTkuMSAxNSAxNi41QzE1IDE0LjYgMTYuNiAxMyAxOC41IDEzTTE4LjUgMTcuOEMxOS4yIDE3LjggMTkuOCAxNy4yIDE5LjcgMTYuNkMxOS43IDE2IDE5LjEgMTUuNCAxOC41IDE1LjRDMTcuOSAxNS40IDE3LjMgMTUuOSAxNy4zIDE2LjZDMTcuMyAxNy4yIDE3LjggMTcuOCAxOC41IDE3LjhNMjAgMTBIMjJWMTIuMzRDMjEuNDIgMTEuODQgMjAuNzQgMTEuNDUgMjAgMTEuMjNWMTBaXCIgLz5cbiAgPC9zdmc+XG4gIDxzcGFuIGRhdGEtbDEwbi1pZD1cImN1cnNvcl90ZXh0X3NlbGVjdF90b29sX2xhYmVsXCI+VGV4dCBzZWxlY3Rpb24gdG9vbDwvc3Bhbj5cbjwvYnV0dG9uPiJdfQ==