### Bug report
When the TimePicker's type is "modern", the "min" and "max" options cannot be set dynamically through the min(), max(), and setOptions() methods.
### Reproduction of the problem
1. Define the TimePicker with componentType: "modern".
2. Set its "min" and "max" values through the min() and max() options.
3. The "min" and "max" values are not visually updated.
A Dojo sample for reproduction: https://dojo.telerik.com/OXAqUYiw
### Expected/desired behavior
The "min" and "max" values must be dynamically updated when the TimePicker's type is "modern".
### Workaround
let timeView = $("#timepicker").data("kendoTimePicker").timeView;
timeView.options.specifiedRange = true;
timeView.options.min = new Date(2024, 0, 1, 9, 00, 00);
timeView.options.max = new Date(2024, 0, 1, 22, 00, 00);
timeView._updateRanges();
When a Date is already present in the DateTimePicker and the date parts are focused with a mouse click the digits for the year part are cut off.
Reproducable in this Dojo.
Screen recording of the issue.
I noticed that in version 2023.2.606 you introduced some Date Editing enhancements for the DateInput component, like:
but these options aren't available for other DatePickers that implement the DateInput internally:
@(Html.Kendo().DateTimePicker()
.Name("datepicker")
.DateInput()
)
The DateTimePicker's popup calendar view is cut in the Default, Classic, and Fluent themes.
The Date and Time views in the DateTimePicker popup are trimmed.
The Date and Time views in the DateTimePicker popup should not be trimmed.
Currently, the new feature .ComponentType('modern') does NOT respect the .Interval(n) setting for the control.
Demo of ComponentType setting on DateTimePicker control
According to the API Reference the Interval setting, Interval
"Specifies the interval, between values in the popup list, in minutes."
The ComponentType('classic') does respect the Interval setting. Thus, the ComponentType feature should be updated to respect the Interval setting when the "modern" ComponentType is selected. The time interval under modern is always 1 minute (see screenshot).
@(Html.Kendo().DateTimePicker() .Name("SessionEndDateTime") .Interval(15) .ComponentType("modern") .Events(e => { e.Change("onSessionEndChange"); }) .HtmlAttributes(new { style = "width: 100%", title = "Session End Date/Time", @class = "form-control" }) .DateInput() )
Modern should respect the Interval setting for the control.
Hey,
It would be very useful if the TimePicker component would have a feature called something like "AutoFocusTime()". By default, when there is no value inside the TimePicker, the default focused time is "12:00 am", therefore the user has to scroll up all the way to the required time. With the feature above, it would be possible to enter a time which should be focused by default. For example "8:00 am" which is when most businesses start operating.
Now the question is, why not just putting in a default value. Well, in a form with lots of inputs, the user may not know anymore which values he entered and which inputs have a default value set and therefore submitting wrong data. If a input doesn't have a default value this mistake can be caught by setting a [Required] attribute. Threfore, the user has to enter a value and it will be guaranteed that all values where entered by him and it wasn't a default value which has been set.
See ticket id 1412837.