NativeScript / NativeScript/angular

Feature Request: Pull based virtualized list

Open
#35 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.