-
Notifications
You must be signed in to change notification settings - Fork 163
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
Topic display UI needs pagination #1280
Comments
I would advocate for infinite scrolling as it seems tricky to add pagination without making the interface feel cluttered |
Short term, there is some chunking logic for fetching nodes. We can prevent some of the cases by decreasing the size: https://github.com/learningequality/studio/blob/develop/contentcuration/contentcuration/static/js/edit_channel/models.js#L370 |
That may actually worsen the problem, since a large part of our performance hit for many API calls is the latency of setting up the database connection. The less calls we make the better, until we implement connection pooling. That being said, if we're already passing an ID list, infinite scrolling would just mean calling it for the first 50 alone and loading that, then waiting on scrolling events to fire to fetch the next 50. |
Infinite scrolling has significant accessibility issues, and if in any way possible, pagination would be preferred. |
I don't think we need to implement infinite scroll, but we should also avoid page number based pagination (and prefer next and previous pagination instead) for performance reasons and to reduce interface clutter. |
Summary
If a topic contains a lot of nodes, it can take an inordinate amount of time to load and possibly time out. We should use pagination + infinite scrolling to avoid this scenario.
Category
BUG
(Declaring bug for the timeout problem, which breaks editing.)
Usage Details
How to reproduce
Real-life consequences (anything community should be aware of, for instance how it affects end users)
Sometimes channels will not load properly, other times they will take significant time. Either way it provides a degraded UX.
The text was updated successfully, but these errors were encountered: