RED-9437: fixed watermarks not available on creating first dossier.
This commit is contained in:
parent
eeca03ae61
commit
9c5a66b80e
@ -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<number> imple
|
||||
readonly watermarks$: Observable<Watermark[]>;
|
||||
watermarksMap = new Map<number, Watermark>();
|
||||
|
||||
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<number> 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);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user