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 • 7.45 kB
JavaScript
import { Component, EventEmitter, Input, Output } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "../pdf-shy-button/pdf-shy-button.component";
import * as i2 from "../../responsive-visibility";
export class PdfToggleSidebarComponent {
ngZone;
show = true;
sidebarVisible = false;
showChange = new EventEmitter();
onClick;
constructor(ngZone) {
this.ngZone = ngZone;
const emitter = this.showChange;
this.onClick = () => {
const PDFViewerApplication = window.PDFViewerApplication;
const newVisibility = !PDFViewerApplication.pdfSidebar.isOpen;
emitter.emit(newVisibility);
PDFViewerApplication.eventBus.dispatch('toggleSidebar', { visible: newVisibility });
};
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PdfToggleSidebarComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: PdfToggleSidebarComponent, selector: "pdf-toggle-sidebar", inputs: { show: "show", sidebarVisible: "sidebarVisible" }, outputs: { showChange: "showChange" }, ngImport: i0, template: "<pdf-shy-button\n title=\"Toggle Sidebar\"\n primaryToolbarId=\"primarySidebarToggle\"\n [cssClass]=\"show | responsiveCSSClass : 'always-visible'\"\n [toggled]=\"sidebarVisible === true\"\n l10nId=\"pdfjs-toggle-sidebar-button\"\n l10nLabel=\"pdfjs-toggle-sidebar-button-label\"\n [order]=\"4500\"\n [closeOnClick]=\"true\"\n [action]=\"onClick\"\n image=\"<svg style='width: 24px; height: 24px' viewBox='0 0 24 24'> <path fill='currentColor' d='M3,9H17V7H3V9M3,13H17V11H3V13M3,17H17V15H3V17M19,17H21V15H19V17M19,7V9H21V7H19M19,13H21V11H19V13Z' /> </svg>\"\n>\n</pdf-shy-button>\n", styles: [":host:focus{outline:none}button:focus{outline:none}svg:focus{outline:none}button#sidebarToggle{height:24px;width:24px;margin-right:5px!important}button{padding:0}\n"], dependencies: [{ kind: "component", type: i1.PdfShyButtonComponent, selector: "pdf-shy-button", inputs: ["primaryToolbarId", "secondaryMenuId", "cssClass", "eventBusName", "l10nId", "l10nLabel", "title", "toggled", "disabled", "order", "action", "closeOnClick", "onlySecondaryMenu", "image"] }, { kind: "pipe", type: i2.ResponsiveCSSClassPipe, name: "responsiveCSSClass" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: PdfToggleSidebarComponent, decorators: [{
type: Component,
args: [{ selector: 'pdf-toggle-sidebar', template: "<pdf-shy-button\n title=\"Toggle Sidebar\"\n primaryToolbarId=\"primarySidebarToggle\"\n [cssClass]=\"show | responsiveCSSClass : 'always-visible'\"\n [toggled]=\"sidebarVisible === true\"\n l10nId=\"pdfjs-toggle-sidebar-button\"\n l10nLabel=\"pdfjs-toggle-sidebar-button-label\"\n [order]=\"4500\"\n [closeOnClick]=\"true\"\n [action]=\"onClick\"\n image=\"<svg style='width: 24px; height: 24px' viewBox='0 0 24 24'> <path fill='currentColor' d='M3,9H17V7H3V9M3,13H17V11H3V13M3,17H17V15H3V17M19,17H21V15H19V17M19,7V9H21V7H19M19,13H21V11H19V13Z' /> </svg>\"\n>\n</pdf-shy-button>\n", styles: [":host:focus{outline:none}button:focus{outline:none}svg:focus{outline:none}button#sidebarToggle{height:24px;width:24px;margin-right:5px!important}button{padding:0}\n"] }]
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { show: [{
type: Input
}], sidebarVisible: [{
type: Input
}], showChange: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXRvZ2dsZS1zaWRlYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtdG9nZ2xlLXNpZGViYXIvcGRmLXRvZ2dsZS1zaWRlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtdG9nZ2xlLXNpZGViYXIvcGRmLXRvZ2dsZS1zaWRlYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTL0UsTUFBTSxPQUFPLHlCQUF5QjtJQVloQjtJQVZiLElBQUksR0FBeUIsSUFBSSxDQUFDO0lBR2xDLGNBQWMsR0FBd0IsS0FBSyxDQUFDO0lBRzVDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBRXpDLE9BQU8sQ0FBYTtJQUUzQixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ2xCLE1BQU0sb0JBQW9CLEdBQTJCLE1BQWMsQ0FBQyxvQkFBb0IsQ0FBQztZQUN6RixNQUFNLGFBQWEsR0FBRyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDOUQsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM1QixvQkFBb0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLENBQUMsQ0FBQztJQUNKLENBQUM7dUdBcEJVLHlCQUF5QjsyRkFBekIseUJBQXlCLDZKQ1R0QyxpbEJBYUE7OzJGREphLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxvQkFBb0I7MkVBTXZCLElBQUk7c0JBRFYsS0FBSztnQkFJQyxjQUFjO3NCQURwQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE5nWm9uZSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUERGVmlld2VyQXBwbGljYXRpb24gfSBmcm9tICcuLi8uLi9vcHRpb25zL3BkZi12aWV3ZXItYXBwbGljYXRpb24nO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZVZpc2liaWxpdHkgfSBmcm9tICcuLi8uLi9yZXNwb25zaXZlLXZpc2liaWxpdHknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZGYtdG9nZ2xlLXNpZGViYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLXRvZ2dsZS1zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGRmLXRvZ2dsZS1zaWRlYmFyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGRmVG9nZ2xlU2lkZWJhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93OiBSZXNwb25zaXZlVmlzaWJpbGl0eSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNpZGViYXJWaXNpYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzaG93Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHB1YmxpYyBvbkNsaWNrOiAoKSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHtcbiAgICBjb25zdCBlbWl0dGVyID0gdGhpcy5zaG93Q2hhbmdlO1xuICAgIHRoaXMub25DbGljayA9ICgpID0+IHtcbiAgICAgIGNvbnN0IFBERlZpZXdlckFwcGxpY2F0aW9uOiBJUERGVmlld2VyQXBwbGljYXRpb24gPSAod2luZG93IGFzIGFueSkuUERGVmlld2VyQXBwbGljYXRpb247XG4gICAgICBjb25zdCBuZXdWaXNpYmlsaXR5ID0gIVBERlZpZXdlckFwcGxpY2F0aW9uLnBkZlNpZGViYXIuaXNPcGVuO1xuICAgICAgZW1pdHRlci5lbWl0KG5ld1Zpc2liaWxpdHkpO1xuICAgICAgUERGVmlld2VyQXBwbGljYXRpb24uZXZlbnRCdXMuZGlzcGF0Y2goJ3RvZ2dsZVNpZGViYXInLCB7IHZpc2libGU6IG5ld1Zpc2liaWxpdHkgfSk7XG4gICAgfTtcbiAgfVxufVxuIiwiPHBkZi1zaHktYnV0dG9uXG4gIHRpdGxlPVwiVG9nZ2xlIFNpZGViYXJcIlxuICBwcmltYXJ5VG9vbGJhcklkPVwicHJpbWFyeVNpZGViYXJUb2dnbGVcIlxuICBbY3NzQ2xhc3NdPVwic2hvdyB8IHJlc3BvbnNpdmVDU1NDbGFzcyA6ICdhbHdheXMtdmlzaWJsZSdcIlxuICBbdG9nZ2xlZF09XCJzaWRlYmFyVmlzaWJsZSA9PT0gdHJ1ZVwiXG4gIGwxMG5JZD1cInBkZmpzLXRvZ2dsZS1zaWRlYmFyLWJ1dHRvblwiXG4gIGwxMG5MYWJlbD1cInBkZmpzLXRvZ2dsZS1zaWRlYmFyLWJ1dHRvbi1sYWJlbFwiXG4gIFtvcmRlcl09XCI0NTAwXCJcbiAgW2Nsb3NlT25DbGlja109XCJ0cnVlXCJcbiAgW2FjdGlvbl09XCJvbkNsaWNrXCJcbiAgaW1hZ2U9XCI8c3ZnIHN0eWxlPSd3aWR0aDogMjRweDsgaGVpZ2h0OiAyNHB4JyB2aWV3Qm94PScwIDAgMjQgMjQnPiA8cGF0aCBmaWxsPSdjdXJyZW50Q29sb3InIGQ9J00zLDlIMTdWN0gzVjlNMywxM0gxN1YxMUgzVjEzTTMsMTdIMTdWMTVIM1YxN00xOSwxN0gyMVYxNUgxOVYxN00xOSw3VjlIMjFWN0gxOU0xOSwxM0gyMVYxMUgxOVYxM1onIC8+IDwvc3ZnPlwiXG4+XG48L3BkZi1zaHktYnV0dG9uPlxuIl19