Skip to content

Commit 18e96e5

Browse files
committed
Address review comment
1 parent 1b56bcd commit 18e96e5

File tree

2 files changed

+11
-23
lines changed

2 files changed

+11
-23
lines changed

src/datepicker-input/datepicker-input.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ import { Component, Input, Output, EventEmitter } from "@angular/core";
3838
data-date-picker-input
3939
[attr.data-input] = "type == 'single' || type == 'range' ? '' : null"
4040
[id]= "id"
41-
(change) = "valueChange.emit(dateInput.value)"/>
4241
[attr.disabled]="(disabled ? '' : null)"
43-
[attr.data-invalid]="(invalid ? '' : null)"/>
42+
[attr.data-invalid]="(invalid ? '' : null)"
43+
(change) = "valueChange.emit(dateInput.value)"/>
4444
<div *ngIf="invalid" class="bx--form-requirement">
4545
{{invalidText}}
4646
</div>

src/datepicker/datepicker.component.ts

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ import rangePlugin from "flatpickr/dist/plugins/rangePlugin";
4141
[invalid]="invalid"
4242
[invalidText]="invalidText"
4343
[skeleton]="skeleton"
44-
(valueChange)="onInputValueChange($event)">
44+
(valueChange)="onInputValueChange($event, 0)">
4545
</ibm-date-picker-input>
4646
</div>
4747
@@ -57,7 +57,7 @@ import rangePlugin from "flatpickr/dist/plugins/rangePlugin";
5757
[invalid]="invalid"
5858
[invalidText]="invalidText"
5959
[skeleton]="skeleton"
60-
(valueChange)="onInputValueRangeChange($event)">
60+
(valueChange)="onInputValueChange($event, 1)">
6161
</ibm-date-picker-input>
6262
</div>
6363
</div>
@@ -91,7 +91,7 @@ export class DatePicker implements OnDestroy {
9191

9292
@Input() id = `datepicker-${DatePicker.datePickerCount++}`;
9393

94-
@Input() value: Array<any>;
94+
@Input() value: Array<any> = [];
9595

9696
@Input() theme: "light" | "dark" = "dark";
9797

@@ -175,30 +175,18 @@ export class DatePicker implements OnDestroy {
175175
});
176176
}
177177

178-
onInputValueChange(event: string): void {
178+
onInputValueChange(event: string, index: number): void {
179179
const eventDate = flatpickr.parseDate(event, this.dateFormat, true);
180-
const previousDate = flatpickr.parseDate(this.value[0], this.dateFormat, true);
180+
const previousDate = flatpickr.parseDate(this.value[index], this.dateFormat, true);
181181
if (eventDate) {
182182
if (!previousDate || previousDate.getTime() !== eventDate.getTime()) {
183-
this.value = [eventDate, this.value[1]];
183+
this.value = [...this.value];
184+
this.value[index] = eventDate;
184185
}
185186
} else {
186187
if (previousDate || event) {
187-
this.value = [undefined, this.value[1]];
188-
}
189-
}
190-
}
191-
192-
onInputValueRangeChange(event: string): void {
193-
const eventDate = flatpickr.parseDate(event, this.dateFormat, true);
194-
const previousDate = flatpickr.parseDate(this.value[1], this.dateFormat, true);
195-
if (eventDate) {
196-
if (!previousDate || previousDate.getTime() !== eventDate.getTime()) {
197-
this.value = [this.value[0], eventDate];
198-
}
199-
} else {
200-
if (previousDate || event) {
201-
this.value = [this.value[0], undefined];
188+
this.value = [...this.value];
189+
this.value[index] = undefined;
202190
}
203191
}
204192
}

0 commit comments

Comments
 (0)