UNPKG

@hmcts/annotation-ui-lib

Version:

PDF Viewer and ability to highlight text with and comment tracking

82 lines 6.47 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { of } from 'rxjs'; import { makeStateKey, TransferState } from '@angular/platform-browser'; import { map, catchError } from 'rxjs/operators'; import { EmLoggerService } from '../logging/em-logger.service'; import * as i0 from "@angular/core"; import * as i1 from "../logging/em-logger.service"; import * as i2 from "@angular/common/http"; import * as i3 from "@angular/platform-browser"; export class DocumentViewerService { /** * @param {?} log * @param {?} httpClient * @param {?} state */ constructor(log, httpClient, state) { this.log = log; this.httpClient = httpClient; this.state = state; log.setClass('DocumentViewerService'); } /** * @param {?} documentUri * @return {?} */ getDocumentMetadata(documentUri) { /** @type {?} */ const key = makeStateKey(documentUri); /** @type {?} */ const cache = this.state.get(key, (/** @type {?} */ (null))); if (cache) { return of(cache); } return this.httpClient .get(documentUri) .pipe(map(data => { this.state.set(key, data); return data; })) .pipe(catchError(error => { /** @type {?} */ const value = { error }; this.state.set(key, value); this.log.error('Encountered error while downloading document:' + documentUri + '-' + error); return of(value); })); } } DocumentViewerService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; DocumentViewerService.ctorParameters = () => [ { type: EmLoggerService }, { type: HttpClient }, { type: TransferState } ]; /** @nocollapse */ DocumentViewerService.ngInjectableDef = i0.defineInjectable({ factory: function DocumentViewerService_Factory() { return new DocumentViewerService(i0.inject(i1.EmLoggerService), i0.inject(i2.HttpClient), i0.inject(i3.TransferState)); }, token: DocumentViewerService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ DocumentViewerService.prototype.log; /** * @type {?} * @private */ DocumentViewerService.prototype.httpClient; /** * @type {?} * @private */ DocumentViewerService.prototype.state; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdmlld2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvYW5ub3RhdGlvbi11aS1saWIvIiwic291cmNlcyI6WyJsaWIvZG9jdW1lbnQtdmlld2VyL2RvY3VtZW50LXZpZXdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQWEsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdEUsT0FBTyxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7O0FBSy9ELE1BQU07Ozs7OztJQUVGLFlBQW9CLEdBQW9CLEVBQ3BCLFVBQXNCLEVBQ3RCLEtBQW9CO1FBRnBCLFFBQUcsR0FBSCxHQUFHLENBQWlCO1FBQ3BCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQyxHQUFHLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDMUMsQ0FBQzs7Ozs7SUFFRCxtQkFBbUIsQ0FBQyxXQUFXOztjQUNyQixHQUFHLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQzs7Y0FDL0IsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxtQkFBQSxJQUFJLEVBQU8sQ0FBQztRQUM5QyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ1IsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVO2FBQ2pCLEdBQUcsQ0FBQyxXQUFXLENBQUM7YUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNiLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFDO2FBQ0YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTs7a0JBQ2YsS0FBSyxHQUFRLEVBQUMsS0FBSyxFQUFDO1lBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsR0FBRyxXQUFXLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzVGLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNaLENBQUM7OztZQTdCSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQUpRLGVBQWU7WUFKaEIsVUFBVTtZQUVJLGFBQWE7Ozs7Ozs7O0lBU25CLG9DQUE0Qjs7Ozs7SUFDNUIsMkNBQThCOzs7OztJQUM5QixzQ0FBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFrZVN0YXRlS2V5LCBUcmFuc2ZlclN0YXRlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7bWFwLCBjYXRjaEVycm9yfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFbUxvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi9sb2dnaW5nL2VtLWxvZ2dlci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEb2N1bWVudFZpZXdlclNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2c6IEVtTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzdGF0ZTogVHJhbnNmZXJTdGF0ZSkge1xuICAgICAgICBsb2cuc2V0Q2xhc3MoJ0RvY3VtZW50Vmlld2VyU2VydmljZScpO1xuICAgIH1cblxuICAgIGdldERvY3VtZW50TWV0YWRhdGEoZG9jdW1lbnRVcmkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBtYWtlU3RhdGVLZXkoZG9jdW1lbnRVcmkpO1xuICAgICAgICBjb25zdCBjYWNoZSA9IHRoaXMuc3RhdGUuZ2V0KGtleSwgbnVsbCBhcyBhbnkpO1xuICAgICAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihjYWNoZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgICAgICAgLmdldChkb2N1bWVudFVyaSlcbiAgICAgICAgICAgIC5waXBlKG1hcChkYXRhID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLnNldChrZXksIGRhdGEpO1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAucGlwZShjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZTogYW55ID0ge2Vycm9yfTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZy5lcnJvcignRW5jb3VudGVyZWQgZXJyb3Igd2hpbGUgZG93bmxvYWRpbmcgZG9jdW1lbnQ6JyArIGRvY3VtZW50VXJpICsgJy0nICsgZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvZih2YWx1ZSk7XG4gICAgICAgICAgICB9KSk7XG4gICAgfVxufVxuIl19