Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DatePicker] Port component #4787

Closed
7 tasks
nathanmarks opened this issue Jul 21, 2016 · 51 comments
Closed
7 tasks

[DatePicker] Port component #4787

nathanmarks opened this issue Jul 21, 2016 · 51 comments
Labels
component: date picker This is the name of the generic UI component, not the React module!

Comments

@nathanmarks
Copy link
Member

nathanmarks commented Jul 21, 2016

@nathanmarks nathanmarks added this to the 0.16.0 Release milestone Jul 21, 2016
@nathanmarks nathanmarks self-assigned this Oct 2, 2016
@oliviertassinari oliviertassinari added the component: date picker This is the name of the generic UI component, not the React module! label Oct 19, 2016
@oliviertassinari oliviertassinari removed this from the v1.0.0-prerelease milestone Jul 9, 2017
@sairamdevarashetty
Copy link

@oliviertassinari I would like to know any plans on implementing this component in the new version .I would like to help .Please let me know .Thanks

@oliviertassinari
Copy link
Member

oliviertassinari commented Jul 12, 2017

The best way to start a migration of a component is to look at the opened issues. That gives a better understanding of the limitations the current implementation has. I have removed the DatePicker and TimePicker from the v1 release milestone so we can make it happen sooner. Still, your help is welcomed.

Some thoughs one the component:

  • It's very challenging as if we are providing a poor UX, people would be better of relying on the native pickers of the platform
  • Date manipulation can be complexe. Let's see if we can take advantage of another lib.
  • Desktop UX is poor, we need to rethink it.
  • It's missing composition power. We need to expose lower-level APIs

@GabeDuarteM
Copy link
Contributor

Just leaving my opinion regarding the importance of the datepicker (and timepicker), i think there are 3 major components that define if your're dealing with a good ui framework or not, and they are: Autocomplete, Datatables and Datepickers.

I've tried lots of different frameworks, and those three components are the ones that gives me most headaches, mostly because of their poor implementation and internationalization options, async capacities and pagination, to name a few of the problems.

So, to keep things short: I rather prefer that the these three components arrive in their full state, but keep i'm mind too that, at least in my opinion, there will be a lot of people that will not choose a ui framework that lacks some of those components.

Anyway, MUI v1 looks very promising, i'm looking forward to try it when its fully released!

@oliviertassinari
Copy link
Member

oliviertassinari commented Jul 23, 2017

I rather prefer that the these three components arrive in their full state

@GabrielDuarteM I agree, the DatePicker and TimePicker implementation need to be as good as the native one in order to compete. Otherwise, it's pointless. Right now, I would not use the v0.x pickers on a production ready app. I would rather use the pickers of the platform.
We will most likely release v1.0.0 without those components, I don't think that they are crucial, native pickers have improved a lot over the years.

Regarding the Autocomplete, you can find an example here.

@skirunman
Copy link
Contributor

We make extensive use of MUI timepicker and datepicker in our production app today so unfortunately won't be able to migrate to v1.0.0 without a Material Design based solution. Using native time/date pickers is not a good solution and I disagree that they are not "crucial" to having a good and complete Material Design React component UI package.

@mauriciojovel
Copy link

I agree with @skirunman, the DatePicker and TimePicker are very important in the production apps, also the native implementation in the most browser are very limitated, for example in chrome for android you can't choose the month and the year and I think that part is crucial when the user want choose for example the birthday.

@skirunman
Copy link
Contributor

Let me add more details on my opinions:

It's very challenging as if we are providing a poor UX, people would be better of relying on the native pickers of the platform

Disagree strongly. Native pickers are generally limited in capabilities and certainly don't fit in with Material Design.

Date manipulation can be complexe. Let's see if we can take advantage of another lib.

I think punting on implementing a Material Design based time and date picker will leave quite a few current users out in the cold. Using another library for what is currently, and really should be, a core component of MUI, weakens the overall appeal of MUI.

Desktop UX is poor, we need to rethink it.

Not sure why you say this as long as it follows Material Design Guidelines.

It's missing composition power. We need to expose lower-level APIs

This is a nice to have, but not a requirement for v1.0.0 IMO.

@oliviertassinari
Copy link
Member

@skirunman We agree, we need that component. What is at stake here is regarding the timing priority. We think that there is more value to get from releasing v1 first and implementation the DatePicker/TimePicker later. (people can always use the master version).
It also comes down from the need of the core contributors. For instance, I might never work on it as it's not something I need.

That's without to say that if a contributor has a ✨ implementation of the component, we will definitely review it and merge once we are all happy with it :).

@techniq
Copy link

techniq commented Jul 31, 2017

I've only recently begun looking at react-infinite-calendar, but it might be a worthwhile replacement to the v0 calendar for some. It does work differently by being scrollable between months instead of explicit month stepping, but it has some additional requested features such as range selection (requested via #7574) and looks to be pretty composable (at first blush)

@dmtrKovalenko
Copy link
Member

