From a9f15e348fc9bf16c26057eede924a0b76257272 Mon Sep 17 00:00:00 2001 From: "[ProSeS] Sebastian Strittmatter" Date: Thu, 11 Jul 2024 09:05:45 +0200 Subject: [PATCH] Fix: DefaultTime input is ignored and not working Set default time in date via date adapter if initial date is not set. Otherwise the time from initial date will be used. --- .../datetime-picker/src/lib/datepicker-base.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/projects/datetime-picker/src/lib/datepicker-base.ts b/projects/datetime-picker/src/lib/datepicker-base.ts index 01bb7cf8..958bec79 100644 --- a/projects/datetime-picker/src/lib/datepicker-base.ts +++ b/projects/datetime-picker/src/lib/datepicker-base.ts @@ -243,6 +243,16 @@ export class NgxMatDatepickerContent> // pressing escape), whereas when selecting a single value it means that the value didn't // change. This isn't very intuitive, but it's here for backwards-compatibility. if (isRange && this._rangeSelectionStrategy) { + // Set default time if there is no date set and defined + if (this.datepicker._defaultTime && 3 == this.datepicker._defaultTime.length ) + { + const sel = selection as NgxDateRange; + if (null == sel.start || (sel.start && sel.end)) { + this._dateAdapter.setTimeByDefaultValues(value, this.datepicker._defaultTime); + } + } + + const newSelection = this._rangeSelectionStrategy.selectionFinished( value, selection as unknown as NgxDateRange, @@ -257,6 +267,11 @@ export class NgxMatDatepickerContent> if (value && (isRange || !isSame) ) { + // There ist no date set until now, so set default time if defined + if (null == this._model.selection && this.datepicker._defaultTime && 3 == this.datepicker._defaultTime.length ) { + this._dateAdapter.setTimeByDefaultValues(value, this.datepicker._defaultTime); + } + this._model.add(value); } }