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.

32 lines 9.14 kB
import { PdfCursorTools } from './../../options/pdf-cursor-tools'; import { Component, Input } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../../pdf-notification-service"; 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.2.3", ngImport: i0, type: PdfSelectToolComponent, deps: [{ token: i1.PDFNotificationService }], target: i0.ɵɵFactoryTarget.Component }); PdfSelectToolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: PdfSelectToolComponent, selector: "pdf-select-tool", inputs: { showSelectToolButton: "showSelectToolButton" }, ngImport: i0, template: "<button\n (click)=\"onClick()\"\n type=\"button\"\n [class.invisible]=\"!showSelectToolButton\"\n [class.toggled]=\"isSelected\"\n id=\"primaryCursorSelectTool\"\n class=\"toolbarButton hiddenXXLView\"\n title=\"Enable text selection tool\"\n data-l10n-id=\"cursor_text_select_tool\">\n <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\" 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>\n", styles: [":host{margin-top:0;margin-right:-3px}: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}\n"] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PdfSelectToolComponent, decorators: [{ type: Component, args: [{ selector: 'pdf-select-tool', template: "<button\n (click)=\"onClick()\"\n type=\"button\"\n [class.invisible]=\"!showSelectToolButton\"\n [class.toggled]=\"isSelected\"\n id=\"primaryCursorSelectTool\"\n class=\"toolbarButton hiddenXXLView\"\n title=\"Enable text selection tool\"\n data-l10n-id=\"cursor_text_select_tool\">\n <svg style=\"width:22px;height:22px\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\" 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>\n", styles: [":host{margin-top:0;margin-right:-3px}: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}\n"] }] }], ctorParameters: function () { return [{ type: i1.PDFNotificationService }]; }, propDecorators: { showSelectToolButton: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtc2VsZWN0LXRvb2wvcGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtc2VsZWN0LXRvb2wvcGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBVWpELE1BQU0sT0FBTyxzQkFBc0I7SUFNakMsWUFBb0IsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFKeEQseUJBQW9CLEdBQUcsSUFBSSxDQUFDO1FBRTVCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLG9CQUFvQixHQUEyQixNQUFjLENBQUMsb0JBQW9CLENBQUM7UUFDekYsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFDbEQsQ0FBQyxFQUFFLElBQUksRUFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRU0sT0FBTztRQUNaLE1BQU0sb0JBQW9CLEdBQTJCLE1BQWMsQ0FBQyxvQkFBb0IsQ0FBQztRQUN6RixvQkFBb0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUM7O21IQXRCVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixpSENYbkMsdzdCQWNBOzJGREhhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7NkdBTXBCLG9CQUFvQjtzQkFEMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBkZkN1cnNvclRvb2xzIH0gZnJvbSAnLi8uLi8uLi9vcHRpb25zL3BkZi1jdXJzb3ItdG9vbHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVBERlZpZXdlckFwcGxpY2F0aW9uIH0gZnJvbSAnLi4vLi4vb3B0aW9ucy9wZGYtdmlld2VyLWFwcGxpY2F0aW9uJztcbmltcG9ydCB7IFBERk5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wZGYtbm90aWZpY2F0aW9uLXNlcnZpY2UnO1xuaW1wb3J0IHsgSGFuZHRvb2xDaGFuZ2VkIH0gZnJvbSAnLi4vLi4vZXZlbnRzL2hhbmR0b29sLWNoYW5nZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZGYtc2VsZWN0LXRvb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQZGZTZWxlY3RUb29sQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIHNob3dTZWxlY3RUb29sQnV0dG9uID0gdHJ1ZTtcblxuICBwdWJsaWMgaXNTZWxlY3RlZCA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBQREZOb3RpZmljYXRpb25TZXJ2aWNlKSB7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLm9uUERGSlNJbml0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLm9uUGRmSnNJbml0KCk7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgb25QZGZKc0luaXQoKSB7XG4gICAgY29uc3QgUERGVmlld2VyQXBwbGljYXRpb246IElQREZWaWV3ZXJBcHBsaWNhdGlvbiA9ICh3aW5kb3cgYXMgYW55KS5QREZWaWV3ZXJBcHBsaWNhdGlvbjtcbiAgICBQREZWaWV3ZXJBcHBsaWNhdGlvbi5ldmVudEJ1cy5vbignY3Vyc29ydG9vbGNoYW5nZWQnLFxuICAgICAgKHsgdG9vbCB9OiBIYW5kdG9vbENoYW5nZWQpID0+ICh0aGlzLmlzU2VsZWN0ZWQgPSB0b29sID09PSBQZGZDdXJzb3JUb29scy5TRUxFQ1QpKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IFBERlZpZXdlckFwcGxpY2F0aW9uOiBJUERGVmlld2VyQXBwbGljYXRpb24gPSAod2luZG93IGFzIGFueSkuUERGVmlld2VyQXBwbGljYXRpb247XG4gICAgUERGVmlld2VyQXBwbGljYXRpb24uZXZlbnRCdXMuZGlzcGF0Y2goJ3N3aXRjaGN1cnNvcnRvb2wnLCB7IHRvb2w6IFBkZkN1cnNvclRvb2xzLlNFTEVDVCB9KTtcbiAgfVxufVxuIiwiPGJ1dHRvblxuICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFtjbGFzcy5pbnZpc2libGVdPVwiIXNob3dTZWxlY3RUb29sQnV0dG9uXCJcbiAgW2NsYXNzLnRvZ2dsZWRdPVwiaXNTZWxlY3RlZFwiXG4gIGlkPVwicHJpbWFyeUN1cnNvclNlbGVjdFRvb2xcIlxuICBjbGFzcz1cInRvb2xiYXJCdXR0b24gaGlkZGVuWFhMVmlld1wiXG4gIHRpdGxlPVwiRW5hYmxlIHRleHQgc2VsZWN0aW9uIHRvb2xcIlxuICBkYXRhLWwxMG4taWQ9XCJjdXJzb3JfdGV4dF9zZWxlY3RfdG9vbFwiPlxuICA8c3ZnIHN0eWxlPVwid2lkdGg6MjJweDtoZWlnaHQ6MjJweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj5cbiAgICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk0yIDRDMiAyLjg5IDIuOSAyIDQgMkg3VjRINFY3SDJWNE0yMiA0VjdIMjBWNEgxN1YySDIwQzIxLjEgMiAyMiAyLjg5IDIyIDRNMiAyMFYxN0g0VjIwSDdWMjJINEMyLjkgMjIgMiAyMS4xMSAyIDIwTTEwIDJIMTRWNEgxMFYyTTEwIDIwSDE0VjIySDEwVjIwTTIgMTBINFYxNEgyVjEwTTE4LjUgMTNDMjAuNCAxMyAyMiAxNC42IDIyIDE2LjVDMjIgMTkuMSAxOC41IDIzIDE4LjUgMjNDMTguNSAyMyAxNSAxOS4xIDE1IDE2LjVDMTUgMTQuNiAxNi42IDEzIDE4LjUgMTNNMTguNSAxNy44QzE5LjIgMTcuOCAxOS44IDE3LjIgMTkuNyAxNi42QzE5LjcgMTYgMTkuMSAxNS40IDE4LjUgMTUuNEMxNy45IDE1LjQgMTcuMyAxNS45IDE3LjMgMTYuNkMxNy4zIDE3LjIgMTcuOCAxNy44IDE4LjUgMTcuOE0yMCAxMEgyMlYxMi4zNEMyMS40MiAxMS44NCAyMC43NCAxMS40NSAyMCAxMS4yM1YxMFpcIiAvPlxuICA8L3N2Zz5cbiAgPHNwYW4gZGF0YS1sMTBuLWlkPVwiY3Vyc29yX3RleHRfc2VsZWN0X3Rvb2xfbGFiZWxcIj5UZXh0IHNlbGVjdGlvbiB0b29sPC9zcGFuPlxuPC9idXR0b24+XG4iXX0=