diff --git a/packages/main/src/DatePicker.ts b/packages/main/src/DatePicker.ts index 041511d31afa6..5b46e44bfbc90 100644 --- a/packages/main/src/DatePicker.ts +++ b/packages/main/src/DatePicker.ts @@ -77,7 +77,7 @@ import datePickerCss from "./generated/themes/DatePicker.css.js"; import datePickerPopoverCss from "./generated/themes/DatePickerPopover.css.js"; import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js"; import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js"; -import type { Slot } from "@ui5/webcomponents-base/dist/UI5Element.js"; +import type { Slot, ChangeInfo } from "@ui5/webcomponents-base/dist/UI5Element.js"; type ValueStateAnnouncement = Record, string>; @@ -485,6 +485,12 @@ class DatePicker extends DateComponentBase implements IFormInputElement { this._calendarCurrentPicker = this.firstPicker; } + onInvalidation(changeInfo: ChangeInfo) { + if (changeInfo.type === "property" && changeInfo.name === "disabled" && this._dateTimeInput) { + this._dateTimeInput.disabled = !!changeInfo.newValue; + } + } + onBeforeRendering() { ["minDate", "maxDate"].forEach((prop: string) => { const propValue = this[prop as keyof DatePicker] as string;