salesforce / design-system-react

Salesforce Lightning Design System for React
https://design-system-react-site.herokuapp.com/
BSD 3-Clause "New" or "Revised" License
914 stars 416 forks source link

Add Tree Grid component #1836

Open kwilloughby-sf opened 5 years ago

kwilloughby-sf commented 5 years ago

Add Tree Grid (https://www.lightningdesignsystem.com/components/tree-grid/).

tanhengyeow commented 5 years ago

@kwilloughby I would be happy to work on this! I have some understanding about the Tree component after working on #1824 😄

kwilloughby-sf commented 5 years ago

Thanks, @tanhengyeow. Please follow the contributing guidelines. Also, I've updated the link I initially posted.

interactivellama commented 5 years ago

Feel free to explore this do a props proposal. This is a large, complicated component and will have features/API from DataTable (such as columns and custom render cells) and from tree (such as nested, normalized data via a getNodes callback)--thankfully those concepts have a precedent in this library, but haven't been tried together yet.

@garygong is working on adding keyboard navigation to DataTable right now, so that logic should be able to be used and brought in once that task is done. #1233

interactivellama commented 5 years ago

Additional Resources

interactivellama commented 5 years ago

The keyboard spec for TreeGrid is undetermined at this time. The follow is background.

Comments from the Accessibility Team

How do you toggle a row?

Open Questions (4/24/2019)

ARIA spec says

Salesforce specific features

What happens if we make treeGrid to be more like dataGrid?

logoscreative commented 5 years ago

Huge +1 to this work—it would be immediately valuable to my teams and me, personally. I'm happy to answer any questions to help!

kwilloughby-sf commented 5 years ago

@interactivellama, this issue has been marked as "stale". Just an FYI.

stale[bot] commented 4 years ago

This issue has been automatically marked as stale, because it has not had recent activity. It will be closed if no further activity occurs. Maintainers are responsible for tech debt and project health. This is most likely a new components or component feature request. Please submit a pull request for or request feedback on this feature. Thank you.