From 1a21dcd286b63345c229220d6f306ccc120c3462 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Tue, 17 Oct 2023 16:20:25 +0300 Subject: [PATCH] RED-7023 - Option to compare (effective) dossier dictionary with template dictionary --- .../dictionary-manager.component.html | 2 +- .../dictionary-manager.component.ts | 28 +++++++++++++++---- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.html b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.html index b53c7b213..5afb996f0 100644 --- a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.html +++ b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.html @@ -64,7 +64,7 @@ -
+
{{ selectDossier.dossierName | translate }} diff --git a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts index 85601efc7..4aa64c2dd 100644 --- a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts @@ -8,6 +8,7 @@ import { DictionaryType, Dossier, DossierTemplate, + IDictionary, } from '@red/domain'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DictionaryService } from '@services/entity-services/dictionary.service'; @@ -50,6 +51,7 @@ export class DictionaryManagerComponent implements OnChanges { @Output() readonly saveDictionary = new EventEmitter(); @ViewChild(EditorComponent) readonly editor: EditorComponent; readonly iconButtonTypes = IconButtonTypes; + readonly dossiers: Dossier[]; currentMatch = 0; findMatches: FindMatch[] = []; diffEditorText = ''; @@ -71,7 +73,16 @@ export class DictionaryManagerComponent implements OnChanges { private readonly _changeRef: ChangeDetectorRef, readonly activeDossiersService: ActiveDossiersService, readonly dossierTemplatesService: DossierTemplatesService, - ) {} + ) { + this.dossiers = activeDossiersService.all; + const templateDictionary = { + id: 'template', + dossierId: 'template', + dossierName: 'Template Dictionary', + dossierTemplateId: this.dossiers[0]?.dossierTemplateId, + } as Dossier; + this.dossiers.push(templateDictionary); + } private _dossierTemplate = this.selectDossierTemplate; @@ -242,11 +253,16 @@ export class DictionaryManagerComponent implements OnChanges { } async #onDossierChanged(dossierTemplateId: string, dossierId?: string) { - const dictionary = ( - await firstValueFrom( - this._dictionaryService.loadDictionaryEntriesByType([this.selectedDictionaryType], dossierTemplateId, dossierId), - ) - )[0]; + let dictionary: IDictionary; + if (dossierId === 'template') { + dictionary = await this._dictionaryService.getForType(dossierTemplateId, this.selectedDictionaryType); + } else { + dictionary = ( + await firstValueFrom( + this._dictionaryService.loadDictionaryEntriesByType([this.selectedDictionaryType], dossierTemplateId, dossierId), + ) + )[0]; + } const activeEntries = this.activeEntryType === DictionaryEntryTypes.ENTRY || this.hint ? [...dictionary.entries]