diff --git a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.html b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.html
index 73f64fe6e..ca0255dc1 100644
--- a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.html
+++ b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.html
@@ -26,7 +26,9 @@
[isOpenEntityForm]="isOpenProfileForm"
[initialEntity]="vm.selectedProfile"
(addEntity)="openForm()"
- (menuItemClicked)="menuItemClicked($event, vm.profiles)">
+ (menuItemClicked)="
+ menuItemClicked($event, vm.profiles, vm.selectedProfile)
+ ">
@@ -45,7 +47,7 @@
[profileFormat]="vm.profileFormat"
(saveProfile)="saveProfileClicked($event, vm.selectedProfile)"
(deleteCopy)="deleteCopy($event, vm.profiles)"
- (delete)="deleteProfile($event, vm.profiles)"
+ (delete)="deleteProfile($event, vm.profiles, vm.selectedProfile)"
(copyProfile)="copyProfile($event, vm.profiles)"
(discard)="discard($event, vm.profiles)">
diff --git a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.spec.ts b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.spec.ts
index 3ae05d261..699a550a7 100644
--- a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.spec.ts
+++ b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.spec.ts
@@ -211,7 +211,7 @@ describe('RiskAssessmentComponent', () => {
} as MatDialogRef);
tick();
- component.deleteProfile(PROFILE_MOCK, [PROFILE_MOCK]);
+ component.deleteProfile(PROFILE_MOCK, [PROFILE_MOCK], PROFILE_MOCK);
tick();
expect(openSpy).toHaveBeenCalledWith(SimpleDialogComponent, {
@@ -247,7 +247,7 @@ describe('RiskAssessmentComponent', () => {
tick();
- component.deleteProfile(PROFILE_MOCK, [PROFILE_MOCK]);
+ component.deleteProfile(PROFILE_MOCK, [PROFILE_MOCK], PROFILE_MOCK);
tick();
expect(
@@ -261,7 +261,11 @@ describe('RiskAssessmentComponent', () => {
afterClosed: () => of(true),
} as MatDialogRef);
component.isCopyProfile = true;
- component.deleteProfile(PROFILE_MOCK, [PROFILE_MOCK]);
+ component.deleteProfile(
+ DRAFT_COPY_PROFILE_MOCK,
+ [DRAFT_COPY_PROFILE_MOCK, PROFILE_MOCK],
+ DRAFT_COPY_PROFILE_MOCK
+ );
tick();
expect(mockRiskAssessmentStore.removeProfile).toHaveBeenCalled();
diff --git a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts
index 1b98d82d6..6dc2297c0 100644
--- a/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts
+++ b/modules/ui/src/app/pages/risk-assessment/risk-assessment.component.ts
@@ -168,7 +168,11 @@ export class RiskAssessmentComponent
return copyOfProfile;
}
- deleteProfile(profile: Profile, profiles: Profile[]): void {
+ deleteProfile(
+ profile: Profile,
+ profiles: Profile[],
+ selectedProfile: Profile | null
+ ): void {
const profileName = profile.name;
const dialogRef = this.dialog.open(SimpleDialogComponent, {
data: {
@@ -186,16 +190,20 @@ export class RiskAssessmentComponent
.pipe(takeUntil(this.destroy$))
.subscribe(deleteProfile => {
if (deleteProfile) {
- if (profile && this.isCopyProfile) {
+ if (
+ profile &&
+ profile.status === ProfileStatus.DRAFT &&
+ !profile.created
+ ) {
this.deleteCopy(profile, profiles);
- this.closeFormAfterDelete(profile.name, profile);
+ this.closeFormAfterDelete(profile.name, selectedProfile);
this.focusAddButton();
return;
} else {
this.store.deleteProfile({
name: profileName,
onDelete: (idx = 0) => {
- this.closeFormAfterDelete(profileName, profile);
+ this.closeFormAfterDelete(profileName, selectedProfile);
timer(100).subscribe(() => {
this.setFocus(idx);
});
@@ -300,14 +308,15 @@ export class RiskAssessmentComponent
menuItemClicked(
{ action, entity }: EntityActionResult,
- profiles: Profile[]
+ profiles: Profile[],
+ selectedProfile: Profile | null
) {
switch (action) {
case ProfileAction.Copy:
this.copyProfileAndOpenForm(entity, profiles);
break;
case ProfileAction.Delete:
- this.deleteProfile(entity, profiles);
+ this.deleteProfile(entity, profiles, selectedProfile);
break;
}
}