DM-377 fix undefined dictionary

This commit is contained in:
Dan Percic 2023-08-14 16:55:36 +03:00
parent d6dc976992
commit bd2f37c5c2
2 changed files with 37 additions and 32 deletions

View File

@ -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;

View File

@ -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<Blob> {