diff --git a/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition-date-dialog/decision-condition-date-dialog.component.html b/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition-date-dialog/decision-condition-date-dialog.component.html index 18830a1d1d..2af5436823 100644 --- a/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition-date-dialog/decision-condition-date-dialog.component.html +++ b/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition-date-dialog/decision-condition-date-dialog.component.html @@ -54,7 +54,7 @@

{{ isAdding ? 'Add' : 'Edit' }} Due Dates

- + diff --git a/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition-date-dialog/decision-condition-date-dialog.component.ts b/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition-date-dialog/decision-condition-date-dialog.component.ts index 39d83ce0db..6a766cfe27 100644 --- a/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition-date-dialog/decision-condition-date-dialog.component.ts +++ b/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition-date-dialog/decision-condition-date-dialog.component.ts @@ -59,4 +59,8 @@ export class DecisionConditionDateDialogComponent { async onSubmit() { this.dialogRef.close(this.dates); } + + async onCancel() { + this.dialogRef.close(null); + } } diff --git a/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition.component.ts b/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition.component.ts index f68674593f..c5ff5e89f1 100644 --- a/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition.component.ts +++ b/alcs-frontend/src/app/features/application/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition.component.ts @@ -34,7 +34,13 @@ export class DecisionConditionComponent implements OnInit, OnChanges { uuid: string | undefined; - dates: ApplicationDecisionConditionDateDto[] = []; + private _dates: ApplicationDecisionConditionDateDto[] = []; + set dates(dates: ApplicationDecisionConditionDateDto[]) { + this._dates = dates.sort((a, b) => (a.date && b.date ? a.date - b.date : -1)); + } + get dates(): ApplicationDecisionConditionDateDto[] { + return this._dates; + } singleDateLabel = 'End Date'; showSingleDateField = false; @@ -212,7 +218,10 @@ export class DecisionConditionComponent implements OnInit, OnChanges { }, }) .beforeClosed() - .subscribe(async (dates: DueDate[]) => { + .subscribe(async (dates: DueDate[] | null) => { + if (!dates) { + return; + } this.dates = dates.map((date) => ({ uuid: date.uuid, date: date.date?.toDate().getTime(), diff --git a/alcs-frontend/src/app/features/notice-of-intent/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition.component.ts b/alcs-frontend/src/app/features/notice-of-intent/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition.component.ts index 4f179f4b51..eca6d96379 100644 --- a/alcs-frontend/src/app/features/notice-of-intent/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition.component.ts +++ b/alcs-frontend/src/app/features/notice-of-intent/decision/decision-v2/decision-input/decision-conditions/decision-condition/decision-condition.component.ts @@ -34,7 +34,13 @@ export class DecisionConditionComponent implements OnInit, OnChanges { uuid: string | undefined; - dates: NoticeOfIntentDecisionConditionDateDto[] = []; + private _dates: NoticeOfIntentDecisionConditionDateDto[] = []; + set dates(dates: NoticeOfIntentDecisionConditionDateDto[]) { + this._dates = dates.sort((a, b) => (a.date && b.date ? a.date - b.date : -1)); + } + get dates(): NoticeOfIntentDecisionConditionDateDto[] { + return this._dates; + } singleDateLabel = 'End Date'; showSingleDateField = false; @@ -212,8 +218,8 @@ export class DecisionConditionComponent implements OnInit, OnChanges { }, }) .beforeClosed() - .subscribe(async (dates: DueDate[]) => { - if (!this.uuid) { + .subscribe(async (dates: DueDate[] | null) => { + if (!dates) { return; } this.dates = dates.map((date) => ({