telerik / kendo-react

Issue tracker - KendoReact http://www.telerik.com/kendo-react-ui/
https://kendo-react-teal.vercel.app
Other
212 stars 37 forks source link

DateRangePicker does not work correctly #135

Closed cheesefinger closed 4 years ago

cheesefinger commented 5 years ago

I'm submitting a...

Current behavior

DateRangePicker keyboard/mouse does not work correctly

daterangepicker bug

Expected behavior

Consistent behavior with keyboard/mouse

Minimal reproduction of the problem with instructions

see attachment

What is the motivation or use case for changing the behavior?

component is not functional... how did this make it out of testing?

Environment

https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/

Browser:

System: component demo

simonssspirit commented 5 years ago

@cheesefinger Thank you for the report.

Could you please clarify which is the exact key combination that produces unexpected results?

We do test all of the components before release, but there is maybe a case that was missed and we will be happy to fix it.

cheesefinger commented 5 years ago

@cheesefinger Thank you for the report.

Could you please clarify which is the exact key combination that produces unexpected results?

We do test all of the components before release, but there is maybe a case that was missed and we will be happy to fix it.

I attached a gif that visually depicts the bug and the keys as they're typed.

Tab 01012019 Tab 01012020 - correct results are shown Remove focus from component Tab 01012019 Tab 01012020 - incorrect results are shown Remove focus from component Click month - year is incorrectly highlighted Click month again - month is properly selected 01012019 Tab 01012020 - incorrect results are shown Remove focus from component Tab 01012019 Tab 01012020 - incorrect results are shown

All of the date pickers exhibit this broken behavior

Xizario commented 5 years ago

I would use this report to suggest we should remove automatic switching of the segments, what you think @telerik/kendo-react-team ? For example in the above case when typing '01' over '1' would result in '101' which would be trimmed to '01' thus correct result. It will not fix the above case, since 01012019 is not valid date anyway. But at-least typing 01/01/2019 01 01 2019, 1/1/2019 and so on will work predictable and correct.

kspeyanski commented 5 years ago

I'd say the unexpected behavior is within the DateInput itself. We shoud probably revisit it and the fix will come out-of-the box for all Picker components.

cheesefinger commented 5 years ago

It's pretty silly to suggest the input is invalid when the component supports automatic switching and works properly the first time.

Equally ridiculous to suggest removing the feature instead of acknowledging and fixing.

Xizario commented 5 years ago

@cheesefinger It is not bug in the feature, the feature itself is by design leading to the problem. This is the reason I suggest it should be removed.

The real question is: 1) When you have already 01/01/2019 in the input, and you focus the first part. 2) And you type 0, what should happen? 3) Currently what happens is: 10/01/2019 which is correct. 4) The incorrect (lets call this 'bad feature') is that the focus moves to the next part. So when you type the 1 it changes the second part instead of the first one.

If you think it can be solved/fixed, without removing the auto-part-switching, please give some ideas. We will be glad to consider them.

The difference between the first and the second time is that in the first time the part is empty, and in the second time it is already populated. It would still work if you clear the part using backspace and then type it. But I don't think if we do this automatically it will 'solve' the 'bug' since it will introduce new bug: You will not be able to type 10/01/2010 after you have typed 01/01/2010

I still think the auto-switching cause more pain that it solves problems.

cheesefinger commented 5 years ago

Closed without resolution?

This "feature" that's "not a bug" regularly confuses users and results in erroneous input.

bergenhem commented 5 years ago

Sorry about closing this issue without a resolution! This was an accident on our part and a bit of a mix of human and machine error. As you noticed we re-opened the issue and will update the thread when a fix has been rolled out in an updated version of the component that can be tested.

kspeyanski commented 4 years ago

Closing this one in favour of: https://github.com/telerik/kendo-react/issues/705