NativeScript / NativeScript/angular
Feature Request: Pull based virtualized list
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 55
- Forks
- 13
- Avg merge
- 16m
- Merged PRs (30d)
- 1
Description
Is your feature request related to a problem? Please describe.
I am looking to create a infinitely scrolling list that pulls data from an API.
It would like to be able to start a request to pull data for what is currently displayed.
Describe the solution you'd like
Much like how RxJS is used for pushing data, I would like to use Iterables either with IxJS or a similar data structure so that when an item needs to be displayed .next() is called.
For my use cases the .next() call would need to be async, so AsyncIterator might be a good data structure to start with.
However it may be nice to provide some pattern that allows batching.
Describe alternatives you've considered
I believe the @angular/cdk has a somewhat similar pattern with their DataSource class used for their virtualized scroller and data table. I am not sure that it would need all the requirements to build out the interaction I am looking for, but it would be a good start to getting towards that.
Additional context
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No repository file or test is named; start by comparing the Angular CDK DataSource approach with the AsyncIterator and IxJS patterns described in the request. Done would require an agreed API for pull-based virtual scrolling, including async next() behavior and any batching semantics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100