-
Notifications
You must be signed in to change notification settings - Fork 420
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
Fix: Datepicker: Unable to enter date manually #3036
base: master
Are you sure you want to change the base?
Conversation
Thanks for opening this pull request! 💯 This is a community-driven project, and we can't do it without your participation. Please check out our contributing guidelines and review the Contributor Checklist if you haven't already, to make sure everything is squared away. CircleCI will take about 10 minutes to run through the same items that are on the Contributor checklist with a pass/fail check below. Please fix any issues that cause CircleCI to fail or ask for clarification--we try, but sometimes the errors can be unclear. |
Thanks for the contribution! Before we can merge this, we need @chuyler to sign the Salesforce.com Contributor License Agreement. |
Hi, I'm back from the dead! This patterns appears to stop the Datepicker from being controlled by the state of the parent component and moves state into the Datepicker. I could be missing something in the above statement, but components should be controlled components instead of uncontrolled per the project overview. https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#use-controlled-components |
I'm not sure I follow your comment. Please go to current demo page for Date Picker. Let's say you don't want to use the widget to navigate to a date but instead you know the exact date and format you would like to type in. Click on the input box and start typing. You will find that the second you enter a number the picker widget closes and the box auto-completes to a date you didn't intend to enter. If you have a better solution that would allow users to enter the date using the keyboard manually I would gladly review it. |
@interactivellama Could you provide an update on this? I'd really like to get this merged. If you have a better solution I'm all ears. |
@interactivellama |
Someone please review this change so we can merge it. |
@chuyler I'll take another look. I'm hesitant to change the existing interaction pattern, but I do empathize with the need to support dates not fully written out. |
The exsiting interaction pattern does not work. You cannot type dates in, you cannot copy/paste dates from another field. This behavior works fine on standard Salesforce pages but fails with any page developed with this library. |
Fixes #2956
Additional description
Previously, the DatePicker would try to format the value in the input box after every keystroke, preventing the user from actually typing out a date or changing an existing date by pressing the delete key in front of a character and replacing it with a new character. Additionally, passing in a new date value to the component did not update the value displayed in the input box.
This fix includes changes for:
CONTRIBUTOR checklist (do not remove)
Please complete for every pull request
npm run lint:fix
has been run and linting passes.components/component-docs.json
CI tests pass (npm test
).REVIEWER checklist (do not remove)
components/component-docs.json
tests.Required only if there are markup / UX changes
last-slds-markup-review
inpackage.json
and push.last-accessibility-review
, topackage.json
and push.npm run local-update
within locally cloned site repo to confirm the site will function correctly at the next release.