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

Nail Tables (resizability, infinite scrolling, performance, expandability, and more) #5361

Closed
12 tasks
alexkim205 opened this issue Jul 28, 2021 · 7 comments
Closed
12 tasks
Labels
bug Something isn't working right

Comments

@alexkim205
Copy link
Contributor

alexkim205 commented Jul 28, 2021

Bug description

We've modded antd tables and introduced a lot of (past and present) bugs in the process, including (but not limited to):

We use a custom component built on top of antd's table which makes it hard to maintain new features and debug existing bugs. This issue proposes we move away from our dependence on antd functionality and implement tables that are extensible and future proof.

Today's features

  • Expandable rows with custom components
  • Resizable columns
  • Export data as csv
  • Column visibility toggle options
  • column sort
  • full width rows

Screen Shot 2021-07-30 at 10 00 41 AM

Tomorrow's features

  • Everything above
  • Infinite list scroll
  • Performance improvements onResize (for looonnnng lists like our events table)

Possible Solutions

  • react-table - CodeSandbox doesn't handle many rows well either.
  • react-virtualized - CodeSandbox is promising.
  • react-window - smaller lightweight version of react-virtualized
  • react-table + react-window - highly extensible way to use hooks and custom ui components to bring expandable, virtualization, resizable features to existing table

react-table is headless utility library so it's pretty cool that you can pick and choose features you want to include. One feature I've been having a hard time playing nicely is expandability. Still trying to figure out a way to make rows expandable without breaking resizability and virtualization.

@alexkim205 alexkim205 added the bug Something isn't working right label Jul 28, 2021
@alexkim205 alexkim205 self-assigned this Jul 28, 2021
@clarkus
Copy link
Contributor

clarkus commented Jul 28, 2021

Just a quick +1 on this issue. Let me know how I can support. How did you determine the must have features?

@paolodamico
Copy link
Contributor

It'd be helpful if you can share specific instances of bugs that have caused pain here to understand how important is this to prioritize soon

@alexkim205
Copy link
Contributor Author

Thanks for the quick responses. The must have features are features that we have already + improvements we want to make, but please let me know if there's a feature I've missed! I've updated the ticket above with more details

@clarkus
Copy link
Contributor

clarkus commented Jul 30, 2021

I think those features makes sense, but I think we should track the problems they're solving, as well. Infinite scrolling can be a great solution in some scenarios, but in others it can actually make more problems than it solves. I just want to be sure we're measuring these changes against the problems we're aiming to solve.

@paolodamico
Copy link
Contributor

This is great and indeed looks quite needed! As this supports satellite features for now, I'd advocate for working on this after @mariusandra is back. I'm sure he'll have some pretty useful insights on this too, but feel free to push back if you think this is more urgent.

@paolodamico
Copy link
Contributor

@Twixes what's the status here? Should we keep this issue around?

@Twixes
Copy link
Collaborator

Twixes commented Nov 26, 2021

Doesn't seem really relevant anymore, so I'll close.

@Twixes Twixes closed this as completed Nov 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working right
Projects
None yet
Development

No branches or pull requests

4 participants