From bd2f37c5c27768c2cf912b77f568b72c12d52d64 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Mon, 14 Aug 2023 16:55:36 +0300 Subject: [PATCH] DM-377 fix undefined dictionary --- .../services/file-data.service.ts | 34 +++++++++--------- .../services/file-preview-state.service.ts | 35 +++++++++++-------- 2 files changed, 37 insertions(+), 32 deletions(-) diff --git a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts index 54491be42..1604ff0d4 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/file-data.service.ts @@ -1,3 +1,8 @@ +import { effect, Injectable, Signal, signal } from '@angular/core'; +import { toObservable } from '@angular/core/rxjs-interop'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { EntitiesService, Toaster } from '@iqser/common-ui'; +import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { ChangeType, ChangeTypes, @@ -9,26 +14,21 @@ import { ViewMode, ViewModes, } from '@red/domain'; -import { AnnotationWrapper } from '@models/file/annotation.wrapper'; -import { firstValueFrom, Observable } from 'rxjs'; -import { effect, Injectable, Signal, signal } from '@angular/core'; -import { FilePreviewStateService } from './file-preview-state.service'; -import { ViewedPagesService } from '@services/files/viewed-pages.service'; -import { UserPreferenceService } from '@users/user-preference.service'; -import { PermissionsService } from '@services/permissions.service'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { EntitiesService, Toaster } from '@iqser/common-ui'; -import { RedactionLogService } from '@services/files/redaction-log.service'; -import { EarmarksService } from '@services/files/earmarks.service'; -import { ViewModeService } from './view-mode.service'; -import dayjs from 'dayjs'; -import { NGXLogger } from 'ngx-logger'; -import { MultiSelectService } from './multi-select.service'; -import { FilesService } from '@services/files/files.service'; import { DefaultColorsService } from '@services/entity-services/default-colors.service'; import { DictionaryService } from '@services/entity-services/dictionary.service'; +import { EarmarksService } from '@services/files/earmarks.service'; +import { FilesService } from '@services/files/files.service'; +import { RedactionLogService } from '@services/files/redaction-log.service'; import { ViewedPagesMapService } from '@services/files/viewed-pages-map.service'; -import { toObservable } from '@angular/core/rxjs-interop'; +import { ViewedPagesService } from '@services/files/viewed-pages.service'; +import { PermissionsService } from '@services/permissions.service'; +import { UserPreferenceService } from '@users/user-preference.service'; +import dayjs from 'dayjs'; +import { NGXLogger } from 'ngx-logger'; +import { firstValueFrom, Observable } from 'rxjs'; +import { FilePreviewStateService } from './file-preview-state.service'; +import { MultiSelectService } from './multi-select.service'; +import { ViewModeService } from './view-mode.service'; const DELTA_VIEW_TIME = 10 * 60 * 1000; // 10 minutes; diff --git a/apps/red-ui/src/app/modules/file-preview/services/file-preview-state.service.ts b/apps/red-ui/src/app/modules/file-preview/services/file-preview-state.service.ts index 1d4c7daf0..e331aaa97 100644 --- a/apps/red-ui/src/app/modules/file-preview/services/file-preview-state.service.ts +++ b/apps/red-ui/src/app/modules/file-preview/services/file-preview-state.service.ts @@ -1,22 +1,22 @@ -import { computed, effect, inject, Injectable, Signal } from '@angular/core'; -import { firstValueFrom, from, merge, Observable, of, pairwise, Subject, switchMap } from 'rxjs'; -import { Dictionary, Dossier, DOSSIER_ID, DOSSIER_TEMPLATE_ID, File, FILE_ID } from '@red/domain'; -import { FilesMapService } from '@services/files/files-map.service'; -import { PermissionsService } from '@services/permissions.service'; -import { LoadingService, wipeCache } from '@iqser/common-ui'; -import { filter, map, startWith, tap, withLatestFrom } from 'rxjs/operators'; -import { FileManagementService } from '@services/files/file-management.service'; -import { dossiersServiceResolver } from '@services/entity-services/dossiers.service.provider'; -import { DossiersService } from '@services/dossiers/dossiers.service'; -import { FilesService } from '@services/files/files.service'; import { HttpEvent, HttpEventType, HttpProgressEvent, HttpResponse } from '@angular/common/http'; +import { computed, effect, inject, Injectable, Signal } from '@angular/core'; +import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop'; +import { LoadingService, wipeCache } from '@iqser/common-ui'; +import { getParam } from '@iqser/common-ui/lib/utils'; import { TranslateService } from '@ngx-translate/core'; +import { Dictionary, Dossier, DOSSIER_ID, DOSSIER_TEMPLATE_ID, File, FILE_ID } from '@red/domain'; +import { DossiersService } from '@services/dossiers/dossiers.service'; import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; import { DossierDictionariesMapService } from '@services/entity-services/dossier-dictionaries-map.service'; -import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop'; -import { ViewModeService } from './view-mode.service'; -import { getParam } from '@iqser/common-ui/lib/utils'; +import { dossiersServiceResolver } from '@services/entity-services/dossiers.service.provider'; +import { FileManagementService } from '@services/files/file-management.service'; +import { FilesMapService } from '@services/files/files-map.service'; +import { FilesService } from '@services/files/files.service'; +import { PermissionsService } from '@services/permissions.service'; import { NGXLogger } from 'ngx-logger'; +import { firstValueFrom, from, merge, Observable, of, pairwise, Subject, switchMap } from 'rxjs'; +import { filter, map, startWith, tap, withLatestFrom } from 'rxjs/operators'; +import { ViewModeService } from './view-mode.service'; const ONE_MEGABYTE = 1024 * 1024; @@ -86,7 +86,12 @@ export class FilePreviewStateService { } get dictionaries(): Dictionary[] { - return this._dictionariesMapService.get(this.dossierTemplateId).concat([this.dossierDictionary()]); + const dictionaries = this._dictionariesMapService.get(this.dossierTemplateId); + if (this.dossierDictionary()) { + dictionaries.push(this.dossierDictionary()); + } + + return dictionaries; } get blob(): Promise {