UNPKG

@hmcts/annotation-ui-lib

Version:

PDF Viewer and ability to highlight text with and comment tracking

72 lines 5.81 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, ComponentFactoryResolver, Injector, ApplicationRef } from '@angular/core'; import { RotationComponent } from './rotation.component'; import { EmLoggerService } from '../../../logging/em-logger.service'; export class RotationFactoryService { /** * @param {?} componentFactoryResolver * @param {?} log * @param {?} injector * @param {?} appRef */ constructor(componentFactoryResolver, log, injector, appRef) { this.componentFactoryResolver = componentFactoryResolver; this.log = log; this.injector = injector; this.appRef = appRef; this.log.setClass('RotationFactoryService'); } /** * @param {?} rotationModel * @return {?} */ addToDom(rotationModel) { this.log.info('Adding rotate button to PDF page ' + rotationModel.pageNumber); /** @type {?} */ const componentRef = this.componentFactoryResolver .resolveComponentFactory(RotationComponent) .create(this.injector); componentRef.instance.pageNumber = rotationModel.pageNumber; this.appRef.attachView(componentRef.hostView); /** @type {?} */ const domElem = (/** @type {?} */ (((/** @type {?} */ (componentRef.hostView))) .rootNodes[0])); rotationModel.pageDom.appendChild(domElem); return componentRef; } } RotationFactoryService.decorators = [ { type: Injectable } ]; RotationFactoryService.ctorParameters = () => [ { type: ComponentFactoryResolver }, { type: EmLoggerService }, { type: Injector }, { type: ApplicationRef } ]; if (false) { /** * @type {?} * @private */ RotationFactoryService.prototype.componentFactoryResolver; /** * @type {?} * @private */ RotationFactoryService.prototype.log; /** * @type {?} * @private */ RotationFactoryService.prototype.injector; /** * @type {?} * @private */ RotationFactoryService.prototype.appRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpb24tZmFjdG9yeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2Fubm90YXRpb24tdWktbGliLyIsInNvdXJjZXMiOlsibGliL3ZpZXdlcnMvYW5ub3RhdGlvbi1wZGYtdmlld2VyL3JvdGF0aW9uLXRvb2xiYXIvcm90YXRpb24tZmFjdG9yeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQWlDLE1BQU0sZUFBZSxDQUFDO0FBQzlILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUlyRSxNQUFNOzs7Ozs7O0lBRUYsWUFBb0Isd0JBQWtELEVBQ2xELEdBQW9CLEVBQ3BCLFFBQWtCLEVBQ2xCLE1BQXNCO1FBSHRCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLGFBQTRCO1FBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQzs7Y0FDeEUsWUFBWSxHQUFHLElBQUksQ0FBQyx3QkFBd0I7YUFDakMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUM7YUFDMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDdEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUU1RCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7O2NBQ3hDLE9BQU8sR0FBRyxtQkFBQSxDQUFDLG1CQUFBLFlBQVksQ0FBQyxRQUFRLEVBQXdCLENBQUM7YUFDMUQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFlO1FBQ2hDLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTNDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDeEIsQ0FBQzs7O1lBdkJSLFVBQVU7OztZQUxVLHdCQUF3QjtZQUVwQyxlQUFlO1lBRnVCLFFBQVE7WUFBRSxjQUFjOzs7Ozs7O0lBUXZELDBEQUEwRDs7Ozs7SUFDMUQscUNBQTRCOzs7OztJQUM1QiwwQ0FBMEI7Ozs7O0lBQzFCLHdDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0b3IsIEFwcGxpY2F0aW9uUmVmLCBFbWJlZGRlZFZpZXdSZWYsIENvbXBvbmVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm90YXRpb25Db21wb25lbnQgfSBmcm9tICcuL3JvdGF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbUxvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9sb2dnaW5nL2VtLWxvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdGF0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9yb3RhdGlvbi1mYWN0b3J5Lm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJvdGF0aW9uRmFjdG9yeVNlcnZpY2Uge1xuICAgIFxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBsb2c6IEVtTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYpIHtcbiAgICAgICAgICAgIHRoaXMubG9nLnNldENsYXNzKCdSb3RhdGlvbkZhY3RvcnlTZXJ2aWNlJyk7XG4gICAgICAgIH1cblxuICAgICAgICBhZGRUb0RvbShyb3RhdGlvbk1vZGVsOiBSb3RhdGlvbk1vZGVsKTogQ29tcG9uZW50UmVmPFJvdGF0aW9uQ29tcG9uZW50PiB7XG4gICAgICAgICAgICB0aGlzLmxvZy5pbmZvKCdBZGRpbmcgcm90YXRlIGJ1dHRvbiB0byBQREYgcGFnZSAnICsgcm90YXRpb25Nb2RlbC5wYWdlTnVtYmVyKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFJvdGF0aW9uQ29tcG9uZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UucGFnZU51bWJlciA9IHJvdGF0aW9uTW9kZWwucGFnZU51bWJlcjtcblxuICAgICAgICAgICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICAgICAgY29uc3QgZG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pXG4gICAgICAgICAgICAgICAgLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIHJvdGF0aW9uTW9kZWwucGFnZURvbS5hcHBlbmRDaGlsZChkb21FbGVtKTtcblxuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcbiAgICAgICAgfVxufVxuIl19