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

[Sourcing] Tree table: New ability to load child rows dynamically using infinite scrolling #9751

Closed
yixuan-liu opened this issue Apr 25, 2023 · 3 comments · Fixed by #10072
Closed
Assignees
Milestone

Comments

@yixuan-liu
Copy link

yixuan-liu commented Apr 25, 2023

Is this a bug, enhancement, or feature request?

Enhancement

Briefly describe your proposal.

As of now with the default table datasource, we could not trigger infinite scrolling to load a large number of child nodes chunk by chunk with size set by the pageSize table property.​

We'd like to dynamically keep loading the child rows of an already rendered parent row, using infinite scrolling where user will see the busy indicator overlay.​

For instance, consider the following scenario when we load the following tree table with everything collapsed:

Item 1
   Item 1.1
   Item 1.2
   Item 1.3
   Item 1.4
   Item 1.5

Each of Items 1.1-1.5 has a large number of child rows which are currently collapsed. And when user clicks on Item 1.1 to expand, we'd like to call our service API to fetch the details of those child rows associated under Item 1.1, using infinite scrolling so that we could load on demand, chunk by chunk.

Item 1
   Item 1.1
     Item 1.1.1
     Item 1.1.2
     ....
     ....
     (incoming child row data through API)
     ....
     ....
   Item 1.2
   Item 1.3
   Item 1.4
   Item 1.5

However, as of now, we could achieve such functionality as the newly fetched chunk data of child rows could not be correctly rendered and attached to the parent node Item 1, and it currently requires us to manually invoke table component's fetch() method in order to update the table view with those newly fetched child rows data.

Basically, what we'd like to see if that when we expand on certain parent row/node, we will load an initial chunk of, say, 20 child rows under that parent. Then, as user scrolls and reaches the end of those loaded child rows, we should trigger a loading event where we can invoke our service API to fetch the next 20 child row data.

Which versions of Angular and Fundamental Library for Angular are affected? (If this is a feature request, use current version.)

Current version.

@yixuan-liu yixuan-liu changed the title [Sourcing] Tree table: load child rows dynamically using infinite scrolling [Sourcing] Tree table: Load child rows dynamically using infinite scrolling Apr 25, 2023
@yixuan-liu yixuan-liu changed the title [Sourcing] Tree table: Load child rows dynamically using infinite scrolling [Sourcing] Tree table: Ability to load child rows dynamically using infinite scrolling Apr 25, 2023
@yixuan-liu yixuan-liu changed the title [Sourcing] Tree table: Ability to load child rows dynamically using infinite scrolling [Sourcing] Tree table: New ability to load child rows dynamically using infinite scrolling Apr 25, 2023
@droshev
Copy link
Contributor

droshev commented May 23, 2023

@yixuan-liu We couldn't figure out what exactly the issue is and what the expectation is. Could you elaborate a little bit more? thanks

@yixuan-liu
Copy link
Author

@yixuan-liu We couldn't figure out what exactly the issue is and what the expectation is. Could you elaborate a little bit more? thanks

Sure Deno... just added more details in issue description... Thanks!

@N1XUS N1XUS self-assigned this May 26, 2023
@droshev droshev added this to the Sprint 115 milestone Jun 14, 2023
@fkolar
Copy link
Member

fkolar commented Jun 15, 2023

this issue is the same root cause as: #9746, #9238, #9926

We are working on the solution to improve things on the approach side. There are two major problems:

  • Bypassing Table functionality in terms of DataSource and DataProvider usage
  • Cache excessive pipe calls so we can pre-calculate a state for columns

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

Successfully merging a pull request may close this issue.

5 participants