From be7ac3c8eccb15f0b8179ef5ca2b3f43684e18fa Mon Sep 17 00:00:00 2001 From: Simon Cannuyer Date: Mon, 14 Apr 2025 15:37:48 +0200 Subject: [PATCH 1/3] fix: code is working --- src/datepicker/bs-datepicker-inline.component.ts | 14 ++++++++------ src/datepicker/bs-datepicker.component.ts | 8 +++++--- .../bs-daterangepicker-inline.component.ts | 2 +- src/datepicker/bs-daterangepicker.component.ts | 2 +- src/datepicker/testing/bs-datepicker-utils.spec.ts | 2 +- src/datepicker/utils/copy-time-utils.ts | 2 +- 6 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/datepicker/bs-datepicker-inline.component.ts b/src/datepicker/bs-datepicker-inline.component.ts index dc41e915c2..9ceb7acd5a 100644 --- a/src/datepicker/bs-datepicker-inline.component.ts +++ b/src/datepicker/bs-datepicker-inline.component.ts @@ -98,14 +98,16 @@ export class BsDatepickerInlineDirective implements OnInit, OnDestroy, OnChanges return; } - if (!this._bsValue && value && !this._config.withTimepicker) { - const now = new Date(); - copyTime(value, now); - } + if (!this._bsValue && value && !this._config.withTimepicker) { + if (this._config.initCurrentTime) { + const now = new Date(); + copyTime(value, now); + } + } - if (value && this.bsConfig?.initCurrentTime) { + if (value && this._config?.initCurrentTime) { value = setCurrentTimeOnDateSelect(value); - } + } this._bsValue = value; this.bsValueChange.emit(value); diff --git a/src/datepicker/bs-datepicker.component.ts b/src/datepicker/bs-datepicker.component.ts index 4c521972f8..6439d394b3 100644 --- a/src/datepicker/bs-datepicker.component.ts +++ b/src/datepicker/bs-datepicker.component.ts @@ -155,11 +155,13 @@ export class BsDatepickerDirective implements OnInit, OnDestroy, OnChanges, Afte } if (!this._bsValue && value && !this._config.withTimepicker) { - const now = new Date(); - copyTime(value, now); + if (this._config.initCurrentTime) { + const now = new Date(); + copyTime(value, now); + } } - if (value && this.bsConfig?.initCurrentTime) { + if (value && this._config?.initCurrentTime) { value = setCurrentTimeOnDateSelect(value); } diff --git a/src/datepicker/bs-daterangepicker-inline.component.ts b/src/datepicker/bs-daterangepicker-inline.component.ts index 0d1e0fd341..46b832d3c0 100644 --- a/src/datepicker/bs-daterangepicker-inline.component.ts +++ b/src/datepicker/bs-daterangepicker-inline.component.ts @@ -37,7 +37,7 @@ export class BsDaterangepickerInlineDirective implements OnInit, OnDestroy, OnCh return; } - if (value && this.bsConfig?.initCurrentTime) { + if (value && this._config?.initCurrentTime) { value = setDateRangesCurrentTimeOnDateSelect(value); } diff --git a/src/datepicker/bs-daterangepicker.component.ts b/src/datepicker/bs-daterangepicker.component.ts index fa7bac9dbf..ced127f9a6 100644 --- a/src/datepicker/bs-daterangepicker.component.ts +++ b/src/datepicker/bs-daterangepicker.component.ts @@ -85,7 +85,7 @@ export class BsDaterangepickerDirective return; } - if (value && this.bsConfig?.initCurrentTime) { + if (value && this._config?.initCurrentTime) { value = setDateRangesCurrentTimeOnDateSelect(value); } this.initPreviousValue(); diff --git a/src/datepicker/testing/bs-datepicker-utils.spec.ts b/src/datepicker/testing/bs-datepicker-utils.spec.ts index 5541bb082c..85411986f0 100644 --- a/src/datepicker/testing/bs-datepicker-utils.spec.ts +++ b/src/datepicker/testing/bs-datepicker-utils.spec.ts @@ -51,7 +51,7 @@ describe('daterangepicker:', () => { expect(JSON.stringify(valuesResult)).toEqual(JSON.stringify(values)); }); - xit('should update time part of source date', () => { + it('should update time part of source date', () => { const date = new Date(2019, 1, 1, 12, 30, 59, 999); copyTime(date, new Date(2020, 1, 1, 0, 0, 0, 0)); expect(date.getFullYear()).toEqual(2019); diff --git a/src/datepicker/utils/copy-time-utils.ts b/src/datepicker/utils/copy-time-utils.ts index b809ec76dc..149705f3b9 100644 --- a/src/datepicker/utils/copy-time-utils.ts +++ b/src/datepicker/utils/copy-time-utils.ts @@ -1,5 +1,5 @@ export function copyTime(sourceDate: Date, time: Date) { - if (!sourceDate || !isNaN(sourceDate.getTime())) { + if (!sourceDate || isNaN(sourceDate.getTime())) { return; } From ff3e45a4cef4c7abd91ba5d1d3bb1439e96d6718 Mon Sep 17 00:00:00 2001 From: Simon Cannuyer Date: Mon, 14 Apr 2025 15:47:18 +0200 Subject: [PATCH 2/3] rollback --- src/datepicker/utils/copy-time-utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/datepicker/utils/copy-time-utils.ts b/src/datepicker/utils/copy-time-utils.ts index 149705f3b9..b809ec76dc 100644 --- a/src/datepicker/utils/copy-time-utils.ts +++ b/src/datepicker/utils/copy-time-utils.ts @@ -1,5 +1,5 @@ export function copyTime(sourceDate: Date, time: Date) { - if (!sourceDate || isNaN(sourceDate.getTime())) { + if (!sourceDate || !isNaN(sourceDate.getTime())) { return; } From ef33f0629cef048c6ff9dafda9f4d3b543b3fc18 Mon Sep 17 00:00:00 2001 From: Simon Cannuyer Date: Mon, 14 Apr 2025 15:48:29 +0200 Subject: [PATCH 3/3] rollback --- src/datepicker/testing/bs-datepicker-utils.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/datepicker/testing/bs-datepicker-utils.spec.ts b/src/datepicker/testing/bs-datepicker-utils.spec.ts index 85411986f0..5541bb082c 100644 --- a/src/datepicker/testing/bs-datepicker-utils.spec.ts +++ b/src/datepicker/testing/bs-datepicker-utils.spec.ts @@ -51,7 +51,7 @@ describe('daterangepicker:', () => { expect(JSON.stringify(valuesResult)).toEqual(JSON.stringify(values)); }); - it('should update time part of source date', () => { + xit('should update time part of source date', () => { const date = new Date(2019, 1, 1, 12, 30, 59, 999); copyTime(date, new Date(2020, 1, 1, 0, 0, 0, 0)); expect(date.getFullYear()).toEqual(2019);