Skip to content

Commit e662797

Browse files
date-range selectedRange highlighted date fix (#1141)
* daterange-component selectedrange highlighted date fix * changelog added * fix clicking on cancel is converting the selected preset values to timestamps * fix lint issue * fix test --------- Co-authored-by: Alok Sahu <[email protected]>
1 parent a496ac6 commit e662797

File tree

3 files changed

+23
-7
lines changed

3 files changed

+23
-7
lines changed

projects/swimlane/ngx-ui/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## HEAD (unreleased)
44

5+
- Fix (`ngx-date-range-picker`): Preset values now retain their relative expressions when cancel is clicked, instead of being converted to timestamps
6+
- Fix (`ngx-date-range-picker`): Fix highlight the date for given `selectedRange` values.
7+
58
## 50.1.3 (2025-09-23)
69

710
- Fix (`ngx-multi-dimension-selection`): Show children of items matching search term

projects/swimlane/ngx-ui/src/lib/components/date-range-calendar/date-range-picker.component.spec.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,12 @@ describe('DateRangePickerComponent', () => {
139139
it('should reset to last confirmed range onCancel when present', () => {
140140
const confirmedStart = new Date('2023-01-01');
141141
const confirmedEnd = new Date('2023-01-10');
142-
component.lastConfirmedRange = { startDate: confirmedStart, endDate: confirmedEnd };
142+
component.lastConfirmedRange = {
143+
startDate: confirmedStart,
144+
endDate: confirmedEnd,
145+
startRaw: '2023-01-01',
146+
endRaw: '2023-01-10'
147+
};
143148
spyOn(component.cancel, 'emit');
144149
component.onCancel();
145150
expect(component.form.startDate).toEqual(confirmedStart);

projects/swimlane/ngx-ui/src/lib/components/date-range-calendar/date-range-picker.component.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export class DateRangePickerComponent implements OnInit, OnChanges {
8080
@ViewChild('wrapperRef', { static: false }) wrapperRef!: DropdownComponent;
8181

8282
private readonly dateFormat: string = 'yyyy-MM-dd HH:mm:ss';
83-
lastConfirmedRange: { startDate: Date; endDate: Date } = null;
83+
lastConfirmedRange: { startDate: Date; endDate: Date; startRaw: string; endRaw: string } = null;
8484

8585
form: DateRangeForm = { startRaw: '', endRaw: '', startDate: null, endDate: null };
8686

@@ -154,12 +154,15 @@ export class DateRangePickerComponent implements OnInit, OnChanges {
154154
: this.selectedRange.end;
155155
this.lastConfirmedRange = {
156156
startDate,
157-
endDate
157+
endDate,
158+
startRaw: this.selectedRange.start,
159+
endRaw: this.selectedRange.end
158160
};
159161
this.form.startRaw = this.selectedRange.start;
160162
this.form.endRaw = this.selectedRange.end;
161163
this.form.startDate = startDate;
162164
this.form.endDate = endDate;
165+
this.rangeModel = { startDate, endDate };
163166
this.setTooltipDate(startDate, endDate);
164167
}
165168
}
@@ -284,7 +287,9 @@ export class DateRangePickerComponent implements OnInit, OnChanges {
284287
if (this.form.startDate && this.form.endDate) {
285288
this.lastConfirmedRange = {
286289
startDate: this.form.startDate,
287-
endDate: this.form.endDate
290+
endDate: this.form.endDate,
291+
startRaw: this.form.startRaw,
292+
endRaw: this.form.endRaw
288293
};
289294
this.updateSelectedLabel();
290295
this.apply.emit({
@@ -304,10 +309,13 @@ export class DateRangePickerComponent implements OnInit, OnChanges {
304309
this.form = {
305310
startDate: this.lastConfirmedRange.startDate,
306311
endDate: this.lastConfirmedRange.endDate,
307-
startRaw: format(this.lastConfirmedRange.startDate, this.dateFormat),
308-
endRaw: format(this.lastConfirmedRange.endDate, this.dateFormat)
312+
startRaw: this.lastConfirmedRange.startRaw,
313+
endRaw: this.lastConfirmedRange.endRaw
314+
};
315+
this.rangeModel = {
316+
startDate: this.lastConfirmedRange.startDate,
317+
endDate: this.lastConfirmedRange.endDate
309318
};
310-
this.rangeModel = { ...this.lastConfirmedRange };
311319
} else {
312320
// First-time cancel before any apply: reset form
313321
this.form = {

0 commit comments

Comments
 (0)