fix(grid): Make sure border does not appear when new theme is loaded runtime.#17030
fix(grid): Make sure border does not appear when new theme is loaded runtime.#17030MayaKirova wants to merge 4 commits into21.1.xfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Fixes a grid cell-merging visual regression where a row border can appear after loading a new theme stylesheet at runtime, and adds a sample-level runtime theme toggle to reproduce/verify the scenario.
Changes:
- Added a runtime theme CSS toggle in the
grid-cellMergingsample (signals + DOM<link>injection). - Updated grid theme styling for merged rows to ensure the merged-row bottom border is removed when themes are applied dynamically.
- Removed a private-flag-based virtualization size recalculation from
IgxRowDirective.getRowHeight().
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/app/grid-cellMerging/grid-cellMerging.component.ts | Adds toggleTheme() and signal state for runtime loading/unloading of a theme stylesheet. |
| src/app/grid-cellMerging/grid-cellMerging.component.html | Adds a UI button to trigger the runtime theme toggle. |
| projects/igniteui-angular/grids/core/src/row.directive.ts | Removes _cdrRequests-driven recalcUpdateSizes() side effect from row height calculation. |
| projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme.scss | Adjusts merged-row border reset to prevent borders appearing after runtime theme load. |
| angular.json | Copies src/app/grid-cellMerging/theme.css into build assets so it can be loaded at runtime. |
projects/igniteui-angular/core/src/core/styles/components/grid/_grid-theme.scss
Outdated
Show resolved
Hide resolved
|
@MayaKirova , is it needed to add the huge theme.css to the samples project? I think you should be able to add the default themes through angular.json to the build and switch them runtime this way? |
@ChronosSF Not sure if the scenario where the default theme is switched is the same, but sure. @copilot add the default themes through angular.json to the build and switch them runtime this way in the grid-cellMerging sample. |
…e theme; add OnDestroy cleanup Agent-Logs-Url: https://github.com/IgniteUI/igniteui-angular/sessions/12bdcdf6-0c85-490e-b44e-497f597e2474 Co-authored-by: MayaKirova <10397980+MayaKirova@users.noreply.github.com>
Done in commit 061341a. The changes:
|
|
@dkamburov resetting verified, since co-pilot changed the fix. Moving back to awaiting test. |
Closes IgniteUI/igniteui-angular-samples#3903
inject: false)grid-cell-merging-alternate-theme.css)%igx-grid__tr--mergedto use bothborder-bottom: 0andborder-block-end: 0(removes!important)