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

Partial Page Pagination Causes Incorrect Overall Page Scrolling #461

Open
leewyatt opened this issue Sep 6, 2023 · 5 comments
Open

Partial Page Pagination Causes Incorrect Overall Page Scrolling #461

leewyatt opened this issue Sep 6, 2023 · 5 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@leewyatt
Copy link
Collaborator

leewyatt commented Sep 6, 2023

Description:

Within certain sections of our page, when paging occurs, it results in an undesired scrolling effect on the entire page. This issue becomes particularly pronounced when there's a significant height difference between the current page data and the previous page data, leading to a substantial deviation from our intended "focus" point in the viewport.

Impact:

This scrolling behavior might disorient users,Partial Page Pagination Causes Incorrect Overall Page Scrolling decreasing the overall user experience.

image

@leewyatt leewyatt added the enhancement New feature or request label Sep 6, 2023
@leewyatt leewyatt added this to the Version 2 milestone Sep 6, 2023
@leewyatt leewyatt self-assigned this Sep 6, 2023
@FlorianKirmaier
Copy link
Collaborator

Not sure how to fix it. To me, it seems to behave correctly - so maybe we could just change the UX?

Can you confirm that the behavior is "Correct" but still disorienting?
It's also independent of the web, right?

Having the numbers at the bottom has this effect, when the content size changes, the numbers change their position.
I guess what we would want is, the clicked element - the number, keeps its position. But that sounds very tricky to me.

@leewyatt
Copy link
Collaborator Author

leewyatt commented Sep 6, 2023

Not sure how to fix it. To me, it seems to behave correctly - so maybe we could just change the UX?

Can you confirm that the behavior is "Correct" but still disorienting? It's also independent of the web, right?

Having the numbers at the bottom has this effect, when the content size changes, the numbers change their position. I guess what we would want is, the clicked element - the number, keeps its position. But that sounds very tricky to me.

Potential Solution:

To mitigate this issue, we can:

  1. Anchor a specific node's distance from the top of the viewport.
  2. After pagination, recalibrate the distance of this anchored node from the top, ensuring it remains consistent pre and post pagination.

If you have any thoughts, suggestions, or alternative ideas, I'd greatly appreciate your guidance. Let's collaboratively iron out this UX kink!
image

@dlemmermann
Copy link
Collaborator

This should be resolved very generically and you should create a standalone test case where you work only with the ScrollPane and some content that changes its overall height after a user interaction.

@FlorianKirmaier
Copy link
Collaborator

IMO this should be provided as an API in the routing.
Something like ScrollingUtils.setPositionAnchor(node). Still working on the method name.

But when this is called, for a short time, like the successive 2 frames, any movement in the scroll position relative to the node gets corrected automatically. Maybe the ScrollPane version of this is also a good candidate for GemsFX or only in the routing.

@leewyatt
Copy link
Collaborator Author

leewyatt commented Sep 6, 2023

Because node may be recreated. Maybe it would be more reasonable to record the position of the node from the top. scrollto(bounds)/scrollto(x,y)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants