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.
37 lines • 9.41 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 PdfBookModeComponent {
show = true;
pageViewMode;
scrollMode;
pageViewModeChange = new EventEmitter();
onClick;
constructor() {
const emitter = this.pageViewModeChange;
this.onClick = () => {
setTimeout(() => {
emitter.emit('book');
});
};
}
ngOnDestroy() {
this.onClick = undefined;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PdfBookModeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PdfBookModeComponent, selector: "pdf-book-mode", inputs: { show: "show", pageViewMode: "pageViewMode", scrollMode: "scrollMode" }, outputs: { pageViewModeChange: "pageViewModeChange" }, ngImport: i0, template: "<pdf-shy-button\n [cssClass]=\"show | responsiveCSSClass : 'always-in-secondary-menu'\"\n title=\"Book mode\"\n primaryToolbarId=\"book-mode\"\n [toggled]=\"pageViewMode == 'book'\"\n [action]=\"onClick\"\n [order]=\"3400\"\n [closeOnClick]=\"false\"\n image=\"<svg aria-hidden='true' focusable='false' xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 -960 960 960' width='24' fill='currentColor'><path d='M560-574v-48q33-14 67.5-21t72.5-7q26 0 51 4t49 10v44q-24-9-48.5-13.5T700-610q-38 0-73 9.5T560-574Zm0 220v-49q33-13.5 67.5-20.25T700-430q26 0 51 4t49 10v44q-24-9-48.5-13.5T700-390q-38 0-73 9t-67 27Zm0-110v-48q33-14 67.5-21t72.5-7q26 0 51 4t49 10v44q-24-9-48.5-13.5T700-500q-38 0-73 9.5T560-464ZM248-300q53.566 0 104.283 12.5T452-250v-427q-45-30-97.619-46.5Q301.763-740 248-740q-38 0-74.5 9.5T100-707v434q31-14 70.5-20.5T248-300Zm264 50q50-25 98-37.5T712-300q38 0 78.5 6t69.5 16v-429q-34-17-71.822-25-37.823-8-76.178-8-54 0-104.5 16.5T512-677v427Zm-30 90q-51-38-111-58.5T248-239q-36.537 0-71.768 9Q141-221 106-208q-23.1 11-44.55-3Q40-225 40-251v-463q0-15 7-27.5T68-761q42-20 87.395-29.5Q200.789-800 248-800q63 0 122.5 17T482-731q51-35 109.5-52T712-800q46.868 0 91.934 9.5Q849-781 891-761q14 7 21.5 19.5T920-714v463q0 27.894-22.5 42.447Q875-194 853-208q-34-14-69.232-22.5Q748.537-239 712-239q-63 0-121 21t-109 58ZM276-489Z'/></svg>\"\n>\n</pdf-shy-button>\n", styles: ["button{padding:0;margin-top:0;margin-bottom: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.3.12", ngImport: i0, type: PdfBookModeComponent, decorators: [{
type: Component,
args: [{ selector: 'pdf-book-mode', template: "<pdf-shy-button\n [cssClass]=\"show | responsiveCSSClass : 'always-in-secondary-menu'\"\n title=\"Book mode\"\n primaryToolbarId=\"book-mode\"\n [toggled]=\"pageViewMode == 'book'\"\n [action]=\"onClick\"\n [order]=\"3400\"\n [closeOnClick]=\"false\"\n image=\"<svg aria-hidden='true' focusable='false' xmlns='http://www.w3.org/2000/svg' height='24' viewBox='0 -960 960 960' width='24' fill='currentColor'><path d='M560-574v-48q33-14 67.5-21t72.5-7q26 0 51 4t49 10v44q-24-9-48.5-13.5T700-610q-38 0-73 9.5T560-574Zm0 220v-49q33-13.5 67.5-20.25T700-430q26 0 51 4t49 10v44q-24-9-48.5-13.5T700-390q-38 0-73 9t-67 27Zm0-110v-48q33-14 67.5-21t72.5-7q26 0 51 4t49 10v44q-24-9-48.5-13.5T700-500q-38 0-73 9.5T560-464ZM248-300q53.566 0 104.283 12.5T452-250v-427q-45-30-97.619-46.5Q301.763-740 248-740q-38 0-74.5 9.5T100-707v434q31-14 70.5-20.5T248-300Zm264 50q50-25 98-37.5T712-300q38 0 78.5 6t69.5 16v-429q-34-17-71.822-25-37.823-8-76.178-8-54 0-104.5 16.5T512-677v427Zm-30 90q-51-38-111-58.5T248-239q-36.537 0-71.768 9Q141-221 106-208q-23.1 11-44.55-3Q40-225 40-251v-463q0-15 7-27.5T68-761q42-20 87.395-29.5Q200.789-800 248-800q63 0 122.5 17T482-731q51-35 109.5-52T712-800q46.868 0 91.934 9.5Q849-781 891-761q14 7 21.5 19.5T920-714v463q0 27.894-22.5 42.447Q875-194 853-208q-34-14-69.232-22.5Q748.537-239 712-239q-63 0-121 21t-109 58ZM276-489Z'/></svg>\"\n>\n</pdf-shy-button>\n", styles: ["button{padding:0;margin-top:0;margin-bottom:0}\n"] }]
}], ctorParameters: () => [], propDecorators: { show: [{
type: Input
}], pageViewMode: [{
type: Input
}], scrollMode: [{
type: Input
}], pageViewModeChange: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLWJvb2stbW9kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlci9zcmMvbGliL3Rvb2xiYXIvcGRmLWJvb2stbW9kZS9wZGYtYm9vay1tb2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1leHRlbmRlZC1wZGYtdmlld2VyL3NyYy9saWIvdG9vbGJhci9wZGYtYm9vay1tb2RlL3BkZi1ib29rLW1vZGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVNsRixNQUFNLE9BQU8sb0JBQW9CO0lBRXhCLElBQUksR0FBeUIsSUFBSSxDQUFDO0lBR2xDLFlBQVksQ0FBbUI7SUFHL0IsVUFBVSxDQUFpQjtJQUczQixrQkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUUxRCxPQUFPLENBQWM7SUFFNUI7UUFDRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFDbEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7SUFDM0IsQ0FBQzt3R0ExQlUsb0JBQW9COzRGQUFwQixvQkFBb0IsOExDVGpDLG0yQ0FXQTs7NEZERmEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGVBQWU7d0RBTWxCLElBQUk7c0JBRFYsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsa0JBQWtCO3NCQUR4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGFnZVZpZXdNb2RlVHlwZSwgU2Nyb2xsTW9kZVR5cGUgfSBmcm9tICcuLi8uLi9vcHRpb25zL3BkZi12aWV3ZXInO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZVZpc2liaWxpdHkgfSBmcm9tICcuLi8uLi9yZXNwb25zaXZlLXZpc2liaWxpdHknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwZGYtYm9vay1tb2RlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BkZi1ib29rLW1vZGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wZGYtYm9vay1tb2RlLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGRmQm9va01vZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvdzogUmVzcG9uc2l2ZVZpc2liaWxpdHkgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdlVmlld01vZGU6IFBhZ2VWaWV3TW9kZVR5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNjcm9sbE1vZGU6IFNjcm9sbE1vZGVUeXBlO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgcGFnZVZpZXdNb2RlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxQYWdlVmlld01vZGVUeXBlPigpO1xuXG4gIHB1YmxpYyBvbkNsaWNrPzogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBlbWl0dGVyID0gdGhpcy5wYWdlVmlld01vZGVDaGFuZ2U7XG4gICAgdGhpcy5vbkNsaWNrID0gKCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGVtaXR0ZXIuZW1pdCgnYm9vaycpO1xuICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2xpY2sgPSB1bmRlZmluZWQ7XG4gIH1cbn1cbiIsIjxwZGYtc2h5LWJ1dHRvblxuICBbY3NzQ2xhc3NdPVwic2hvdyB8IHJlc3BvbnNpdmVDU1NDbGFzcyA6ICdhbHdheXMtaW4tc2Vjb25kYXJ5LW1lbnUnXCJcbiAgdGl0bGU9XCJCb29rIG1vZGVcIlxuICBwcmltYXJ5VG9vbGJhcklkPVwiYm9vay1tb2RlXCJcbiAgW3RvZ2dsZWRdPVwicGFnZVZpZXdNb2RlID09ICdib29rJ1wiXG4gIFthY3Rpb25dPVwib25DbGlja1wiXG4gIFtvcmRlcl09XCIzNDAwXCJcbiAgW2Nsb3NlT25DbGlja109XCJmYWxzZVwiXG4gIGltYWdlPVwiPHN2ZyBhcmlhLWhpZGRlbj0ndHJ1ZScgZm9jdXNhYmxlPSdmYWxzZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIC05NjAgOTYwIDk2MCcgd2lkdGg9JzI0JyBmaWxsPSdjdXJyZW50Q29sb3InPjxwYXRoIGQ9J001NjAtNTc0di00OHEzMy0xNCA2Ny41LTIxdDcyLjUtN3EyNiAwIDUxIDR0NDkgMTB2NDRxLTI0LTktNDguNS0xMy41VDcwMC02MTBxLTM4IDAtNzMgOS41VDU2MC01NzRabTAgMjIwdi00OXEzMy0xMy41IDY3LjUtMjAuMjVUNzAwLTQzMHEyNiAwIDUxIDR0NDkgMTB2NDRxLTI0LTktNDguNS0xMy41VDcwMC0zOTBxLTM4IDAtNzMgOXQtNjcgMjdabTAtMTEwdi00OHEzMy0xNCA2Ny41LTIxdDcyLjUtN3EyNiAwIDUxIDR0NDkgMTB2NDRxLTI0LTktNDguNS0xMy41VDcwMC01MDBxLTM4IDAtNzMgOS41VDU2MC00NjRaTTI0OC0zMDBxNTMuNTY2IDAgMTA0LjI4MyAxMi41VDQ1Mi0yNTB2LTQyN3EtNDUtMzAtOTcuNjE5LTQ2LjVRMzAxLjc2My03NDAgMjQ4LTc0MHEtMzggMC03NC41IDkuNVQxMDAtNzA3djQzNHEzMS0xNCA3MC41LTIwLjVUMjQ4LTMwMFptMjY0IDUwcTUwLTI1IDk4LTM3LjVUNzEyLTMwMHEzOCAwIDc4LjUgNnQ2OS41IDE2di00MjlxLTM0LTE3LTcxLjgyMi0yNS0zNy44MjMtOC03Ni4xNzgtOC01NCAwLTEwNC41IDE2LjVUNTEyLTY3N3Y0MjdabS0zMCA5MHEtNTEtMzgtMTExLTU4LjVUMjQ4LTIzOXEtMzYuNTM3IDAtNzEuNzY4IDlRMTQxLTIyMSAxMDYtMjA4cS0yMy4xIDExLTQ0LjU1LTNRNDAtMjI1IDQwLTI1MXYtNDYzcTAtMTUgNy0yNy41VDY4LTc2MXE0Mi0yMCA4Ny4zOTUtMjkuNVEyMDAuNzg5LTgwMCAyNDgtODAwcTYzIDAgMTIyLjUgMTdUNDgyLTczMXE1MS0zNSAxMDkuNS01MlQ3MTItODAwcTQ2Ljg2OCAwIDkxLjkzNCA5LjVRODQ5LTc4MSA4OTEtNzYxcTE0IDcgMjEuNSAxOS41VDkyMC03MTR2NDYzcTAgMjcuODk0LTIyLjUgNDIuNDQ3UTg3NS0xOTQgODUzLTIwOHEtMzQtMTQtNjkuMjMyLTIyLjVRNzQ4LjUzNy0yMzkgNzEyLTIzOXEtNjMgMC0xMjEgMjF0LTEwOSA1OFpNMjc2LTQ4OVonLz48L3N2Zz5cIlxuPlxuPC9wZGYtc2h5LWJ1dHRvbj5cbiJdfQ==