paste icon indicating copy to clipboard operation
paste copied to clipboard

POC - virtualized data grid

Open rpresb opened this issue 2 years ago • 3 comments

This is a POC to extend the DataGrid component to handle large datasets by rendering only the visible Rows.

Currently the DataGrid rerenders all Rows and Cell every time some action happens in the DataGrid like a click or keyboard arrows press.

In a large dataset (250+ records) this is impracticable with the current implementation of the DataGrid.

I have tried to workaround this situation by implementing the suggested by reakit (https://reakit.io/docs/composite/#performance) but it wasn't possible due to the way the DataGrid is implemented in paste (with Context for instance).

Below there's a video with this working (it's in the storybook in this PR)

https://user-images.githubusercontent.com/3234769/165976213-2c936ac9-4cbc-4eca-b67f-2cfae4ec9ce4.mov

Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

  • [ ] I acknowledge that all my contributions will be made under the project's license.

rpresb avatar Apr 29 '22 15:04 rpresb

⚠️ No Changeset found

Latest commit: c77bb8a287fe78b6c1e7082cb56947ef173d638b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

changeset-bot[bot] avatar Apr 29 '22 15:04 changeset-bot[bot]

Deploy request for paste-docs rejected.

Name Link
Latest commit a553fe309e04b8b37b6b6dc10449baad83cd36de

netlify[bot] avatar Apr 29 '22 15:04 netlify[bot]

Hi @rpresb,

Thank you for the PR! This is excellent work!

We're currently observing a HAP (https://github.com/twilio-labs/paste/discussions/2370) and won't be able to work on this for a little while. Please bear with us; we would like to merge it shortly after the HAP is over.

TheSisb avatar May 02 '22 17:05 TheSisb