From 9c5a66b80eb7925cde045b4c059a4c2949b3814a Mon Sep 17 00:00:00 2001 From: Nicoleta Panaghiu Date: Wed, 26 Jun 2024 15:37:33 +0300 Subject: [PATCH] RED-9437: fixed watermarks not available on creating first dossier. --- .../watermark-selector.component.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared/components/dossier-watermark-selector/watermark-selector.component.ts b/apps/red-ui/src/app/modules/shared/components/dossier-watermark-selector/watermark-selector.component.ts index 165278a34..c598daa77 100644 --- a/apps/red-ui/src/app/modules/shared/components/dossier-watermark-selector/watermark-selector.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/dossier-watermark-selector/watermark-selector.component.ts @@ -9,8 +9,9 @@ import { FormFieldComponent } from '@common-ui/inputs/form-field/form-field-comp import { shareLast } from '@iqser/common-ui/lib/utils'; import { Watermark } from '@red/domain'; import { WatermarksMapService } from '@services/entity-services/watermarks-map.service'; -import { BehaviorSubject, Observable } from 'rxjs'; +import { BehaviorSubject, firstValueFrom, Observable } from 'rxjs'; import { filter, map, tap } from 'rxjs/operators'; +import { WatermarkService } from '@services/entity-services/watermark.service'; @Component({ selector: 'redaction-watermark-selector [dossierTemplateId] [label]', @@ -41,7 +42,10 @@ export class WatermarkSelectorComponent extends FormFieldComponent imple readonly watermarks$: Observable; watermarksMap = new Map(); - constructor(private readonly _watermarksMapService: WatermarksMapService) { + constructor( + private readonly _watermarksMapService: WatermarksMapService, + private readonly _watermarksService: WatermarkService, + ) { super(); this.watermarks$ = this.#dossierTemplateId$.pipe( filter(dossierTemplateId => !!dossierTemplateId), @@ -81,8 +85,11 @@ export class WatermarkSelectorComponent extends FormFieldComponent imple this.onChange(this._value); } - ngOnChanges(changes: SimpleChanges) { + async ngOnChanges(changes: SimpleChanges) { if (changes.dossierTemplateId) { + if (!this._watermarksMapService.get(changes.dossierTemplateId.currentValue).length) { + await firstValueFrom(this._watermarksService.loadForDossierTemplate(changes.dossierTemplateId.currentValue)); + } this.#dossierTemplateId$.next(this.dossierTemplateId); } }