Skip to content

Commit 5a89a11

Browse files
author
Hristo Popov
authored
Merge branch 'master' into hPopov/refactor-grid-row-selectors-master
2 parents 5dea15d + 2548f43 commit 5a89a11

File tree

7 files changed

+53
-12
lines changed

7 files changed

+53
-12
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
@@ -604,6 +604,13 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
604604
this.notifyChanges();
605605
}
606606

607+
/**
608+
* @hidden
609+
* @internal
610+
*/
611+
@Input()
612+
public class = '';
613+
607614
/**
608615
* Gets/Sets the height.
609616
* @example
@@ -633,6 +640,7 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
633640
get hostWidth() {
634641
return this._width || this._hostWidth;
635642
}
643+
636644
/**
637645
* Gets/Sets the width of the grid.
638646
* @example
@@ -1940,7 +1948,10 @@ export class IgxGridBaseDirective extends DisplayDensityBase implements
19401948
*/
19411949
@HostBinding('attr.class')
19421950
get hostClass(): string {
1943-
return this.getComponentDensityClass('igx-grid');
1951+
const classes = [this.getComponentDensityClass('igx-grid')];
1952+
// The custom classes should be at the end.
1953+
classes.push(this.class);
1954+
return classes.join(' ');
19441955
}
19451956

19461957
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', () => {

projects/igniteui-angular/src/lib/grids/grid/grid.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@
190190
<ng-container *ngTemplateOutlet="template"></ng-container>
191191
<div class="igx-grid__row-editing-outlet" igxOverlayOutlet #igxRowEditingOverlayOutlet></div>
192192
</div>
193-
<div [style.display]="shouldOverlayLoading ? 'flex' : 'none'" #loadingOverlay>
194-
<igx-circular-bar [indeterminate]="true">
193+
<div #loadingOverlay>
194+
<igx-circular-bar [indeterminate]="true" *ngIf='shouldOverlayLoading'>
195195
</igx-circular-bar>
196196
</div>
197197
<span *ngIf="hasMovableColumns && draggedColumn" [igxColumnMovingDrop]="headerContainer" [attr.droppable]="true"

projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,8 @@
7272
<igx-grid-filtering-row #filteringRow [style.width.px]='calcWidth' *ngIf="filteringService.isFilterRowVisible"
7373
[column]="filteringService.filteredColumn"></igx-grid-filtering-row>
7474
</div>
75-
<div [style.display]="shouldOverlayLoading ? 'flex' : 'none'" #loadingOverlay>
76-
<igx-circular-bar [indeterminate]="true">
75+
<div #loadingOverlay>
76+
<igx-circular-bar [indeterminate]="true" *ngIf='shouldOverlayLoading'>
7777
</igx-circular-bar>
7878
</div>
7979
<span *ngIf="hasMovableColumns && draggedColumn" [igxColumnMovingDrop]="headerContainer" [attr.droppable]="true"

projects/igniteui-angular/src/lib/grids/toolbar/grid-toolbar.component.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,13 @@ export class IgxGridToolbarComponent extends DisplayDensityBase {
6868

6969
private _filterColumnsPrompt = 'Filter columns list ...';
7070

71+
/**
72+
* @hidden
73+
* @internal
74+
*/
75+
@Input()
76+
public class = '';
77+
7178
/**
7279
* Gets the height for the `IgxGridToolbarComponent`'s drop down panels.
7380
* ```typescript
@@ -211,6 +218,10 @@ export class IgxGridToolbarComponent extends DisplayDensityBase {
211218

212219
@HostBinding('attr.class')
213220
get hostClass(): string {
221+
const classes = [this.getComponentDensityClass('igx-grid-toolbar')];
222+
// The custom classes should be at the end.
223+
classes.push(this.class);
224+
return classes.join(' ');
214225
return this.getComponentDensityClass('igx-grid-toolbar');
215226
}
216227

projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@
5656
[column]="filteringService.filteredColumn"></igx-grid-filtering-row>
5757
</div>
5858
<div class="igx-grid__thead-thumb" [hidden]='!hasVerticalSroll()' [style.width.px]="scrollWidth"></div>
59-
<div [style.display]="shouldOverlayLoading ? 'flex' : 'none'" #loadingOverlay>
60-
<igx-circular-bar [indeterminate]="true">
59+
<div #loadingOverlay>
60+
<igx-circular-bar [indeterminate]="true" *ngIf='shouldOverlayLoading'>
6161
</igx-circular-bar>
6262
</div>
6363
<span *ngIf="hasMovableColumns && draggedColumn" [igxColumnMovingDrop]="headerContainer" [attr.droppable]="true"

0 commit comments

Comments
 (0)