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.
28 lines • 6.64 kB
JavaScript
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 PdfOpenFileComponent {
showOpenFileButton = true;
PDFViewerApplication;
constructor(notificationService) {
effect(() => {
this.PDFViewerApplication = notificationService.onPDFJSInitSignal();
});
}
onClick = (htmlEvent, secondaryToolbar) => {
if (!secondaryToolbar) {
this.PDFViewerApplication?.eventBus?.dispatch('openfile', { source: window });
}
};
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfOpenFileComponent, deps: [{ token: i1.PDFNotificationService }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PdfOpenFileComponent, selector: "pdf-open-file", inputs: { showOpenFileButton: "showOpenFileButton" }, ngImport: i0, template: "<pdf-shy-button\n [cssClass]=\"showOpenFileButton | responsiveCSSClass : 'hiddenMediumView'\"\n primaryToolbarId=\"openFile\"\n title=\"Open File\"\n l10nId=\"pdfjs-open-file-button\"\n l10nLabel=\"pdfjs-open-file-button-label\"\n image=\"<svg aria-hidden='true' focusable='false' width='24px' height='20px' viewBox='0 0 24 24'><path fill='currentColor' d='M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,12L16,16H13.5V19H10.5V16H8L12,12Z' /></svg>\"\n [order]=\"200\"\n [action]=\"onClick\"\n>\n</pdf-shy-button>\n", styles: [":host{margin-top:0}:host:focus{outline:none}button:focus{outline:none}svg:focus{outline:none}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.3.12", ngImport: i0, type: PdfOpenFileComponent, decorators: [{
type: Component,
args: [{ selector: 'pdf-open-file', template: "<pdf-shy-button\n [cssClass]=\"showOpenFileButton | responsiveCSSClass : 'hiddenMediumView'\"\n primaryToolbarId=\"openFile\"\n title=\"Open File\"\n l10nId=\"pdfjs-open-file-button\"\n l10nLabel=\"pdfjs-open-file-button-label\"\n image=\"<svg aria-hidden='true' focusable='false' width='24px' height='20px' viewBox='0 0 24 24'><path fill='currentColor' d='M14,2L20,8V20A2,2 0 0,1 18,22H6A2,2 0 0,1 4,20V4A2,2 0 0,1 6,2H14M18,20V9H13V4H6V20H18M12,12L16,16H13.5V19H10.5V16H8L12,12Z' /></svg>\"\n [order]=\"200\"\n [action]=\"onClick\"\n>\n</pdf-shy-button>\n", styles: [":host{margin-top:0}:host:focus{outline:none}button:focus{outline:none}svg:focus{outline:none}button{padding:0}\n"] }]
}], ctorParameters: () => [{ type: i1.PDFNotificationService }], propDecorators: { showOpenFileButton: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLW9wZW4tZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvcGRmLW9wZW4tZmlsZS9wZGYtb3Blbi1maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtb3Blbi1maWxlL3BkZi1vcGVuLWZpbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVV6RCxNQUFNLE9BQU8sb0JBQW9CO0lBRXhCLGtCQUFrQixHQUF5QixJQUFJLENBQUM7SUFFL0Msb0JBQW9CLENBQW9DO0lBRWhFLFlBQVksbUJBQTJDO1FBQ3JELE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsb0JBQW9CLEdBQUcsbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPLEdBQUcsQ0FBQyxTQUFnQixFQUFFLGdCQUF5QixFQUFFLEVBQUU7UUFDL0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3JCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQy9FO0lBQ0gsQ0FBQyxDQUFDO3dHQWhCUyxvQkFBb0I7NEZBQXBCLG9CQUFvQiwyR0NWakMsdWpCQVdBOzs0RkREYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsZUFBZTsyRkFNbEIsa0JBQWtCO3NCQUR4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUERGVmlld2VyQXBwbGljYXRpb24gfSBmcm9tICcuLi8uLi9vcHRpb25zL3BkZi12aWV3ZXItYXBwbGljYXRpb24nO1xuaW1wb3J0IHsgUERGTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3BkZi1ub3RpZmljYXRpb24tc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zaXZlVmlzaWJpbGl0eSB9IGZyb20gJy4uLy4uL3Jlc3BvbnNpdmUtdmlzaWJpbGl0eSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkZi1vcGVuLWZpbGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLW9wZW4tZmlsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BkZi1vcGVuLWZpbGUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZGZPcGVuRmlsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93T3BlbkZpbGVCdXR0b246IFJlc3BvbnNpdmVWaXNpYmlsaXR5ID0gdHJ1ZTtcblxuICBwcml2YXRlIFBERlZpZXdlckFwcGxpY2F0aW9uOiBJUERGVmlld2VyQXBwbGljYXRpb24gfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3Iobm90aWZpY2F0aW9uU2VydmljZTogUERGTm90aWZpY2F0aW9uU2VydmljZSkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLlBERlZpZXdlckFwcGxpY2F0aW9uID0gbm90aWZpY2F0aW9uU2VydmljZS5vblBERkpTSW5pdFNpZ25hbCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uQ2xpY2sgPSAoaHRtbEV2ZW50OiBFdmVudCwgc2Vjb25kYXJ5VG9vbGJhcjogYm9vbGVhbikgPT4ge1xuICAgIGlmICghc2Vjb25kYXJ5VG9vbGJhcikge1xuICAgICAgdGhpcy5QREZWaWV3ZXJBcHBsaWNhdGlvbj8uZXZlbnRCdXM/LmRpc3BhdGNoKCdvcGVuZmlsZScsIHsgc291cmNlOiB3aW5kb3cgfSk7XG4gICAgfVxuICB9O1xufVxuIiwiPHBkZi1zaHktYnV0dG9uXG4gIFtjc3NDbGFzc109XCJzaG93T3BlbkZpbGVCdXR0b24gfCByZXNwb25zaXZlQ1NTQ2xhc3MgOiAnaGlkZGVuTWVkaXVtVmlldydcIlxuICBwcmltYXJ5VG9vbGJhcklkPVwib3BlbkZpbGVcIlxuICB0aXRsZT1cIk9wZW4gRmlsZVwiXG4gIGwxMG5JZD1cInBkZmpzLW9wZW4tZmlsZS1idXR0b25cIlxuICBsMTBuTGFiZWw9XCJwZGZqcy1vcGVuLWZpbGUtYnV0dG9uLWxhYmVsXCJcbiAgaW1hZ2U9XCI8c3ZnIGFyaWEtaGlkZGVuPSd0cnVlJyBmb2N1c2FibGU9J2ZhbHNlJyB3aWR0aD0nMjRweCcgaGVpZ2h0PScyMHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnPjxwYXRoIGZpbGw9J2N1cnJlbnRDb2xvcicgZD0nTTE0LDJMMjAsOFYyMEEyLDIgMCAwLDEgMTgsMjJINkEyLDIgMCAwLDEgNCwyMFY0QTIsMiAwIDAsMSA2LDJIMTRNMTgsMjBWOUgxM1Y0SDZWMjBIMThNMTIsMTJMMTYsMTZIMTMuNVYxOUgxMC41VjE2SDhMMTIsMTJaJyAvPjwvc3ZnPlwiXG4gIFtvcmRlcl09XCIyMDBcIlxuICBbYWN0aW9uXT1cIm9uQ2xpY2tcIlxuPlxuPC9wZGYtc2h5LWJ1dHRvbj5cbiJdfQ==