From 7a356b9dddd350f1d3aeaa48642edaf0cda8071c Mon Sep 17 00:00:00 2001 From: kurilova Date: Tue, 23 Jun 2026 14:18:16 +0000 Subject: [PATCH] Allows to save draft profile as valid profile --- .../profile-form/profile-form.component.html | 2 +- .../profile-form/profile-form.component.ts | 16 ++++++++++++++++ .../risk-assessment/risk-assessment.store.ts | 5 +++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.html b/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.html index c78ba26da..53c1d786f 100644 --- a/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.html +++ b/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.html @@ -63,7 +63,7 @@ mat-flat-button color="primary" class="save-profile-button" - [disabled]="profileHasNoChanges() || !profileForm.valid" + [disabled]="isSaveDisabled" (click)="onSaveClick(ProfileStatus.VALID)"> Save diff --git a/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.ts b/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.ts index 8dc77a17c..1da440c16 100644 --- a/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.ts +++ b/modules/ui/src/app/pages/risk-assessment/profile-form/profile-form.component.ts @@ -147,6 +147,22 @@ export class ProfileFormComponent implements OnInit, AfterViewInit { } } + get isSaveDisabled(): boolean | null { + if (!this.profileForm.valid) { + return true; + } + + if ( + this.profile && + this.profile.status === ProfileStatus.DRAFT && + this.profileHasNoChanges() + ) { + return false; + } + + return this.profileHasNoChanges(); + } + get isDraftDisabled(): boolean | null { return ( !this.nameControl.valid || diff --git a/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.ts b/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.ts index c84f9e883..391f44066 100644 --- a/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.ts +++ b/modules/ui/src/app/pages/risk-assessment/risk-assessment.store.ts @@ -161,6 +161,11 @@ export class RiskAssessmentStore extends ComponentStore { return this.testRunService.fetchProfilesFormat().pipe( tap((profileFormat: ProfileFormat[]) => { this.updateProfileFormat(profileFormat); + }), + catchError(err => { + console.error('Error while loading profiles', err); + this.updateProfileFormat([]); + return EMPTY; }) ); })