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

[EuiDataGrid] bi-directional infinite scrolling #2981

Closed
chandlerprall opened this issue Mar 4, 2020 · 8 comments
Closed

[EuiDataGrid] bi-directional infinite scrolling #2981

chandlerprall opened this issue Mar 4, 2020 · 8 comments

Comments

@chandlerprall
Copy link
Contributor

Summarizing a conversation with @weltenwort

  • logs app is the two-sided open-ended timeline and pagination doesn't work very well without a well-known "first" page (siem has an unrelated case where pagination doesn't work well)
  • logs are often interacted with as a stream, chopping up the log stream into arbitrary pages gets in the way of the usual viewing experience; having to pagination between two that would otherwise be right next to each other is cumbersome

Implementation considerations would need to include pinned rows and/or columns.

@ashikmeerankutty
Copy link
Contributor

@chandlerprall Is the required implementation needs to be a custom virtualized scrolling component or by using existing external component like react-virtualized

@myasonik
Copy link
Contributor

react-virtualized doesn't meat our accessibility standards so it's already being ripped out of the existing places that it's in EUI.

react-window is a good 3rd party replacement by the same developer that doesn't make any a11y assumptions at all so it's a much easier canvas to layer our a11y work on top of.

Either way, using a 3rd party renderer will likely cause problems with DOM work, our focus work, and our keyboard shortcuts... So there be lots of dragons here.

@chandlerprall
Copy link
Contributor Author

The datagrid's implementation (react-window or otherwise) will need to interact with the pagination in not-yet-determined ways. Most of the React virtualized scrolling libraries assume all of the data is available, and the windowing functionality is simply passing over the items, rendering whichever should be visible. Datagrid will need more thought than just that, as you may start with a "page" worth of data and then additional requests are necessary while scrolling (potentially both up and down).

Imagine a grid of log data, and the default starting point is now. More data is available every 30 seconds so you can scroll down the grid to load newer entries, but you could also scroll up to load historic data. As Michail stated above, this functionality needs to integrate with the existing focus & keyboard navigation, etc.

Any work against this should definitely start with a write-up exploring the problems, options, and a proposed path forward.

@cchaos cchaos changed the title [Data Grid] Virtualized scrolling [EuiDataGrid] Virtualized scrolling Sep 20, 2020
@chandlerprall chandlerprall changed the title [EuiDataGrid] Virtualized scrolling [EuiDataGrid] Enhanced virtualized scrolling Feb 1, 2021
@github-actions
Copy link

github-actions bot commented Aug 1, 2021

👋 Hey there. This issue hasn't had any activity for 180 days. We'll automatically close it if that trend continues for another week. If you feel this issue is still valid and needs attention please let us know with a comment.

@chandlerprall chandlerprall added ⚠️ needs validation For bugs that need confirmation as to whether they're reproducible skip-stale-check and removed assign:engineer stale-issue labels Aug 3, 2021
@chandlerprall chandlerprall changed the title [EuiDataGrid] Enhanced virtualized scrolling [EuiDataGrid] bi-directional infinite scrolling Aug 3, 2021
@qpointsystems
Copy link

FWIW, I've had some great luck with ReactDataGrid and came to this issue to upvote this story for a "infinite scroll" capability versus the existing "paging" experience. RDG has done a great job with their component. That said I use EUI for most everything in my app and it'd be splendid to have this capability in the EUI grid component.

@github-actions
Copy link

👋 Hi there - this issue hasn't had any activity in 6 months. If the EUI team has not explicitly expressed that this is something on our roadmap, it's unlikely that we'll pick this issue up. We would sincerely appreciate a PR/community contribution if this is something that matters to you! If not, and there is no further activity on this issue for another 6 months (i.e. it's stale for over a year), the issue will be auto-closed.

@cee-chen cee-chen removed skip-stale-check ⚠️ needs validation For bugs that need confirmation as to whether they're reproducible labels Apr 24, 2023
Copy link

👋 Hi there - this issue hasn't had any activity in 6 months. If the EUI team has not explicitly expressed that this is something on our roadmap, it's unlikely that we'll pick this issue up. We would sincerely appreciate a PR/community contribution if this is something that matters to you! If not, and there is no further activity on this issue for another 6 months (i.e. it's stale for over a year), the issue will be auto-closed.

@timductive
Copy link
Member

We have confirmed that we won't need bidirectional scrolling in the immediate future so closing this issue for now.

@cee-chen cee-chen closed this as not planned Won't fix, can't repro, duplicate, stale Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants