Skip to content

Fix frozen grouped headers on horizontal scroll#4098

Open
clmentcoutet wants to merge 2 commits into
Comcast:mainfrom
clmentcoutet:fix/3531-frozen-grouped-header
Open

Fix frozen grouped headers on horizontal scroll#4098
clmentcoutet wants to merge 2 commits into
Comcast:mainfrom
clmentcoutet:fix/3531-frozen-grouped-header

Conversation

@clmentcoutet

Copy link
Copy Markdown

Summary

Issue #3531

Fixes grouped column headers so they stay pinned during horizontal scrolling when all child columns belong to the same frozen band.

  • adds browser coverage for start-frozen and end-frozen grouped headers after scroll
  • updates the Column Grouping demo so the behavior can be tested

@CLAassistant

CLAassistant commented Jul 13, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@codecov-commenter

codecov-commenter commented Jul 13, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.55%. Comparing base (aec5523) to head (ef78730).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4098      +/-   ##
==========================================
+ Coverage   97.54%   97.55%   +0.01%     
==========================================
  Files          39       39              
  Lines        1588     1596       +8     
  Branches      515      519       +4     
==========================================
+ Hits         1549     1557       +8     
  Misses         39       39              
Files with missing lines Coverage Δ
src/GroupedColumnHeaderCell.tsx 75.00% <ø> (ø)
src/hooks/useCalculatedColumns.ts 100.00% <100.00%> (ø)
src/utils/frozenColumnUtils.ts 100.00% <100.00%> (ø)
src/utils/styleUtils.ts 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Grouped column header cells never applied horizontal-freeze styling, so a
group whose child columns are frozen scrolled away instead of sticking to
the edge (Comcast#3531).

CalculatedColumnParent now carries a frozen state folded from its children
(frozen only when every child sits in the same frozen band), and
GroupedColumnHeaderCell reuses getCellStyle/getCellClassname like the leaf
HeaderCell so the sticky offset and frozen classes are applied.
Add a scroll assertion for grouped headers whose children share a frozen band, so the regression is covered by behavior rather than classes alone.

Expose start- and end-frozen column groups in the Column Grouping website demo for manual testing with npm run start.
@clmentcoutet clmentcoutet force-pushed the fix/3531-frozen-grouped-header branch from b451b2d to ef78730 Compare July 13, 2026 13:11
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 this pull request may close these issues.

3 participants