Skip to content

Commit 39b998e

Browse files
authored
Merge pull request #2042 from bcgov/hotfix/ALCS-2450
Change the way dates are accessed in template
2 parents 3f145b5 + 99d19c5 commit 39b998e

File tree

4 files changed

+42
-34
lines changed

4 files changed

+42
-34
lines changed

alcs-frontend/src/app/features/application/decision/conditions/condition/condition.component.html

+16-16
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
7878
</div>
7979
</div>
8080

81-
<div class="dates-container" *ngIf="condition.dates !== undefined && condition.type?.isDateChecked">
81+
<div class="dates-container" *ngIf="dates !== undefined && condition.type?.isDateChecked">
8282
<ng-container *ngIf="showSingleDateField; else showMultipleDateTable">
8383
<ng-container *ngIf="singleDateLabel === 'Due Date'; else showEndDateContainer">
8484
<div class="single-table">
@@ -99,20 +99,20 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
9999
<div class="single-table-row">
100100
<div class="single-column single-due">
101101
<app-inline-datepicker
102-
[value]="condition.dates[0].date ?? undefined"
103-
(save)="updateDate(condition.dates[0].uuid!, 'date', $event)"
102+
[value]="dates[0]?.date ?? undefined"
103+
(save)="updateDate(dates[0]?.uuid, 'date', $event)"
104104
></app-inline-datepicker>
105105
</div>
106106
<div class="single-column single-completed">
107107
<app-inline-datepicker
108-
[value]="condition.dates[0].completedDate ?? undefined"
109-
(save)="updateDate(condition.dates[0].uuid!, 'completedDate', $event)"
108+
[value]="dates[0]?.completedDate ?? undefined"
109+
(save)="updateDate(dates[0]?.uuid, 'completedDate', $event)"
110110
></app-inline-datepicker>
111111
</div>
112112
<div class="single-column single-comment">
113113
<app-inline-textarea
114-
[value]="condition.dates[0].comment ?? undefined"
115-
(save)="updateDate(condition.dates[0].uuid!, 'comment', $event)"
114+
[value]="dates[0]?.comment ?? undefined"
115+
(save)="updateDate(dates[0]?.uuid, 'comment', $event)"
116116
></app-inline-textarea>
117117
</div>
118118
</div>
@@ -132,8 +132,8 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
132132
<div class="single-table-row">
133133
<div class="single-column single-end">
134134
<app-inline-datepicker
135-
[value]="condition.dates[0].date ?? undefined"
136-
(save)="updateDate(condition.dates[0].uuid!, 'date', $event)"
135+
[value]="dates[0]?.date ?? undefined"
136+
(save)="updateDate(dates[0]?.uuid, 'date', $event)"
137137
></app-inline-datepicker>
138138
</div>
139139
</div>
@@ -153,8 +153,8 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
153153
<th mat-header-cell *matHeaderCellDef class="multiple-due">Due</th>
154154
<td mat-cell *matCellDef="let element">
155155
<app-inline-datepicker
156-
[value]="condition.dates[element.index - 1].date ?? undefined"
157-
(save)="updateDate(condition.dates[element.index - 1].uuid!, 'date', $event)"
156+
[value]="dates[element.index - 1]?.date ?? undefined"
157+
(save)="updateDate(dates[element.index - 1]?.uuid, 'date', $event)"
158158
></app-inline-datepicker>
159159
</td>
160160
</ng-container>
@@ -163,8 +163,8 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
163163
<th mat-header-cell *matHeaderCellDef class="multiple-completed">Completed</th>
164164
<td mat-cell *matCellDef="let element">
165165
<app-inline-datepicker
166-
[value]="condition.dates[element.index - 1].completedDate ?? undefined"
167-
(save)="updateDate(condition.dates[element.index - 1].uuid!, 'completedDate', $event)"
166+
[value]="dates[element.index - 1]?.completedDate ?? undefined"
167+
(save)="updateDate(dates[element.index - 1]?.uuid, 'completedDate', $event)"
168168
></app-inline-datepicker>
169169
</td>
170170
</ng-container>
@@ -173,8 +173,8 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
173173
<th mat-header-cell *matHeaderCellDef class="multiple-comment">Comment</th>
174174
<td mat-cell *matCellDef="let element" class="wrap-text">
175175
<app-inline-textarea
176-
[value]="condition.dates[element.index - 1].comment ?? undefined"
177-
(save)="updateDate(condition.dates[element.index - 1].uuid!, 'comment', $event)"
176+
[value]="dates[element.index - 1]?.comment ?? undefined"
177+
(save)="updateDate(dates[element.index - 1]?.uuid, 'comment', $event)"
178178
></app-inline-textarea>
179179
</td>
180180
</ng-container>
@@ -200,7 +200,7 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
200200

201201
<div
202202
class="full-width"
203-
[ngClass]="{ 'description-no-date-container': !(condition.dates !== undefined && condition.type?.isDateChecked) }"
203+
[ngClass]="{ 'description-no-date-container': !(dates !== undefined && condition.type?.isDateChecked) }"
204204
>
205205
<div class="subheading2">Description</div>
206206
<span

alcs-frontend/src/app/features/application/decision/conditions/condition/condition.component.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -274,10 +274,14 @@ export class ConditionComponent implements OnInit, AfterViewInit {
274274
}
275275

