UNPKG

@hmcts/annotation-ui-lib

Version:

PDF Viewer and ability to highlight text with and comment tracking

144 lines 11.9 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { of } from 'rxjs'; import { TransferState, makeStateKey } from '@angular/platform-browser'; import { tap } from 'rxjs/operators'; import { isPlatformServer } from '@angular/common'; import { HttpClient } from '@angular/common/http'; import { Injectable, PLATFORM_ID, Inject } from '@angular/core'; import { EmLoggerService } from '../logging/em-logger.service'; export class ApiHttpService { /** * @param {?} log * @param {?} httpClient * @param {?} platformId * @param {?} transferState */ constructor(log, httpClient, platformId, transferState) { this.log = log; this.httpClient = httpClient; this.platformId = platformId; this.transferState = transferState; log.setClass('ApiHttpService'); } /** * @param {?} baseUrl * @return {?} */ setBaseUrl(baseUrl) { this.baseUrl = baseUrl; } /** * @return {?} */ getBaseUrl() { return this.baseUrl; } /** * @param {?} baseUrl * @param {?} body * @return {?} */ createAnnotationSet(baseUrl, body) { return this.httpClient.post(`${baseUrl}/em-anno/annotation-sets`, body, { observe: 'response' }); } /** * @param {?} baseUrl * @param {?} dmDocumentId * @return {?} */ fetch(baseUrl, dmDocumentId) { /** @type {?} */ const STATE_KEY = makeStateKey('annotationSet-' + dmDocumentId); if (this.transferState.hasKey(STATE_KEY)) { /** @type {?} */ const annotationSet = this.transferState.get(STATE_KEY, null); this.transferState.remove(STATE_KEY); return of(annotationSet); } else { /** @type {?} */ const url = `${baseUrl}/em-anno/annotation-sets/${dmDocumentId}`; return this.httpClient.get(url, { observe: 'response' }) .pipe(tap(annotationSet => { if (isPlatformServer(this.platformId)) { this.transferState.set(STATE_KEY, annotationSet); } })); } } /** * @param {?} dmDocumentId * @param {?} outputDmDocumentId * @param {?} baseUrl * @return {?} */ documentTask(dmDocumentId, outputDmDocumentId, baseUrl) { /** @type {?} */ const url = `${baseUrl}/api/em-npa/document-tasks`; /** @type {?} */ const documentTasks = { inputDocumentId: dmDocumentId, outputDocumentId: outputDmDocumentId }; this.log.info('Calling NPA service-' + dmDocumentId); return this.httpClient.post(url, documentTasks, { observe: 'response' }); } /** * @param {?} annotation * @return {?} */ deleteAnnotation(annotation) { /** @type {?} */ const url = `${this.baseUrl}/em-anno/annotations/${annotation.id}`; return this.httpClient.delete(url, { observe: 'response' }); } /** * @param {?} annotation * @return {?} */ saveAnnotation(annotation) { /** @type {?} */ const url = `${this.baseUrl}/em-anno/annotations`; return this.httpClient.post(url, annotation, { observe: 'response' }); } } ApiHttpService.decorators = [ { type: Injectable } ]; ApiHttpService.ctorParameters = () => [ { type: EmLoggerService }, { type: HttpClient }, { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }, { type: TransferState } ]; if (false) { /** * @type {?} * @private */ ApiHttpService.prototype.baseUrl; /** * @type {?} * @private */ ApiHttpService.prototype.log; /** * @type {?} * @private */ ApiHttpService.prototype.httpClient; /** * @type {?} * @private */ ApiHttpService.prototype.platformId; /** * @type {?} * @private */ ApiHttpService.prototype.transferState; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWh0dHAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9hbm5vdGF0aW9uLXVpLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9kYXRhL2FwaS1odHRwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBYSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFlLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFHL0QsTUFBTTs7Ozs7OztJQUdGLFlBQW9CLEdBQW9CLEVBQ3BCLFVBQXNCLEVBQ0QsVUFBVSxFQUMvQixhQUE0QjtRQUg1QixRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQUNwQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0QsZUFBVSxHQUFWLFVBQVUsQ0FBQTtRQUMvQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QyxHQUFHLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkMsQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsT0FBZTtRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsVUFBVTtRQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7Ozs7OztJQUVELG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJO1FBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBaUIsR0FBRyxPQUFPLDBCQUEwQixFQUM1RSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDOzs7Ozs7SUFFRCxLQUFLLENBQUMsT0FBTyxFQUFFLFlBQVk7O2NBQ2pCLFNBQVMsR0FBRyxZQUFZLENBQStCLGdCQUFnQixHQUFHLFlBQVksQ0FBQztRQUM3RixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7O2tCQUNqQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQStCLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDM0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7O2tCQUNFLEdBQUcsR0FBRyxHQUFHLE9BQU8sNEJBQTRCLFlBQVksRUFBRTtZQUNoRSxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQWlCLEdBQUcsRUFBRSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQztpQkFDN0QsSUFBSSxDQUNELEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDaEIsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO2dCQUNyRCxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDOzs7Ozs7O0lBQ0QsWUFBWSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxPQUFlOztjQUNwRCxHQUFHLEdBQUcsR0FBRyxPQUFPLDRCQUE0Qjs7Y0FDNUMsYUFBYSxHQUFHO1lBQ2xCLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGdCQUFnQixFQUFFLGtCQUFrQjtTQUN2QztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBZ0IsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsVUFBc0I7O2NBQzdCLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLHdCQUF3QixVQUFVLENBQUMsRUFBRSxFQUFFO1FBQ2xFLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBYyxHQUFHLEVBQUUsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDOzs7OztJQUVELGNBQWMsQ0FBQyxVQUFzQjs7Y0FDM0IsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sc0JBQXNCO1FBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBYyxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDckYsQ0FBQzs7O1lBNURKLFVBQVU7OztZQUZGLGVBQWU7WUFKRixVQUFVOzRDQVlmLE1BQU0sU0FBQyxXQUFXO1lBZjFCLGFBQWE7Ozs7Ozs7SUFXbEIsaUNBQXdCOzs7OztJQUVaLDZCQUE0Qjs7Ozs7SUFDNUIsb0NBQThCOzs7OztJQUM5QixvQ0FBdUM7Ozs7O0lBQ3ZDLHVDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T2JzZXJ2YWJsZSwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNmZXJTdGF0ZSwgbWFrZVN0YXRlS2V5IH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7SHR0cFJlc3BvbnNlLCBIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdGFibGUsIFBMQVRGT1JNX0lELCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJRG9jdW1lbnRUYXNrfSBmcm9tICcuL2RvY3VtZW50LXRhc2subW9kZWwnO1xuaW1wb3J0IHtBbm5vdGF0aW9uLCBJQW5ub3RhdGlvbiwgSUFubm90YXRpb25TZXR9IGZyb20gJy4vYW5ub3RhdGlvbi1zZXQubW9kZWwnO1xuaW1wb3J0IHsgRW1Mb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nZ2luZy9lbS1sb2dnZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBcGlIdHRwU2VydmljZSB7XG4gICAgcHJpdmF0ZSBiYXNlVXJsOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxvZzogRW1Mb2dnZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSB0cmFuc2ZlclN0YXRlOiBUcmFuc2ZlclN0YXRlKSB7XG4gICAgICAgIGxvZy5zZXRDbGFzcygnQXBpSHR0cFNlcnZpY2UnKTtcbiAgICB9XG5cbiAgICBzZXRCYXNlVXJsKGJhc2VVcmw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmJhc2VVcmwgPSBiYXNlVXJsO1xuICAgIH1cblxuICAgIGdldEJhc2VVcmwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYmFzZVVybDtcbiAgICB9XG5cbiAgICBjcmVhdGVBbm5vdGF0aW9uU2V0KGJhc2VVcmwsIGJvZHkpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxJQW5ub3RhdGlvblNldD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PElBbm5vdGF0aW9uU2V0PihgJHtiYXNlVXJsfS9lbS1hbm5vL2Fubm90YXRpb24tc2V0c2AsXG4gICAgICAgICAgICBib2R5LCB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cblxuICAgIGZldGNoKGJhc2VVcmwsIGRtRG9jdW1lbnRJZCk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPElBbm5vdGF0aW9uU2V0Pj4ge1xuICAgICAgICBjb25zdCBTVEFURV9LRVkgPSBtYWtlU3RhdGVLZXk8SHR0cFJlc3BvbnNlPElBbm5vdGF0aW9uU2V0Pj4oJ2Fubm90YXRpb25TZXQtJyArIGRtRG9jdW1lbnRJZCk7XG4gICAgICAgIGlmICh0aGlzLnRyYW5zZmVyU3RhdGUuaGFzS2V5KFNUQVRFX0tFWSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGFubm90YXRpb25TZXQgPSB0aGlzLnRyYW5zZmVyU3RhdGUuZ2V0PEh0dHBSZXNwb25zZTxJQW5ub3RhdGlvblNldD4+KFNUQVRFX0tFWSwgbnVsbCk7XG4gICAgICAgICAgICB0aGlzLnRyYW5zZmVyU3RhdGUucmVtb3ZlKFNUQVRFX0tFWSk7XG4gICAgICAgICAgICByZXR1cm4gb2YoYW5ub3RhdGlvblNldCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtiYXNlVXJsfS9lbS1hbm5vL2Fubm90YXRpb24tc2V0cy8ke2RtRG9jdW1lbnRJZH1gO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8SUFubm90YXRpb25TZXQ+KHVybCwge29ic2VydmU6ICdyZXNwb25zZSd9KVxuICAgICAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcChhbm5vdGF0aW9uU2V0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNmZXJTdGF0ZS5zZXQoU1RBVEVfS0VZLCBhbm5vdGF0aW9uU2V0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGRvY3VtZW50VGFzayhkbURvY3VtZW50SWQsIG91dHB1dERtRG9jdW1lbnRJZCwgYmFzZVVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8SURvY3VtZW50VGFzaz4+IHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7YmFzZVVybH0vYXBpL2VtLW5wYS9kb2N1bWVudC10YXNrc2A7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50VGFza3MgPSB7XG4gICAgICAgICAgICBpbnB1dERvY3VtZW50SWQ6IGRtRG9jdW1lbnRJZCxcbiAgICAgICAgICAgIG91dHB1dERvY3VtZW50SWQ6IG91dHB1dERtRG9jdW1lbnRJZFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmxvZy5pbmZvKCdDYWxsaW5nIE5QQSBzZXJ2aWNlLScgKyBkbURvY3VtZW50SWQpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SURvY3VtZW50VGFzaz4odXJsLCBkb2N1bWVudFRhc2tzLCB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cblxuICAgIGRlbGV0ZUFubm90YXRpb24oYW5ub3RhdGlvbjogQW5ub3RhdGlvbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPElBbm5vdGF0aW9uPj4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L2VtLWFubm8vYW5ub3RhdGlvbnMvJHthbm5vdGF0aW9uLmlkfWA7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPElBbm5vdGF0aW9uPih1cmwsIHtvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuXG4gICAgc2F2ZUFubm90YXRpb24oYW5ub3RhdGlvbjogQW5ub3RhdGlvbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPElBbm5vdGF0aW9uPj4ge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmJhc2VVcmx9L2VtLWFubm8vYW5ub3RhdGlvbnNgO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8SUFubm90YXRpb24+KHVybCwgYW5ub3RhdGlvbiwge29ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG59XG4iXX0=