Skip to content

fix(tree-grid): correctly process esf when tree grid grouping is enabled#17338

Open
mddragnev wants to merge 3 commits into
masterfrom
mdragnev/fix-17293
Open

fix(tree-grid): correctly process esf when tree grid grouping is enabled#17338
mddragnev wants to merge 3 commits into
masterfrom
mdragnev/fix-17293

Conversation

@mddragnev

@mddragnev mddragnev commented Jun 22, 2026

Copy link
Copy Markdown
Member

Closes #17293

Description

Motivation / Context

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:

How Has This Been Tested?

  • Unit tests
  • Manual testing
  • Automated e2e tests

Test Configuration:

  • Angular version:
  • Browser(s):
  • OS:

Screenshots / Recordings

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

@mddragnev mddragnev marked this pull request as ready for review June 22, 2026 13:49
Copilot AI review requested due to automatic review settings June 22, 2026 13:49

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.

Pull request overview

Fixes a TreeGrid regression where Excel Style Filtering (ESF) behaves incorrectly when TreeGrid grouping (via the grouping pipe) is enabled, causing checked items to be lost and/or the grid to become empty (Issue #17293).

Changes:

  • Adjust ESF string filtering logic to avoid the ignore-case value remapping path when the TreeGrid data contains grouping “synthetic” records.
  • Add TreeGrid grouping + ESF regression tests that cover selecting 3+ items and preserving checked items after reopening ESF.
  • Update the TreeGrid grouping test component so columns are filterable for ESF interactions.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
projects/igniteui-angular/test-utils/tree-grid-components.spec.ts Enables filtering on columns in the TreeGrid grouping test component used by the new regression tests.
projects/igniteui-angular/grids/tree-grid/src/tree-grid-grouping.spec.ts Adds regression tests for ESF + grouping and wires GridFunctions usage.
projects/igniteui-angular/grids/core/src/filtering/excel-style/excel-style-search.component.ts Adds TreeGrid-grouping detection to avoid the problematic ignore-case mapping path for grouped TreeGrid data.

Comment on lines 8 to +9
import { DefaultSortingStrategy } from 'igniteui-angular/core';
import { GridFunctions } from 'igniteui-angular/test-utils/grid-functions.spec';
Comment on lines +301 to +304
it('should handle excel style filtering when grouping is applied and 3 or more items are selected', fakeAsync(() => {
treeGrid.filterMode = "excelStyleFilter";
treeGrid.allowFiltering = true;
treeGrid.expansionDepth = Infinity;
Comment on lines +324 to +327
it('should handle excel style filtering when grouping is applied and preserve all checked esf items', fakeAsync(() => {
treeGrid.filterMode = "excelStyleFilter";
treeGrid.allowFiltering = true;
treeGrid.expansionDepth = Infinity;
Comment on lines +902 to +908
private isTreeGridWithGroupBy(): boolean {
if (this.esf.grid.type !== 'tree') {
return false;
}
const data = this.esf.grid.data;
return Array.isArray(data) && data.some(item => item && typeof item === 'object' && TREE_GRID_GROUPING_HIDDEN_FIELD in item);
}
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.

TreeGrid excel style filtering with grouping is broken

3 participants