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

SoftLimit: allow "show..." node to be auto-expanded when visible or soon visible #1041

Open
mickaelistria opened this issue Aug 17, 2023 · 6 comments · May be fixed by #1057
Open

SoftLimit: allow "show..." node to be auto-expanded when visible or soon visible #1041

mickaelistria opened this issue Aug 17, 2023 · 6 comments · May be fixed by #1057
Labels
enhancement New feature or request

Comments

@mickaelistria
Copy link
Contributor

As a user, I would often not want to interact with the "Show ..." node. I don't mind how tree is rendered, incrementally or not, but I just want to to work smoothly. I typically either user arrows or scroll bar or mouse wheel to interact with it. When dealing with huge trees, this "show node" interrupts my usual workflow as I have to go select it.

I suggest that when using an incremental display, the viewer sets a listener on the tree to check whether the "show..." node is visible or soon visible (ie current last element on a branch is 5 or 10 items before "Show ..."), and when the listener detects that we're near showing this node, it does expand it automatically.
As a user, I would about never face this node. All the expansion happens as I use the tree without interacting with this new node.

@iloveeclipse
Copy link
Member

Mickael, this would contradict the entire purpose of that feature to avoid showing ALL of provided elements at once.
Assuming the node will "auto expand" if visible, it will trigger a chain of "expand / create more items / scroll to / expand / create more items" etc. which will again lead to the UI frozen for indefinite amount of time.

@iloveeclipse iloveeclipse added the enhancement New feature or request label Aug 17, 2023
@szarnekow
Copy link
Contributor

@mickaelistria , can you please explain how the described approach differs from a tree with a lazy content provider?

@mickaelistria
Copy link
Contributor Author

how the described approach differs from a tree with a lazy content provider?

This is something that was already discussed in #810 when discussing incremental expansion ("SoftLimit", setDisplayIncrementally) vs virtual trees and lazy content provider. I don't think we need to repeat the discussion here.

Assuming the node will "auto expand" if visible, it will trigger a chain of "expand / create more items / scroll to / expand / create more items" etc. which will again lead to the UI frozen for indefinite amount of time.

I hope and suspect we can find a way to avoid the scroll to step so the auto-expand wouldn't cause the next "Show..." expand node to be nearby the visible area and wouldn't auto-expand it. Basically the expansion happens in the non-visible area and doesn't modify the content of the visible area.

@iloveeclipse
Copy link
Member

@mickaelistria : do you plan to work on this ticket?

@mickaelistria
Copy link
Contributor Author

Not immediately, but I think it's important to keep it tracked.
Taking a few steps back and looking at the overall current state, we see that most of the current issues about the incremental display have been usability/UI issues or bugs (ClassCastException) on this particual "Show ..." node. However, the incremental display is initially only a performance concern, the "Show ..." node is not an actual requirement, but more a current solution. So if we can evolve it later to make the "Show ..." node less visible, or even fully remove it, in favor of usual interactions such as scrolling, then we still have incremental display, but don't have other usability issues.

@mickaelistria
Copy link
Contributor Author

Looks like this is being addressed in #1057

@raghucssit raghucssit linked a pull request Aug 24, 2023 that will close this issue
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

Successfully merging a pull request may close this issue.

3 participants