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.
100 lines • 8.78 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/toolbar/pdf-rotate-page/pdf-rotate-page.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { PDFNotificationService } from './../../pdf-notification-service';
import { Component, Input, ViewChild, ElementRef } from '@angular/core';
export class PdfRotatePageComponent {
/**
* @param {?} notificationService
*/
constructor(notificationService) {
this.notificationService = notificationService;
this.showRotateButton = true;
this.disableRotate = true;
/** @type {?} */
const subscription = this.notificationService.onPDFJSInit.subscribe((/**
* @return {?}
*/
() => {
this.onPdfJsInit();
subscription.unsubscribe();
}));
}
/**
* @return {?}
*/
rotateCW() {
/** @type {?} */
const PDFViewerApplication = ((/** @type {?} */ (window))).PDFViewerApplication;
PDFViewerApplication.eventBus.dispatch('rotatecw');
}
/**
* @return {?}
*/
rotateCCW() {
/** @type {?} */
const PDFViewerApplication = ((/** @type {?} */ (window))).PDFViewerApplication;
PDFViewerApplication.eventBus.dispatch('rotateccw');
}
/**
* @return {?}
*/
onPdfJsInit() {
/** @type {?} */
const PDFViewerApplication = ((/** @type {?} */ (window))).PDFViewerApplication;
PDFViewerApplication.eventBus.on('updateuistate', (/**
* @param {?} event
* @return {?}
*/
(event) => this.updateUIState(event)));
}
/**
* @param {?} event
* @return {?}
*/
updateUIState(event) {
this.disableRotate = event.pagesCount === 0;
this.button1.nativeElement.disabled = this.disableRotate;
this.button2.nativeElement.disabled = this.disableRotate;
}
}
PdfRotatePageComponent.decorators = [
{ type: Component, args: [{
selector: 'pdf-rotate-page',
template: "<button\n (click)=\"rotateCW()\"\n type=\"button\"\n [class.invisible]=\"!showRotateButton\"\n id=\"primaryPageRotateCw\"\n class=\"toolbarButton hiddenXLView rotateCw\"\n title=\"Rotate Clockwise\"\n data-l10n-id=\"page_rotate_cw\"\n [disabled]=\"disableRotate\"\n #button1>\n <svg style=\"width:23px;height:23px\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\" d=\"M12 3C7.03 3 3 7.03 3 12S7.03 21 12 21C14 21 15.92 20.34 17.5 19.14L16.06 17.7C14.87 18.54 13.45 19 12 19C8.13 19 5 15.87 5 12S8.13 5 12 5 19 8.13 19 12H16L20 16L24 12H21C21 7.03 16.97 3 12 3\" />\n </svg>\n</button>\n<button\n (click)=\"rotateCCW()\"\n type=\"button\"\n [class.invisible]=\"!showRotateButton\"\n id=\"primaryPageRotateCcw\"\n class=\"toolbarButton hiddenXLView rotateCcw\"\n title=\"Rotate Counterclockwise\"\n data-l10n-id=\"page_rotate_ccw\"\n [disabled]=\"disableRotate\"\n #button2>\n <svg style=\"width:23px;height:23px\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\" d=\"M12 3C7.03 3 3 7.03 3 12H0L4 16L8 12H5C5 8.13 8.13 5 12 5S19 8.13 19 12 15.87 19 12 19C10.55 19 9.13 18.54 7.94 17.7L6.5 19.14C8.08 20.34 10 21 12 21C16.97 21 21 16.97 21 12S16.97 3 12 3\" />\n </svg>\n</button>\n",
styles: [":host{margin-top:-1px}:host:focus{outline:0}button:focus,svg:focus{outline:0}"]
}] }
];
/** @nocollapse */
PdfRotatePageComponent.ctorParameters = () => [
{ type: PDFNotificationService }
];
PdfRotatePageComponent.propDecorators = {
showRotateButton: [{ type: Input }],
button1: [{ type: ViewChild, args: ['button1',] }],
button2: [{ type: ViewChild, args: ['button2',] }]
};
if (false) {
/** @type {?} */
PdfRotatePageComponent.prototype.showRotateButton;
/** @type {?} */
PdfRotatePageComponent.prototype.disableRotate;
/**
* @type {?}
* @private
*/
PdfRotatePageComponent.prototype.button1;
/**
* @type {?}
* @private
*/
PdfRotatePageComponent.prototype.button2;
/**
* @type {?}
* @private
*/
PdfRotatePageComponent.prototype.notificationService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXJvdGF0ZS1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1leHRlbmRlZC1wZGYtdmlld2VyLyIsInNvdXJjZXMiOlsibGliL3Rvb2xiYXIvcGRmLXJvdGF0ZS1wYWdlL3BkZi1yb3RhdGUtcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3hFLE1BQU0sT0FBTyxzQkFBc0I7Ozs7SUFZakMsWUFBb0IsbUJBQTJDO1FBQTNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFWeEQscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRXhCLGtCQUFhLEdBQUcsSUFBSSxDQUFDOztjQVNwQixZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDdkUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QixDQUFDLEVBQUM7SUFDSixDQUFDOzs7O0lBRU0sUUFBUTs7Y0FDUCxvQkFBb0IsR0FBMEIsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLG9CQUFvQjtRQUN4RixvQkFBb0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Ozs7SUFFTSxTQUFTOztjQUNSLG9CQUFvQixHQUEwQixDQUFDLG1CQUFBLE1BQU0sRUFBTyxDQUFDLENBQUMsb0JBQW9CO1FBQ3hGLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7OztJQUdNLFdBQVc7O2NBQ1Ysb0JBQW9CLEdBQTBCLENBQUMsbUJBQUEsTUFBTSxFQUFPLENBQUMsQ0FBQyxvQkFBb0I7UUFDeEYsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxlQUFlOzs7O1FBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQztJQUMxRixDQUFDOzs7OztJQUVNLGFBQWEsQ0FBQyxLQUF5QjtRQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzNELENBQUM7OztZQTVDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0Isd3RDQUErQzs7YUFFaEQ7Ozs7WUFUUSxzQkFBc0I7OzsrQkFXNUIsS0FBSztzQkFLTCxTQUFTLFNBQUMsU0FBUztzQkFHbkIsU0FBUyxTQUFDLFNBQVM7Ozs7SUFScEIsa0RBQytCOztJQUUvQiwrQ0FBNEI7Ozs7O0lBRTVCLHlDQUMrQzs7Ozs7SUFFL0MseUNBQytDOzs7OztJQUVuQyxxREFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQREZOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9wZGYtbm90aWZpY2F0aW9uLXNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJUERGVmlld2VyQXBwbGljYXRpb24gfSBmcm9tICcuLi8uLi9vcHRpb25zL3BkZi12aWV3ZXItYXBwbGljYXRpb24nO1xuaW1wb3J0IHsgVXBkYXRlVUlTdGF0ZUV2ZW50IH0gZnJvbSAnLi4vLi4vZXZlbnRzL3VwZGF0ZS11aS1zdGF0ZS1ldmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BkZi1yb3RhdGUtcGFnZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9wZGYtcm90YXRlLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wZGYtcm90YXRlLXBhZ2UuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBkZlJvdGF0ZVBhZ2VDb21wb25lbnQgIHtcbiAgQElucHV0KClcbiAgcHVibGljIHNob3dSb3RhdGVCdXR0b24gPSB0cnVlO1xuXG4gIHB1YmxpYyBkaXNhYmxlUm90YXRlID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCdidXR0b24xJylcbiAgcHJpdmF0ZSBidXR0b24xOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICBAVmlld0NoaWxkKCdidXR0b24yJylcbiAgcHJpdmF0ZSBidXR0b24yOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2U6IFBERk5vdGlmaWNhdGlvblNlcnZpY2UpIHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2Uub25QREZKU0luaXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMub25QZGZKc0luaXQoKTtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJvdGF0ZUNXKCk6IHZvaWQge1xuICAgIGNvbnN0IFBERlZpZXdlckFwcGxpY2F0aW9uOiBJUERGVmlld2VyQXBwbGljYXRpb24gPSAod2luZG93IGFzIGFueSkuUERGVmlld2VyQXBwbGljYXRpb247XG4gICAgUERGVmlld2VyQXBwbGljYXRpb24uZXZlbnRCdXMuZGlzcGF0Y2goJ3JvdGF0ZWN3Jyk7XG4gIH1cblxuICBwdWJsaWMgcm90YXRlQ0NXKCk6IHZvaWQge1xuICAgIGNvbnN0IFBERlZpZXdlckFwcGxpY2F0aW9uOiBJUERGVmlld2VyQXBwbGljYXRpb24gPSAod2luZG93IGFzIGFueSkuUERGVmlld2VyQXBwbGljYXRpb247XG4gICAgUERGVmlld2VyQXBwbGljYXRpb24uZXZlbnRCdXMuZGlzcGF0Y2goJ3JvdGF0ZWNjdycpO1xuICB9XG5cblxuICBwdWJsaWMgb25QZGZKc0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgUERGVmlld2VyQXBwbGljYXRpb246IElQREZWaWV3ZXJBcHBsaWNhdGlvbiA9ICh3aW5kb3cgYXMgYW55KS5QREZWaWV3ZXJBcHBsaWNhdGlvbjtcbiAgICBQREZWaWV3ZXJBcHBsaWNhdGlvbi5ldmVudEJ1cy5vbigndXBkYXRldWlzdGF0ZScsIChldmVudCkgPT4gdGhpcy51cGRhdGVVSVN0YXRlKGV2ZW50KSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlVUlTdGF0ZShldmVudDogVXBkYXRlVUlTdGF0ZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlUm90YXRlID0gZXZlbnQucGFnZXNDb3VudCA9PT0gMDtcbiAgICB0aGlzLmJ1dHRvbjEubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZVJvdGF0ZTtcbiAgICB0aGlzLmJ1dHRvbjIubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZVJvdGF0ZTtcbiAgfVxufVxuIl19