Closed birchamp closed 3 years ago
@birchamp what are your thoughts on this: https://mui.com/components/data-grid/rows/#infinite-loading
I have found a number of articles to read on this topic...
Actually, not sure that our "datatable" is based on this component. But conceptually, it is a nice illustration of what "infinite scrolling" is and it is very nice to know that MUI supports it (we use a a lot of their components)
Found: we use https://www.material-ui-datatables.com/; if we stay with it (avoiding massive refactoring), it will likely get down to lots of math...
@Joel-C-Johnson here is some reading to do as part of the spike:
@Joel-C-Johnson let's chat about doing a PoC. What I'm thinking of is something like this:
Both using the MUI data-grid component; and both synced on scroll and some provision to sync on demand (in the case where they scroll manually to some location and need to "re-center", if you will)
@klappy @mannycolon @PhotoNomad0 @ancientTexts-net I have been searching for data table implementations that can support large tables/datasets. I have found some that might work, but I thought I'd describe an ideal component and wondered if you had ever seen like it. So here are my thoughts...
The goals would be to minimize overhead of rendered data and make the amount of data available essentially unbounded. This means the DOM would be constantly updated as it scrolled, rendering the rows on the fly; enough to fill the display space plus perhaps one row overflow at top and bottom (outside the view port).
I should note, that this is only one alternative I'm considering for this spike.
If you have suggestions, please reply here!
(I am keeping notes over here)
@mandolyte I would suggest taking a look at react-table https://react-table.tanstack.com/
@birchamp I have made a little demo that shows what I have found so far.
If we keep pagination...
If we eliminate pagination...
Since:
@mandolyte, After going through the given articles and the above chats, I will share my suggestion that might fit into this issue, here are my thoughts. According to our need, pagination would be better than scrolling as we need a filter/search function (better work with pagination) so,
Please ignore this comment if it is wrong. I haven't tried yet.
@Joel-C-Johnson I think you are spot on. I have a created demo showing this, since I have come to the same conclusion.
To run the demo:
scroll-demo-cn-1075
localhost:6060
to show styleguidist@Joel-C-Johnson @birchamp LOOKIN' GOOD in the SG demo!
Hey @birchamp! @Joel-C-Johnson has made some progress on studying the problem. Before we break down this spike into issues, I think we need a goal (or goals). Here are examples I thought of. Can you review and adjudicate for us? Thanks!
We need to position the file at a particular location because:
@birchamp @ancientTexts-net
@mandolyte @Joel-C-Johnson @ancientTexts-net
@Joel-C-Johnson Looks like item 1 is the goal. And item 2 is pretty much what your were trying to do already. Here are my thoughts on a list of spike issues:
This button would typically be clicked on a row in search results. When clicked:
If the search is closed by the user, then either:
@birchamp break down in to issues
We need to develop a way to position (not just filter) the file at a particular record.
Break into small issues. Broken into:
1088
1089