@taoxueweilong Please write an issue here. Here is not better place to give an advices :)

@chingyawhao
Copy link
Contributor

Hello fellow developers...
I have an implementation of datepicker using Material UI here
https://github.com/chingyawhao/material-ui-next-datepicker

I think I might be available to contribute to Material UI if anyone can guild me how to get started

@github-herve-bourzeix
Copy link

github-herve-bourzeix commented May 2, 2018 via email

@mbrookes
Copy link
Member

mbrookes commented May 2, 2018

@chingyawhao The contributing guide is mostly complete, but new components now go in packages/material-ui-lab. I will defer to @oliviertassinari as to whether this is a suitable candidate.

@chingyawhao
Copy link
Contributor

@mbrookes I ll attempt to make a pull request to material-ui-lab in the weekend

@oliviertassinari
Copy link
Member

@chingyawhao Thanks for sharing the project. I believe the best step, for now, is to document it alongside the alternatives in the documentation.
There is already a lot of work to do in the other area of the library. I do think that the date picker is a complexe component to get right. For instance, have a look at all the isuses of bootstrap-datepicker. From a strategic point of view, I think that the longer we can defer this component to the community, the better. From the download stats, we can estimate that ~13% of the people needs a date picker, a time picker or somethings in between. It might be better to focus on the 87% others.

@chingyawhao
Copy link
Contributor

@oliviertassinari got it...
Can you notify me when you are ready to start developing, maybe I can help?

@stunaz
Copy link
Contributor

stunaz commented May 5, 2018

@chingyawhao what don't you team up with @dmtrKovalenko on https://github.com/dmtrKovalenko/material-ui-pickers, I am sure there are plenty room of improvement

@up-to-you
Copy link

up-to-you commented May 6, 2018

@stunaz I think they have different views on look and feel, however, obviously https://github.com/dmtrKovalenko/material-ui-pickers is much better fits overall design of current material-ui-next, as well as UX point.

@chingyawhao
Copy link
Contributor

chingyawhao commented May 8, 2018

@up-to-you my final objective is to follow material-design's depiction of pickers in text fields in desktop. Those pickers are in popovers instead of dialog.

The project that I was working on requires a more customized component of datepicker which does not limit the user to select date from picker, user can also type in the date in a masked text input.

My project will allow that level of customization, you can import only the calendar component out which is the picker without the input or the containing dialog or popover.

import {Calendar, Clock} from 'material-ui-next-pickers'

And by the way, I released the timepicker too XD

Material Design

@techniq
Copy link

techniq commented May 8, 2018

@chingyawhao is it possible to trigger the popover via an IconButton (ala via an adornment). I have my own masked inputs but would like to be able to popup a date picker on button press.

@chingyawhao
Copy link
Contributor

@techniq yup, certainly...that sounds similar to what I've done in my project
If you need any example, create an issue in my repo

@MyPublicGitHubAcct

This comment has been minimized.

@Raemon
Copy link

Raemon commented Aug 25, 2018

FYI, my current issue is that there isn't a good solution for datetime-local, since Firefox doesn't support it natively. Upon switching to material 1.0 we found that firefox users just couldn't use our datetime fields.

It looks like most of the discussion above is about nice implementation of date or time, but neither of those address the issue of datetime working at all.

@IssueHuntBot
Copy link

@rogerstorm funded this issue with $120. See it on IssueHunt

@jasonkylefrank
Copy link
Contributor

Hello!

Can we get an update on the state of the DataPicker progress?

It's getting difficult to assess this in these long threads.

And it seems that @dmtrKovalenko has been steadily committing to Material-UI-Pickers for a while.

To be specific:

  1. The original issue listed checkbox items and none of them have been checked off. Is that accurate?

    image
    It seems like @dmtrKovalenko has tests, documentation, demos, etc. Maybe he doesn't have everything done, but is it accurate to say that nothing can be checked off at this point?

  2. I'd love to hear from @dmtrKovalenko on this issue. Have you been in discussions with the Material UI team about bringing your material-ui-picker into the fold?

@mbrookes
Copy link
Member

@jasonkylefrank Nothing is ticked off because nothing has been done in the official repository, and, to be fair, is unlikely to be any time soon. (We were only this week discussing closing all the datepicker / timepicker issues in deference to 3rd party solutions.)

@dmtrKovalenko Has done an excellent job, and no reason not to use his components even though they are not "official".

@oliviertassinari
Copy link
Member

We don't plan any work on the DatePicker and TimePicker components.
I think that we should defer it to the community. @dmtrKovalenko has been killing it!
We need to update the documentation to refect this position, so we can close the issue.

@dmtrKovalenko
Copy link
Member

@rogerstorm if issue is resolved by material-ui-pickers can I get my $120 from IssueHunt? 🤣

@mbrookes
Copy link
Member

I know you were half joking, but: cc @rogerstorm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: date picker This is the name of the generic UI component, not the React module!
Projects
None yet
Development

No branches or pull requests