diff --git a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.spec.ts b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.spec.ts index 1b7268e11c..38729d3bcc 100644 --- a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.spec.ts +++ b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.spec.ts @@ -1026,7 +1026,7 @@ describe('FormCloudComponent', () => { expect(formComponent.form.selectedOutcomeId).toBe(outcomeId); }); - it('should not confirm form if user rejects', () => { + it('should not confirm form and reenable save and complete buttons if user rejects', () => { const outcome = 'complete'; spyOn(matDialog, 'open').and.returnValue({ afterClosed: () => of(false) } as any); @@ -1040,10 +1040,15 @@ describe('FormCloudComponent', () => { formComponent.form = formModel; spyOn(formComponent['formCloudService'], 'completeTaskForm'); + formComponent.disableSaveButton = true; + formComponent.disableCompleteButton = true; + formComponent.completeTaskForm(outcome); expect(matDialog.open).toHaveBeenCalled(); expect(formComponent['formCloudService'].completeTaskForm).not.toHaveBeenCalled(); + expect(formComponent.disableSaveButton).toBe(false); + expect(formComponent.disableCompleteButton).toBe(false); }); it('should require json to parse form', () => { diff --git a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts index 3c299e0af1..0ea9989b08 100644 --- a/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts +++ b/lib/process-services-cloud/src/lib/form/components/form-cloud.component.ts @@ -419,11 +419,17 @@ export class FormCloudComponent extends FormBaseComponent implements OnChanges, minWidth: '450px' }); - dialogRef.afterClosed().subscribe((result) => { - if (result === true) { - this.completeForm(outcome, outcomeId); - } - }); + dialogRef + .afterClosed() + .pipe(takeUntilDestroyed(this.destroyRef)) + .subscribe((result) => { + if (result === true) { + this.completeForm(outcome, outcomeId); + } else { + this.disableSaveButton = false; + this.disableCompleteButton = false; + } + }); } else { this.completeForm(outcome, outcomeId); }