implement right frozen#3671
Conversation
I'm not override frozen to left | right | null, I just add rightFrozen property. It will not break original version.
|
this is a necessary feature |
|
@amanmahajan7 any news on this? |
|
Whats needed to get this across the finish line? willing to put resources on it |
|
Any update on this feature merging? |
| /** Determines whether column is frozen or not */ | ||
| readonly frozen?: Maybe<boolean>; | ||
| /** Determines whether column is right frozen or not */ | ||
| readonly rightFrozen?: Maybe<boolean>; |
There was a problem hiding this comment.
I would rather not add a new prop that can cause conflicts. What happens when both rightFrozen and frozen props are set? We can instead change frozen to boolean | 'left' | 'right'.
| const defaultDraggable = defaultColumnOptions?.draggable ?? false; | ||
|
|
||
| const { columns, colSpanColumns, lastFrozenColumnIndex, headerRowsCount } = useMemo((): { | ||
| const { columns, colSpanColumns, lastFrozenColumnIndex, rightFrozenColumnCount, headerRowsCount } = useMemo((): { |
There was a problem hiding this comment.
All the new functionality needs extensive tests
|
robert seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
|
This PR has been stuck since July 2025. Right-side column pinning is a feature I need — happy to take it over with a fresh PR. Before I invest time:
If there's genuine interest, I'll open a PR within ~2 weeks. If not, please say so — I'll plan accordingly. Thanks. |
|
We will be happy to review the PR
Yes. @nstepien wdyt?
We use vitest browser tests. Here is an example of testing frozen columns
We can prioritize the review Few important notes
|
I'd go with |
|
Hi @robert-luoqing — I've opened #4034 as a fresh attempt at this feature, using the Feel free to close this PR if you'd like, or keep it open for reference — either way, thanks for getting the ball rolling on right-edge pinning. |
|
Replaced by #4034 |
Adds right-edge column pinning — long-standing ask (#2873, #3671). - `Column.frozen` widens to `boolean | 'start' | 'end'`. `true` stays an alias for `'start'` (backwards compatible). - `'end'` pins to the inline-end edge; symmetric infra: `--rdg-frozen-end-${idx}` CSS var, `rdg-cell-frozen-end` class, end-shadow + top/bottom-summary variants, logical properties throughout. Credit to @robert-luoqing for #3671 which informed the approach. API per @amanmahajan7 and @nstepien's `'start' | 'end'` refinement. One check: *"we want to prevent the shadow logic"* (#3671 2026-04-21) — I interpreted as "preserve" and mirrored the start-shadow symmetrically. If the intent was otherwise, happy to drop it. Tests: new `test/browser/column/frozenEnd.test.ts` + additions to `virtualization.test.ts` and `direction.test.ts`. Demo updated in `CommonFeatures`. --------- Co-authored-by: Aman Mahajan <amahajan@stratag.com>
I'm not override frozen to left | right | null, I just add rightFrozen property. It will not break original version.