Skip to content

Commit 480c4b3

Browse files
authored
Merge branch '9.0.x' into lastPage-equalTo-totalPages-90x
2 parents 2313490 + d130d6c commit 480c4b3

File tree

10 files changed

+125
-90
lines changed

10 files changed

+125
-90
lines changed

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

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -462,12 +462,14 @@ export class IgxGridFilteringRowComponent implements AfterViewInit {
462462
this.expressionsList[0].expression.searchVal === null &&
463463
this.expressionsList[0].expression.condition.isUnary === false) {
464464
this.filteringService.getExpressions(this.column.field).pop();
465+
466+
this.filter();
465467
} else {
466-
this.expressionsList.forEach((item) => {
467-
if (item.expression.searchVal === null && !item.expression.condition.isUnary) {
468-
this.filteringService.removeExpression(this.column.field, this.expressionsList.indexOf(item));
469-
}
470-
});
468+
const condToRemove = this.expressionsList.filter(ex => ex.expression.searchVal === null && !ex.expression.condition.isUnary);
469+
if (condToRemove && condToRemove.length > 0) {
470+
condToRemove.forEach(c => this.filteringService.removeExpression(this.column.field, this.expressionsList.indexOf(c)));
471+
this.filter();
472+
}
471473
}
472474

473475
this.filteringService.isFilterRowVisible = false;

projects/igniteui-angular/src/lib/grids/grid-base.directive.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,13 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
590590
this.notifyChanges();
591591
}
592592

593+
/**
594+
* @hidden
595+
* @internal
596+
*/
597+
@Input()
598+
public class = '';
599+
593600
/**
594601
* Gets/Sets the height.
595602
* @example
@@ -619,6 +626,7 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
619626
get hostWidth() {
620627
return this._width || this._hostWidth;
621628
}
629+
622630
/**
623631
* Gets/Sets the width of the grid.
624632
* @example
@@ -1856,7 +1864,10 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
18561864
*/
18571865
@HostBinding('attr.class')
18581866
get hostClass(): string {
1859-
return this.getComponentDensityClass('igx-grid');
1867+
const classes = [this.getComponentDensityClass('igx-grid')];
1868+
// The custom classes should be at the end.
1869+
classes.push(this.class);
1870+
return classes.join(' ');
18601871
}
18611872

18621873
get bannerClass(): string {

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1969,6 +1969,23 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
19691969
const activeFilterIcon = header.nativeElement.querySelector('.igx-excel-filter__icon--filtered');
19701970
expect(activeFilterIcon).toBeDefined('no active filter icon was found');
19711971
}));
1972+
1973+
it('Should clear non-unary conditions with null searchVal when close', fakeAsync(() => {
1974+
GridFunctions.clickFilterCellChip(fix, 'ProductName');
1975+
fix.detectChanges();
1976+
1977+
GridFunctions.openFilterDD(fix.debugElement);
1978+
const dropdownList = fix.debugElement.query(By.css('div.igx-drop-down__list.igx-toggle'));
1979+
GridFunctions.selectFilteringCondition('Empty', dropdownList);
1980+
fix.detectChanges();
1981+
GridFunctions.openFilterDD(fix.debugElement);
1982+
GridFunctions.selectFilteringCondition('Contains', dropdownList);
1983+
fix.detectChanges();
1984+
GridFunctions.closeFilterRow(fix);
1985+
1986+
const headerChip = GridFunctions.getFilterChipsForColumn('ProductName', fix);
1987+
expect(headerChip.length).toBe(1);
1988+
}));
19721989
});
19731990

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

0 commit comments

Comments
 (0)