Skip to main content
cngx-src documentation

injectRecycler

Functioncommon/data/recycler

projects/common/data/recycler/recycler.ts

Description#

Creates a Signal-based virtualizer for DOM recycling.

Must be called in an injection context (field initializer or constructor). Internally injects DestroyRef and DOCUMENT for cleanup and selector resolution.

Basic list

readonly recycler = injectRecycler({
  scrollElement: '.scroll-container',
  totalCount: () => this.items().length,
  estimateSize: 48,
});
readonly visibleItems = this.recycler.sliced(this.items);

With async state

readonly state = injectAsyncState(() => this.api.getAll());
readonly recycler = injectRecycler({
  scrollElement: '.scroll-container',
  totalCount: () => (this.state.data() ?? []).length,
  estimateSize: 64,
  state: this.state,
});

Signature#

injectRecycler(config: RecyclerConfig)

Parameters#

@paramconfigRecyclerConfig

Returns#

CngxRecycler