Unplanned
Last Updated: 03 Jul 2021 08:08 by ADMIN

On the DateTimePicker, when the "Set" button is clicked, the focus is given to the DateTimePicker field, so when the user clicked outside the component, the OnChange event is fired.

But the behaviour of the TimePicker is different. Indeed, after clicking on the "Set" button the TimePicker field does not get the focus, so the user can't click outside of it to fire the OnChange event.

The following code allows to manually set the focus on each ValueChanged event, but because of it the two-way binding can't be used. This code allows the TimePicker to have the same behaviour than the DateTimePicker :


<TelerikTimePicker @ref="@timepicker" Value="MyDate" OnChange="MyDateChanged"
    ValueChanged="@((DateTime d) => { MyDate = d; timepicker.FocusAsync(); })"></TelerikTimePicker>

@code {
    private DateTime MyDate { get; set; }
    private TelerikTimePicker<DateTime> timepicker;

    public void MyDateChanged(object theUserInput)
    {
        Console.WriteLine("Event OnChange fired");
    }
}

---

ADMIN EDIT

Reproducible

1. Go to the TimePicker demo https://demos.telerik.com/blazor-ui/timepicker/overview
2. open the popup
3. set a time with the Set button

**Note**: same goes for the Cancel button

### Current

focus goes somewhere (maybe on the body)

### Expected

focus goes to the input of the time picker

---

Unplanned
Last Updated: 20 May 2021 11:24 by ADMIN

The "SET" button is not visible when we open it and we are on the middle of the page: the button appears outside of the bottom of the page. So I have to close it, put the field to the top of the page, then open it again.

---

ADMIN EDIT

Some workaround, especially if most of your user base is on the same small form factor, is to use a bit of CSS to change the position of the dropdown to stick to the top of the viewport - this could potentially make it fit into screens as small as about 350x400px.

CSS

    /*you can tweak the media query to target only the resolutions you want*/
    @media(max-width: 500px) {
        .top-aligned {
            position: fixed;
            top: 0;
            left: 50%;
            transform: translate(-50%, 0%);
            /* you can also try translate(-50%, 50%) for a centered effect which may be better suited for laptop/tablet size */
        }
    }

Component

Selected time: @selectedTime
<br />

<TelerikDateTimePicker Min="@Min" Max="@Max" @bind-Value="@selectedTime"
                       Format="dd MMM yyyy HH:mm:ss" Width="250px"
                       PopupClass="top-aligned">
</TelerikDateTimePicker>

@code {

    private DateTime? selectedTime = DateTime.Now;
    public DateTime Min = new DateTime(1990, 1, 1, 8, 15, 0);
    public DateTime Max = new DateTime(2025, 1, 1, 19, 30, 45);
}

 

---

Declined
Last Updated: 16 Feb 2021 07:59 by ADMIN
Created by: Philip
Comments: 3
Category: TimePicker
Type: Bug Report
0

When setting time from AM/PM vice-versa (after setting hour and minute), the time is reset.

 

Observed in the demo also;

https://demos.telerik.com/blazor-ui/timepicker/overview

 

This means that the user needs to set AM/PM first, which doesn't follow, as the AM/PM is the right-most UI element.

---

ADMIN EDIT

This is a configuration setup, and not a bug - see the discussion below on the Min and Max features.

---

Unplanned
Last Updated: 05 Feb 2021 14:14 by ADMIN

When you type the time in the time picker, it changes the date to the current date, while it should change only the time portion.

---

ADMIN EDIT

A workaround is to use the original year, month and date portions of the view-model field and capture the time portion from the ValueChanged event:

@selectedTime?.ToString("F")

<TelerikTimePicker Min="@Min" Max="@Max" Format="hh:mm:ss tt" 
                   Value="@selectedTime" ValueChanged="@( (DateTime? v) => ValueChangedHandler(v) )">
</TelerikTimePicker>

@code {
    public DateTime Min = new DateTime(1900, 1, 1, 10, 0, 0);
    public DateTime Max = new DateTime(1900, 1, 1, 20, 0, 0);
    public DateTime? selectedTime { get; set; } = new DateTime(1900, 1, 1, 12, 0, 0);

    void ValueChangedHandler(DateTime? updatedTime)
    {
        selectedTime = new DateTime(
                selectedTime.Value.Year,
                selectedTime.Value.Month,
                selectedTime.Value.Day,
                updatedTime.Value.Hour,
                updatedTime.Value.Minute,
                updatedTime.Value.Second
            );
    }
}

---

Unplanned
Last Updated: 01 Feb 2021 08:40 by ADMIN
Created by: David
Comments: 0
Category: TimePicker
Type: Feature Request
1
It might not always be obvious for desktop users that they can drag the spinners to set the desired value and having up/down buttons above/below the spinner might help them.
Duplicated
Last Updated: 25 Oct 2020 16:05 by ADMIN
Created by: Mark
Comments: 1
Category: TimePicker
Type: Feature Request
0
The TimePicker is too precise for 99% of the events that are scheduled.  Our users are requesting that we find a way to make the spinner less precise, say 5 minute increments.  If they need an exact minute they will just type in the value and not use the picker.  As of now they are saying that they will not use the spinner as it they can easily pick the wrong time.
Unplanned
Last Updated: 07 Oct 2020 07:36 by ADMIN
Created by: Zachary
Comments: 1
Category: TimePicker
Type: Bug Report
11

The TimePicker scroll wheels are janky and difficult to use on mobile.  They tend to jump around while scrolling with touch input.

Is this on the roadmap for improvement?  We are working on a project and need to decide whether to roll our own TimePicker in the meantime.

(Note: this is an issue on both client/server side, but I am forced to choose one.)