@hmcts/annotation-ui-lib
Version:
PDF Viewer and ability to highlight text with and comment tracking
72 lines • 5.81 kB
JavaScript
/**
* @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