Skip to content

Comments

chore(*): Apply different throttle based on the amount of data in dis…#16879

Merged
rkaraivanov merged 9 commits intomasterfrom
mkirova/variable-throttle
Feb 11, 2026
Merged

chore(*): Apply different throttle based on the amount of data in dis…#16879
rkaraivanov merged 9 commits intomasterfrom
mkirova/variable-throttle

Conversation

@MayaKirova
Copy link
Contributor

@MayaKirova MayaKirova commented Feb 6, 2026

…play.

Closes #

Additional information (check all that apply):

  • Bug fix
  • New functionality
  • Documentation
  • Demos
  • CI/CD

Checklist:

  • All relevant tags have been applied to this PR
  • This PR includes unit tests covering all the new code (test guidelines)
  • This PR includes API docs for newly added methods/properties (api docs guidelines)
  • This PR includes feature/README.MD updates for the feature docs
  • This PR includes general feature table updates in the root README.MD
  • This PR includes CHANGELOG.MD updates for newly added functionality
  • This PR contains breaking changes
  • This PR includes ng update migrations for the breaking changes (migrations guidelines)
  • This PR includes behavioral changes and the feature specification has been updated with them

@ChronosSF ChronosSF added 💥 status: in-test PRs currently being tested triage: blocking ✅ status: verified Applies to PRs that have passed manual verification and removed 💥 status: in-test PRs currently being tested labels Feb 9, 2026
@ChronosSF
Copy link
Member

@MayaKirova , @rkaraivanov , this one looks good to me. Not only it doesn't regress the perceived performance of smaller grids, but also substantially improves it for very dense ones.

Please, fix the tests and add a changelog for this improvement.

@MayaKirova MayaKirova added ❌ status: awaiting-test PRs awaiting manual verification version: 21.1.x labels Feb 10, 2026
@MayaKirova MayaKirova marked this pull request as ready for review February 10, 2026 08:44
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates grid virtual scrolling to use a dynamic throttle that scales with the rendered cell count by introducing a configurable “multiplier” token and emitting chunk size changes from the IgxForOfDirective.

Changes:

  • Replaces fixed throttleTime usage with a dynamic throttle duration selector driven by a subject.
  • Adds chunkSizeChange output to IgxForOfDirective / token and wires it into the grid to recalculate throttle.
  • Updates multiple grid-related specs to provide the new injection token.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
projects/igniteui-angular/grids/grid/src/grid-base.directive.ts Introduces adaptive scroll throttling driven by chunk size changes and a new injection token.
projects/igniteui-angular/directives/src/directives/for-of/for_of.directive.ts Emits chunkSizeChange when chunk size changes to allow consumers (grids) to react.
projects/igniteui-angular/grids/tree-grid/src/tree-grid-summaries.spec.ts Switches provider from old throttle token to new multiplier token.
projects/igniteui-angular/grids/tree-grid/src/tree-grid-multi-cell-selection.spec.ts Switches provider from old throttle token to new multiplier token (and adjusts some values).
projects/igniteui-angular/grids/tree-grid/src/tree-grid-keyBoardNav.spec.ts Switches provider from old throttle token to new multiplier token.
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid.virtualization.spec.ts Switches provider from old throttle token to new multiplier token.
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid.navigation.spec.ts Switches provider from old throttle token to new multiplier token.
projects/igniteui-angular/grids/grid/src/grid.master-detail.spec.ts Switches provider from old throttle token to new multiplier token.
projects/igniteui-angular/grids/grid/src/grid.component.spec.ts Switches provider from old throttle token to new multiplier token.
projects/igniteui-angular/grids/grid/src/grid-mrl-keyboard-nav.spec.ts Switches provider from old throttle token to new multiplier token.
projects/igniteui-angular/grids/grid/src/grid-keyBoardNav.spec.ts Switches provider from old throttle token to new multiplier token.
projects/igniteui-angular/grids/grid/src/grid-cell-selection.spec.ts Switches provider from old throttle token to new multiplier token.

@rkaraivanov rkaraivanov merged commit cab0024 into master Feb 11, 2026
6 checks passed
@rkaraivanov rkaraivanov deleted the mkirova/variable-throttle branch February 11, 2026 11:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage: blocking version: 21.1.x ✅ status: verified Applies to PRs that have passed manual verification

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants