UNPKG

@hmcts/annotation-ui-lib

Version:

PDF Viewer and ability to highlight text with and comment tracking

89 lines 7.62 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input } from '@angular/core'; import { PdfRenderService } from '../../../data/pdf-render.service'; import { EmLoggerService } from '../../../logging/em-logger.service'; export class RotationComponent { /** * @param {?} pdfRenderService * @param {?} log */ constructor(pdfRenderService, log) { this.pdfRenderService = pdfRenderService; this.log = log; this.rotationStyle = {}; this.viewerStyle = {}; this.log.setClass('RotationComponent'); } /** * @return {?} */ ngOnInit() { /** @type {?} */ const height = `${((/** @type {?} */ (document.getElementById('pageContainer' + this.pageNumber).querySelector('.textLayer')))).style.height}`; this.rotationStyle = { 'margin-top': `-${height}` }; this.viewerStyle = { 'top': `${height}` }; } /** * @param {?} rotateVal * @return {?} */ calculateRotation(rotateVal) { /** @type {?} */ const circleDegrees = 360; return (rotateVal % circleDegrees + circleDegrees) % circleDegrees; } /** * @return {?} */ onRotateClockwise() { /** @type {?} */ const RENDER_OPTIONS = this.pdfRenderService.getRenderOptions(); /** @type {?} */ const rotation = RENDER_OPTIONS.rotationPages .find(rotatePage => rotatePage.page === this.pageNumber).rotate; RENDER_OPTIONS.rotationPages .find(rotatePage => rotatePage.page === this.pageNumber).rotate = this.calculateRotation(rotation + 90); this.pdfRenderService.setRenderOptions(RENDER_OPTIONS); this.pdfRenderService.render(); } } RotationComponent.decorators = [ { type: Component, args: [{ selector: 'app-rotation-toolbar', template: "<div class=\"viewer-menu\" [ngStyle]=\"viewerStyle\">\n <button\n [ngStyle]=\"rotationStyle\"\n class=\"govuk-button hmcts hmcts-button--secondary rotate\"\n title=\"Clockwise\"\n role=\"button\"\n (click)=\"onRotateClockwise()\">Rotate</button>\n</div>\n", styles: [".viewer-menu{width:100%;position:-webkit-sticky;position:sticky;left:0}.rotate{background-repeat:no-repeat;background-size:14px 14px;background-position:3px 50%;background-image:url(/assets/images/viewer-rotate.svg);padding-left:25px;float:right}"] }] } ]; RotationComponent.ctorParameters = () => [ { type: PdfRenderService }, { type: EmLoggerService } ]; RotationComponent.propDecorators = { pageNumber: [{ type: Input }] }; if (false) { /** @type {?} */ RotationComponent.prototype.rotationStyle; /** @type {?} */ RotationComponent.prototype.viewerStyle; /** @type {?} */ RotationComponent.prototype.pageNumber; /** * @type {?} * @private */ RotationComponent.prototype.pdfRenderService; /** * @type {?} * @private */ RotationComponent.prototype.log; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2Fubm90YXRpb24tdWktbGliLyIsInNvdXJjZXMiOlsibGliL3ZpZXdlcnMvYW5ub3RhdGlvbi1wZGYtdmlld2VyL3JvdGF0aW9uLXRvb2xiYXIvcm90YXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFRckUsTUFBTTs7Ozs7SUFNRixZQUFvQixnQkFBa0MsRUFDbEMsR0FBb0I7UUFEcEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQU54QyxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQU1iLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDM0MsQ0FBQzs7OztJQUVELFFBQVE7O2NBQ0UsTUFBTSxHQUFHLEdBQUcsQ0FBQyxtQkFBYSxRQUFRLENBQUMsY0FBYyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFBLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ3RJLElBQUksQ0FBQyxhQUFhLEdBQUc7WUFDbkIsWUFBWSxFQUFFLElBQUksTUFBTSxFQUFFO1NBQzNCLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHO1lBQ2pCLEtBQUssRUFBRSxHQUFHLE1BQU0sRUFBRTtTQUNuQixDQUFDO0lBQ04sQ0FBQzs7Ozs7SUFFRCxpQkFBaUIsQ0FBQyxTQUFTOztjQUNqQixhQUFhLEdBQUcsR0FBRztRQUN6QixNQUFNLENBQUMsQ0FBQyxTQUFTLEdBQUcsYUFBYSxHQUFHLGFBQWEsQ0FBQyxHQUFHLGFBQWEsQ0FBQztJQUN2RSxDQUFDOzs7O0lBRUQsaUJBQWlCOztjQUNQLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUU7O2NBQ3pELFFBQVEsR0FBRyxjQUFjLENBQUMsYUFBYTthQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNO1FBQ25FLGNBQWMsQ0FBQyxhQUFhO2FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkMsQ0FBQzs7O1lBdkNKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQywyUkFBd0M7O2FBRTNDOzs7WUFSUSxnQkFBZ0I7WUFDaEIsZUFBZTs7O3lCQVluQixLQUFLOzs7O0lBSE4sMENBQW1COztJQUNuQix3Q0FBaUI7O0lBRWpCLHVDQUE0Qjs7Ozs7SUFFaEIsNkNBQTBDOzs7OztJQUMxQyxnQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQZGZSZW5kZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZGF0YS9wZGYtcmVuZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRW1Mb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vbG9nZ2luZy9lbS1sb2dnZXIuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtcm90YXRpb24tdG9vbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JvdGF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yb3RhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFJvdGF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICByb3RhdGlvblN0eWxlID0ge307XG4gICAgdmlld2VyU3R5bGUgPSB7fTtcblxuICAgIEBJbnB1dCgpIHBhZ2VOdW1iZXI6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcGRmUmVuZGVyU2VydmljZTogUGRmUmVuZGVyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGxvZzogRW1Mb2dnZXJTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMubG9nLnNldENsYXNzKCdSb3RhdGlvbkNvbXBvbmVudCcpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBgJHsoPEhUTUxFbGVtZW50PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdwYWdlQ29udGFpbmVyJyArIHRoaXMucGFnZU51bWJlcikucXVlcnlTZWxlY3RvcignLnRleHRMYXllcicpKS5zdHlsZS5oZWlnaHR9YDtcbiAgICAgICAgdGhpcy5yb3RhdGlvblN0eWxlID0ge1xuICAgICAgICAgICdtYXJnaW4tdG9wJzogYC0ke2hlaWdodH1gXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudmlld2VyU3R5bGUgPSB7XG4gICAgICAgICAgJ3RvcCc6IGAke2hlaWdodH1gXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY2FsY3VsYXRlUm90YXRpb24ocm90YXRlVmFsKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgY2lyY2xlRGVncmVlcyA9IDM2MDtcbiAgICAgICAgcmV0dXJuIChyb3RhdGVWYWwgJSBjaXJjbGVEZWdyZWVzICsgY2lyY2xlRGVncmVlcykgJSBjaXJjbGVEZWdyZWVzO1xuICAgIH1cblxuICAgIG9uUm90YXRlQ2xvY2t3aXNlKCkge1xuICAgICAgICBjb25zdCBSRU5ERVJfT1BUSU9OUyA9IHRoaXMucGRmUmVuZGVyU2VydmljZS5nZXRSZW5kZXJPcHRpb25zKCk7XG4gICAgICAgIGNvbnN0IHJvdGF0aW9uID0gUkVOREVSX09QVElPTlMucm90YXRpb25QYWdlc1xuICAgICAgICAgICAgLmZpbmQocm90YXRlUGFnZSA9PiByb3RhdGVQYWdlLnBhZ2UgPT09IHRoaXMucGFnZU51bWJlcikucm90YXRlO1xuICAgICAgICBSRU5ERVJfT1BUSU9OUy5yb3RhdGlvblBhZ2VzXG4gICAgICAgICAgICAuZmluZChyb3RhdGVQYWdlID0+IHJvdGF0ZVBhZ2UucGFnZSA9PT0gdGhpcy5wYWdlTnVtYmVyKS5yb3RhdGUgPSB0aGlzLmNhbGN1bGF0ZVJvdGF0aW9uKHJvdGF0aW9uICsgOTApO1xuICAgICAgICB0aGlzLnBkZlJlbmRlclNlcnZpY2Uuc2V0UmVuZGVyT3B0aW9ucyhSRU5ERVJfT1BUSU9OUyk7XG4gICAgICAgIHRoaXMucGRmUmVuZGVyU2VydmljZS5yZW5kZXIoKTtcbiAgICB9XG59XG4iXX0=