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.
34 lines • 9.63 kB
JavaScript
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 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.4.0", ngImport: i0, type: PdfSelectToolComponent, deps: [{ token: i1.PDFNotificationService }], target: i0.ɵɵFactoryTarget.Component });
PdfSelectToolComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: PdfSelectToolComponent, selector: "pdf-select-tool", inputs: { showSelectToolButton: "showSelectToolButton" }, ngImport: i0, template: "<pdf-shy-button\n [action]=\"onClick\"\n [toggled]=\"isSelected\"\n primaryToolbarId=\"primaryCursorSelectTool\"\n [cssClass]=\"showSelectToolButton | responsiveCSSClass : 'hiddenXXLView'\"\n title=\"Enable text selection tool\"\n l10nId=\"cursor_text_select_tool\"\n l10nLabel=\"cursor_text_select_tool_label\"\n image=\"<svg style='width: 22px; height: 22px' viewBox='0 0 24 24'><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'/></svg>\"\n [order]=\"1100\"\n>\n</pdf-shy-button>\n", 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"], components: [{ type: i2.PdfShyButtonComponent, selector: "pdf-shy-button", inputs: ["primaryToolbarId", "secondaryMenuId", "cssClass", "eventBusName", "l10nId", "l10nLabel", "title", "toggled", "disabled", "order", "action", "closeOnClick", "onlySecondaryMenu", "image"] }], pipes: { "responsiveCSSClass": i3.ResponsiveCSSClassPipe } });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PdfSelectToolComponent, decorators: [{
type: Component,
args: [{ selector: 'pdf-select-tool', template: "<pdf-shy-button\n [action]=\"onClick\"\n [toggled]=\"isSelected\"\n primaryToolbarId=\"primaryCursorSelectTool\"\n [cssClass]=\"showSelectToolButton | responsiveCSSClass : 'hiddenXXLView'\"\n title=\"Enable text selection tool\"\n l10nId=\"cursor_text_select_tool\"\n l10nLabel=\"cursor_text_select_tool_label\"\n image=\"<svg style='width: 22px; height: 22px' viewBox='0 0 24 24'><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'/></svg>\"\n [order]=\"1100\"\n>\n</pdf-shy-button>\n", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtc2VsZWN0LXRvb2wvcGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtc2VsZWN0LXRvb2wvcGRmLXNlbGVjdC10b29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7QUFPbEUsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUFvQixtQkFBMkM7UUFBM0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF3QjtRQUp4RCx5QkFBb0IsR0FBeUIsSUFBSSxDQUFDO1FBRWxELGVBQVUsR0FBRyxJQUFJLENBQUM7UUFHdkIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sV0FBVztRQUNqQixNQUFNLG9CQUFvQixHQUEyQixNQUFjLENBQUMsb0JBQW9CLENBQUM7UUFDekYsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNJLENBQUM7SUFFTSxPQUFPO1FBQ1osTUFBTSxvQkFBb0IsR0FBMkIsTUFBYyxDQUFDLG9CQUFvQixDQUFDO1FBQ3pGLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDOUYsQ0FBQzs7bUhBckJVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGlIQ1puQyx3NUJBWUE7MkZEQWEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQjs2R0FNcEIsb0JBQW9CO3NCQUQxQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSGFuZHRvb2xDaGFuZ2VkIH0gZnJvbSAnLi4vLi4vZXZlbnRzL2hhbmR0b29sLWNoYW5nZWQnO1xuaW1wb3J0IHsgSVBERlZpZXdlckFwcGxpY2F0aW9uIH0gZnJvbSAnLi4vLi4vb3B0aW9ucy9wZGYtdmlld2VyLWFwcGxpY2F0aW9uJztcbmltcG9ydCB7IFBERk5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9wZGYtbm90aWZpY2F0aW9uLXNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZVZpc2liaWxpdHkgfSBmcm9tICcuLi8uLi9yZXNwb25zaXZlLXZpc2liaWxpdHknO1xuaW1wb3J0IHsgUGRmQ3Vyc29yVG9vbHMgfSBmcm9tICcuLy4uLy4uL29wdGlvbnMvcGRmLWN1cnNvci10b29scyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkZi1zZWxlY3QtdG9vbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wZGYtc2VsZWN0LXRvb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wZGYtc2VsZWN0LXRvb2wuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZGZTZWxlY3RUb29sQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgcHVibGljIHNob3dTZWxlY3RUb29sQnV0dG9uOiBSZXNwb25zaXZlVmlzaWJpbGl0eSA9IHRydWU7XG5cbiAgcHVibGljIGlzU2VsZWN0ZWQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogUERGTm90aWZpY2F0aW9uU2VydmljZSkge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5vblBERkpTSW5pdC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5vblBkZkpzSW5pdCgpO1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIG9uUGRmSnNJbml0KCkge1xuICAgIGNvbnN0IFBERlZpZXdlckFwcGxpY2F0aW9uOiBJUERGVmlld2VyQXBwbGljYXRpb24gPSAod2luZG93IGFzIGFueSkuUERGVmlld2VyQXBwbGljYXRpb247XG4gICAgUERGVmlld2VyQXBwbGljYXRpb24uZXZlbnRCdXMub24oJ2N1cnNvcnRvb2xjaGFuZ2VkJywgKHsgdG9vbCB9OiBIYW5kdG9vbENoYW5nZWQpID0+ICh0aGlzLmlzU2VsZWN0ZWQgPSB0b29sID09PSBQZGZDdXJzb3JUb29scy5TRUxFQ1QpKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNsaWNrKCk6IHZvaWQge1xuICAgIGNvbnN0IFBERlZpZXdlckFwcGxpY2F0aW9uOiBJUERGVmlld2VyQXBwbGljYXRpb24gPSAod2luZG93IGFzIGFueSkuUERGVmlld2VyQXBwbGljYXRpb247XG4gICAgUERGVmlld2VyQXBwbGljYXRpb24uZXZlbnRCdXMuZGlzcGF0Y2goJ3N3aXRjaGN1cnNvcnRvb2wnLCB7IHRvb2w6IFBkZkN1cnNvclRvb2xzLlNFTEVDVCB9KTtcbiAgfVxufVxuIiwiPHBkZi1zaHktYnV0dG9uXG4gIFthY3Rpb25dPVwib25DbGlja1wiXG4gIFt0b2dnbGVkXT1cImlzU2VsZWN0ZWRcIlxuICBwcmltYXJ5VG9vbGJhcklkPVwicHJpbWFyeUN1cnNvclNlbGVjdFRvb2xcIlxuICBbY3NzQ2xhc3NdPVwic2hvd1NlbGVjdFRvb2xCdXR0b24gfCByZXNwb25zaXZlQ1NTQ2xhc3MgOiAnaGlkZGVuWFhMVmlldydcIlxuICB0aXRsZT1cIkVuYWJsZSB0ZXh0IHNlbGVjdGlvbiB0b29sXCJcbiAgbDEwbklkPVwiY3Vyc29yX3RleHRfc2VsZWN0X3Rvb2xcIlxuICBsMTBuTGFiZWw9XCJjdXJzb3JfdGV4dF9zZWxlY3RfdG9vbF9sYWJlbFwiXG4gIGltYWdlPVwiPHN2ZyBzdHlsZT0nd2lkdGg6IDIycHg7IGhlaWdodDogMjJweCcgdmlld0JveD0nMCAwIDI0IDI0Jz48cGF0aCBmaWxsPSdjdXJyZW50Q29sb3InIGQ9J00yIDRDMiAyLjg5IDIuOSAyIDQgMkg3VjRINFY3SDJWNE0yMiA0VjdIMjBWNEgxN1YySDIwQzIxLjEgMiAyMiAyLjg5IDIyIDRNMiAyMFYxN0g0VjIwSDdWMjJINEMyLjkgMjIgMiAyMS4xMSAyIDIwTTEwIDJIMTRWNEgxMFYyTTEwIDIwSDE0VjIySDEwVjIwTTIgMTBINFYxNEgyVjEwTTE4LjUgMTNDMjAuNCAxMyAyMiAxNC42IDIyIDE2LjVDMjIgMTkuMSAxOC41IDIzIDE4LjUgMjNDMTguNSAyMyAxNSAxOS4xIDE1IDE2LjVDMTUgMTQuNiAxNi42IDEzIDE4LjUgMTNNMTguNSAxNy44QzE5LjIgMTcuOCAxOS44IDE3LjIgMTkuNyAxNi42QzE5LjcgMTYgMTkuMSAxNS40IDE4LjUgMTUuNEMxNy45IDE1LjQgMTcuMyAxNS45IDE3LjMgMTYuNkMxNy4zIDE3LjIgMTcuOCAxNy44IDE4LjUgMTcuOE0yMCAxMEgyMlYxMi4zNEMyMS40MiAxMS44NCAyMC43NCAxMS40NSAyMCAxMS4yM1YxMFonLz48L3N2Zz5cIlxuICBbb3JkZXJdPVwiMTEwMFwiXG4+XG48L3BkZi1zaHktYnV0dG9uPlxuIl19