276276
async updateDate(
277-
dateUuid: string,
277+
dateUuid: string | undefined,
278278
fieldName: keyof ApplicationDecisionConditionDateDto,
279279
newValue: number | string | null,
280280
) {
281+
if (dateUuid === undefined) {
282+
return;
283+
}
284+
281285
const index = this.dates.findIndex((dto) => dto.uuid === dateUuid);
282286

283287
if (index !== -1) {

alcs-frontend/src/app/features/notice-of-intent/decision/conditions/condition/condition.component.html

+16-16
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
2323
<app-no-data *ngIf="condition.securityAmount === null || condition.securityAmount === undefined"></app-no-data>
2424
</div>
2525
</div>
26-
<div class="dates-container" *ngIf="condition.dates !== undefined && condition.type?.isDateChecked">
26+
<div class="dates-container" *ngIf="dates !== undefined && condition.type?.isDateChecked">
2727
<ng-container *ngIf="showSingleDateField; else showMultipleDateTable">
2828
<ng-container *ngIf="singleDateLabel === 'Due Date'; else showEndDateContainer">
2929
<div class="single-table">
@@ -44,20 +44,20 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
4444
<div class="single-table-row">
4545
<div class="single-column single-due">
4646
<app-inline-datepicker
47-
[value]="condition.dates[0].date ?? undefined"
48-
(save)="updateDate(condition.dates[0].uuid!, 'date', $event)"
47+
[value]="dates[0]?.date ?? undefined"
48+
(save)="updateDate(dates[0]?.uuid, 'date', $event)"
4949
></app-inline-datepicker>
5050
</div>
5151
<div class="single-column single-completed">
5252
<app-inline-datepicker
53-
[value]="condition.dates[0].completedDate ?? undefined"
54-
(save)="updateDate(condition.dates[0].uuid!, 'completedDate', $event)"
53+
[value]="dates[0]?.completedDate ?? undefined"
54+
(save)="updateDate(dates[0]?.uuid, 'completedDate', $event)"
5555
></app-inline-datepicker>
5656
</div>
5757
<div class="single-column single-comment">
5858
<app-inline-textarea
59-
[value]="condition.dates[0].comment ?? undefined"
60-
(save)="updateDate(condition.dates[0].uuid!, 'comment', $event)"
59+
[value]="dates[0]?.comment ?? undefined"
60+
(save)="updateDate(dates[0]?.uuid, 'comment', $event)"
6161
></app-inline-textarea>
6262
</div>
6363
</div>
@@ -77,8 +77,8 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
7777
<div class="single-table-row">
7878
<div class="single-column single-end">
7979
<app-inline-datepicker
80-
[value]="condition.dates[0].date ?? undefined"
81-
(save)="updateDate(condition.dates[0].uuid!, 'date', $event)"
80+
[value]="dates[0]?.date ?? undefined"
81+
(save)="updateDate(dates[0]?.uuid, 'date', $event)"
8282
></app-inline-datepicker>
8383
</div>
8484
</div>
@@ -98,8 +98,8 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
9898
<th mat-header-cell *matHeaderCellDef class="multiple-due">Due</th>
9999
<td mat-cell *matCellDef="let element">
100100
<app-inline-datepicker
101-
[value]="condition.dates[element.index - 1].date ?? undefined"
102-
(save)="updateDate(condition.dates[element.index - 1].uuid!, 'date', $event)"
101+
[value]="dates[element.index - 1]?.date ?? undefined"
102+
(save)="updateDate(dates[element.index - 1]?.uuid, 'date', $event)"
103103
></app-inline-datepicker>
104104
</td>
105105
</ng-container>
@@ -108,8 +108,8 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
108108
<th mat-header-cell *matHeaderCellDef class="multiple-completed">Completed</th>
109109
<td mat-cell *matCellDef="let element">
110110
<app-inline-datepicker
111-
[value]="condition.dates[element.index - 1].completedDate ?? undefined"
112-
(save)="updateDate(condition.dates[element.index - 1].uuid!, 'completedDate', $event)"
111+
[value]="dates[element.index - 1]?.completedDate ?? undefined"
112+
(save)="updateDate(dates[element.index - 1]?.uuid, 'completedDate', $event)"
113113
></app-inline-datepicker>
114114
</td>
115115
</ng-container>
@@ -118,8 +118,8 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
118118
<th mat-header-cell *matHeaderCellDef class="multiple-comment">Comment</th>
119119
<td mat-cell *matCellDef="let element" class="wrap-text">
120120
<app-inline-textarea
121-
[value]="condition.dates[element.index - 1].comment ?? undefined"
122-
(save)="updateDate(condition.dates[element.index - 1].uuid!, 'comment', $event)"
121+
[value]="dates[element.index - 1]?.comment ?? undefined"
122+
(save)="updateDate(dates[element.index - 1]?.uuid, 'comment', $event)"
123123
></app-inline-textarea>
124124
</td>
125125
</ng-container>
@@ -145,7 +145,7 @@ <h4 *ngIf="condition.type">{{ condition.type.label }}</h4>
145145

146146
<div
147147
class="full-width"
148-
[ngClass]="{ 'description-no-date-container': !(condition.dates !== undefined && condition.type.isDateChecked) }"
148+
[ngClass]="{ 'description-no-date-container': !(dates !== undefined && condition.type?.isDateChecked) }"
149149
>
150150
<div class="subheading2">Description</div>
151151
<span

alcs-frontend/src/app/features/notice-of-intent/decision/conditions/condition/condition.component.ts

+5-1
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,14 @@ export class ConditionComponent implements OnInit, AfterViewInit {
192192
}
193193

194194
async updateDate(
195-
dateUuid: string,
195+
dateUuid: string | undefined,
196196
fieldName: keyof NoticeOfIntentDecisionConditionDateDto,
197197
newValue: number | string | null,
198198
) {
199+
if (dateUuid === undefined) {
200+
return;
201+
}
202+
199203
const index = this.dates.findIndex((dto) => dto.uuid === dateUuid);
200204

201205
if (index !== -1) {

0 commit comments

Comments
 (0)