Skip to content

fix(pivot-grid): match scroll-start border/background to header cells - #17599

Open
simeonoff wants to merge 3 commits into
masterfrom
simeonoff/fix-17584-22.2.x
Open

fix(pivot-grid): match scroll-start border/background to header cells#17599
simeonoff wants to merge 3 commits into
masterfrom
simeonoff/fix-17584-22.2.x

Conversation

@simeonoff

@simeonoff simeonoff commented Sep 11, 2026

Copy link
Copy Markdown
Member

Closes #17584

Description

IgxPivotGridComponent no longer inherits the shared, unscoped .igx-grid__scroll-start--pinned bold border/content-background fill used by IgxGrid/IgxTreeGrid/IgxHierarchicalGrid. A new .igx-grid--pivot host class scopes pivot-only overrides (border matches the plain header border, background matches header-background) via a dedicated pivot-grid.component.scss/themes/grid/_base.scss pair, wired through Angular's normal styleUrl instead of touching the shared grid theme file.
Also removes the stray border-bottom inherited by .igx-pivot-grid-row-filler__wrapper's reused header markup. Shared grid Sass variables ($grid-header-border, $grid-pinned-border, z-indices, etc.) were extracted into grids/themes/_variables.scss so both the shared grid theme and the new pivot-grid theme file can consume them without duplication.

Motivation / Context

Fixes #17584 — the pivot grid rendered a bold "pinned column" border (and mismatched background) on the horizontal scrollbar's leading edge, even though pivot's row dimensions aren't part of the public column-pinning API. The border should visually match the plain header/cell border pivot's row dimension cells actually use.

Type of Change (check all that apply):

  • Bug fix
  • New functionality
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactoring (no functional changes)
  • Documentation
  • Demos
  • CI/CD
  • Tests
  • Changelog
  • Skills/Agents

Component(s) / Area(s) Affected:

Pivot Grid (theming/styles only — grids/pivot-grid, grids/themes)

How Has This Been Tested?

  • Unit tests
  • Manual testing
  • Automated e2e tests

Verified npm run build:styles:components compiles the new/changed SCSS without errors and produces the expected scoped selectors (.igx-grid--pivot .igx-grid__scroll-start(--pinned), .igx-pivot-grid-row-filler__wrapper .igx-grid-thead__wrapper), confirmed npm run lint:styles and eslint pass, and confirmed the unrelated grid-base.styles.ts output (flat/tree/hierarchical grids) is unchanged after the variable extraction. Visual/browser verification against the pivot hierarchy dev sample and the pivot-grid Karma suite (npm run test:lib:pgrid) are still outstanding.

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
  • Accessibility (ARIA, keyboard navigation, focus management) has been verified

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Add the requested regression coverage and use declarative host metadata for the static class.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Updates Pivot Grid styling so scroll-start borders/backgrounds match header cells and removes an inherited filler border.

Changes:

  • Centralizes shared grid Sass variables.
  • Adds scoped Pivot Grid styling and host stylesheet wiring.
  • Removes the filler wrapper’s separator border.
File summaries
File Review notes
projects/igniteui-angular/grids/themes/_variables.scss Shared Sass variables extracted.
projects/igniteui-angular/grids/themes/_base.scss Moderate: add regression coverage for the filler wrapper border removal.
projects/igniteui-angular/grids/pivot-grid/src/themes/grid/_base.scss Moderate: add regression coverage for scoped scroll-start styling.
projects/igniteui-angular/grids/pivot-grid/src/pivot-grid.component.ts Nit: declare the static host class in component host metadata.
projects/igniteui-angular/grids/pivot-grid/src/pivot-grid.component.scss Loads the Pivot Grid theme styles.
Review details

Suppressed comments (1)

projects/igniteui-angular/grids/themes/_base.scss:2764

  • This new row-filler border rule is also untested. Please extend the pivot-grid regression coverage to render the empty bottom filler and verify that its reused igx-grid-thead__wrapper has no separator border; otherwise this part of the visual fix can regress independently of the scroll-start assertions.
            border-bottom: none;
  • Files reviewed: 5/5 changed files
  • Comments generated: 2
  • Review effort level: Lite

Comment thread projects/igniteui-angular/grids/pivot-grid/src/pivot-grid.component.ts Outdated
Co-authored-by: simeonoff <4118303+simeonoff@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pivot grid has pinning border on the left of the horizontal scrollbar

4 participants