Skip to content

Commit 1ef2c56

Browse files
astaevgedinakova
andauthored
fix(filtering): Refine elem class search #9333 (#9386)
* fix(filtering): Refine elem class search #9333 * test(filtering): Adding test #9333 # Conflicts: # projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts Co-authored-by: Galina Edinakova <[email protected]>
1 parent 3365141 commit 1ef2c56

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-row.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ export class IgxGridFilteringRowComponent implements AfterViewInit {
446446
requestAnimationFrame(() => {
447447
const focusedElement = document.activeElement;
448448

449-
if (focusedElement.className === 'igx-chip__remove' || focusedElement.tagName === 'IGX-DAY-ITEM') {
449+
if (focusedElement.classList.contains('igx-chip__remove') || focusedElement.tagName === 'IGX-DAY-ITEM') {
450450
return;
451451
}
452452

projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ import { GridSelectionMode, FilterMode } from '../common/enums';
4848
import { ControlsFunction } from '../../test-utils/controls-functions.spec';
4949
import localeFR from '@angular/common/locales/fr';
5050
import { FormattedValuesFilteringStrategy } from '../../data-operations/filtering-strategy';
51+
import { IgxCalendarComponent } from '../../calendar/calendar.component';
52+
import { IgxInputGroupComponent } from '../../input-group/public_api';
5153

5254
const DEBOUNCETIME = 30;
5355
const FILTER_UI_ROW = 'igx-grid-filtering-row';
@@ -2180,6 +2182,28 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
21802182
const rows = GridFunctions.getRows(fix);
21812183
expect(rows.length).toEqual(2);
21822184
}));
2185+
2186+
it('Should remove pending chip via its close button #9333', fakeAsync(() => {
2187+
GridFunctions.clickFilterCellChipUI(fix, 'Downloads');
2188+
fix.detectChanges();
2189+
2190+
GridFunctions.typeValueInFilterRowInput('3', fix);
2191+
tick(DEBOUNCETIME);
2192+
const inputGroup = fix.debugElement.query(By.directive(IgxInputGroupComponent));
2193+
const filterRow = fix.debugElement.query(By.directive(IgxGridFilteringRowComponent));
2194+
const pendingChip = filterRow.queryAll(By.directive(IgxChipComponent))[0];
2195+
const chipCloseButton = pendingChip.query(By.css('div.igx-chip__remove')).nativeElement;
2196+
2197+
chipCloseButton.dispatchEvent(new Event('mousedown'));
2198+
inputGroup.nativeElement.dispatchEvent(new Event('focusout'));
2199+
chipCloseButton.dispatchEvent(new Event('mouseup'));
2200+
chipCloseButton.dispatchEvent(new Event('click'));
2201+
tick(DEBOUNCETIME);
2202+
fix.detectChanges();
2203+
2204+
const chips = filterRow.queryAll(By.directive(IgxChipComponent));
2205+
expect(chips.length).toEqual(0, 'No chips should be present');
2206+
}));
21832207
});
21842208

21852209
describe('Integration scenarios', () => {

0 commit comments

Comments
 (0)