Skip to content

Commit 840b28f

Browse files
committed
fix(grid-quick-filtering): make filtering row respect grid's display density
1 parent 85fc9ec commit 840b28f

File tree

5 files changed

+51
-11
lines changed

5 files changed

+51
-11
lines changed

projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-component.scss

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -536,6 +536,14 @@
536536
@extend %igx-grid__filtering-cell !optional;
537537
}
538538

539+
@include e(filtering-cell, $m: cosy) {
540+
@extend %igx-grid__filtering-cell--cosy !optional;
541+
}
542+
543+
@include e(filtering-cell, $m: compact) {
544+
@extend %igx-grid__filtering-cell--compact !optional;
545+
}
546+
539547
@include e(filtering-cell, $m: 'selected') {
540548
@extend %igx-grid__filtering-cell !optional;
541549
@extend %igx-grid__filtering-cell--selected !optional;

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<ng-template #emptyFilter>
22
<igx-chips-area [attr.draggable]="false" class="igx-filtering-chips">
3-
<igx-chip #ghostChip [attr.draggable]="false" (click)="onChipClicked()" [displayDensity]="'cosy'" tabIndex="-1">
3+
<igx-chip #ghostChip [attr.draggable]="false" (click)="onChipClicked()" [displayDensity]="displayDensity" tabIndex="-1">
44
<igx-icon [attr.draggable]="false" igxPrefix>filter_list</igx-icon>
55
<span [attr.draggable]="false">{{filteringService.grid.resourceStrings.igx_grid_filter}}</span>
66
</igx-chip>
@@ -13,7 +13,7 @@
1313
<igx-chip *ngIf="isChipVisible(index)"
1414
[removable]="true"
1515
tabIndex="-1"
16-
[displayDensity]="'cosy'"
16+
[displayDensity]="displayDensity"
1717
(click)="onChipClicked(item.expression)"
1818
(onRemove)="onChipRemoved($event, item)">
1919
<igx-icon igxPrefix
@@ -34,7 +34,7 @@
3434
</ng-template>
3535

3636
<ng-template #complexFilter>
37-
<igx-chip #complexChip [removable]="true" [displayDensity]="'cosy'" (onRemove)="clearFiltering()" tabIndex="-1">
37+
<igx-chip #complexChip [removable]="true" [displayDensity]="displayDensity" (onRemove)="clearFiltering()" tabIndex="-1">
3838
<igx-icon igxPrefix>filter_list</igx-icon>
3939
<span>{{filteringService.grid.resourceStrings.igx_grid_complex_filter}}</span>
4040
</igx-chip>

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

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import { IgxColumnComponent } from '../../columns/column.component';
1515
import { IFilteringExpression } from '../../../data-operations/filtering-expression.interface';
1616
import { IBaseChipEventArgs, IgxChipsAreaComponent, IgxChipComponent } from '../../../chips/public_api';
1717
import { IgxFilteringService, ExpressionUI } from '../grid-filtering.service';
18+
import { DisplayDensity } from '../../../core/displayDensity';
1819

1920
/**
2021
* @hidden
@@ -63,7 +64,17 @@ export class IgxGridFilteringCellComponent implements AfterViewInit, OnInit, DoC
6364
return 'igx-grid__filtering-cell--selected';
6465
}
6566

66-
return 'igx-grid__filtering-cell';
67+
let classes = 'igx-grid__filtering-cell';
68+
69+
switch (this.column.grid.displayDensity) {
70+
case DisplayDensity.compact:
71+
classes = classes + ' igx-grid__filtering-cell--compact';
72+
break;
73+
case DisplayDensity.cosy:
74+
classes = classes + ' igx-grid__filtering-cell--cosy';
75+
break;
76+
}
77+
return classes;
6778
}
6879

6980
constructor(public cdr: ChangeDetectorRef, public filteringService: IgxFilteringService) {
@@ -98,6 +109,10 @@ export class IgxGridFilteringCellComponent implements AfterViewInit, OnInit, DoC
98109
this.updateVisibleFilters();
99110
}
100111

112+
get displayDensity(): string {
113+
return this.column.grid.displayDensity === DisplayDensity.comfortable ? DisplayDensity.cosy : this.column.grid.displayDensity;
114+
}
115+
101116
get template(): TemplateRef<any> {
102117
if (!this.column.filterable) {
103118
return null;

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
</igx-drop-down>
1212

1313
<ng-template #defaultFilterUI>
14-
<igx-input-group #inputGroup type="box" [displayDensity]="'compact'" (focusout)="onInputGroupFocusout()">
14+
<igx-input-group #inputGroup type="box" [displayDensity]="displayDensity" (focusout)="onInputGroupFocusout()">
1515
<igx-prefix #inputGroupPrefix
1616
(click)="inputGroupPrefixClick($event)"
1717
(keydown)="onPrefixKeyDown($event)"
@@ -51,7 +51,7 @@
5151
(onSelection)="onDateSelected($event)"
5252
(onClosed)="datePickerClose()">
5353
<ng-template igxDatePickerTemplate let-openDialog="openDialog">
54-
<igx-input-group #inputGroup type="box" [displayDensity]="'compact'" (focusout)="onInputGroupFocusout()">
54+
<igx-input-group #inputGroup type="box" [displayDensity]="displayDensity" (focusout)="onInputGroupFocusout()">
5555
<igx-prefix #inputGroupPrefix
5656
tabindex="0"
5757
(click)="inputGroupPrefixClick($event)"
@@ -94,7 +94,7 @@
9494
(onRemove)="onChipRemoved($event, item)"
9595
[selectable]="false"
9696
[selected]="item.isSelected"
97-
[displayDensity]="'cosy'"
97+
[displayDensity]="displayDensity"
9898
[removable]="true">
9999
<igx-icon
100100
igxPrefix
@@ -124,11 +124,11 @@
124124
</button>
125125

126126
<div #buttonsContainer [ngClass]="isNarrowWidth ? 'igx-grid__filtering-row-editing-buttons--small' : 'igx-grid__filtering-row-editing-buttons'">
127-
<button [igxButton]="isNarrowWidth ? 'icon' : 'flat'" igxRipple (click)="clearFiltering()" [disabled]="disabled" [tabindex]="disabled">
127+
<button [displayDensity]="column.grid.displayDensity" [igxButton]="isNarrowWidth ? 'icon' : 'flat'" igxRipple (click)="clearFiltering()" [disabled]="disabled" [tabindex]="disabled">
128128
<igx-icon>refresh</igx-icon>
129129
{{isNarrowWidth ? '' : filteringService.grid.resourceStrings.igx_grid_filter_row_reset}}
130130
</button>
131-
<button #closeButton [igxButton]="isNarrowWidth ? 'icon' : 'flat'" igxRipple (click)="close()">
131+
<button #closeButton [displayDensity]="column.grid.displayDensity" [igxButton]="isNarrowWidth ? 'icon' : 'flat'" igxRipple (click)="close()">
132132
<igx-icon>close</igx-icon>
133133
{{isNarrowWidth ? '' : filteringService.grid.resourceStrings.igx_grid_filter_row_close}}
134134
</button>

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

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { IgxDropDownItemComponent } from '../../../drop-down/drop-down-item.comp
2626
import { IgxFilteringService } from '../grid-filtering.service';
2727
import { KEYS, isEdge, isIE } from '../../../core/utils';
2828
import { AbsoluteScrollStrategy } from '../../../services/overlay/scroll';
29+
import { DisplayDensity } from '../../../core/displayDensity';
2930

3031
/**
3132
* @hidden
@@ -108,6 +109,10 @@ export class IgxGridFilteringRowComponent implements AfterViewInit {
108109
this.filter();
109110
}
110111

112+
public get displayDensity() {
113+
return this.column.grid.displayDensity === DisplayDensity.comfortable ? DisplayDensity.cosy : this.column.grid.displayDensity;
114+
}
115+
111116
@ViewChild('defaultFilterUI', { read: TemplateRef, static: true })
112117
protected defaultFilterUI: TemplateRef<any>;
113118

@@ -141,8 +146,20 @@ export class IgxGridFilteringRowComponent implements AfterViewInit {
141146
@ViewChild('closeButton', { static: true })
142147
public closeButton: ElementRef;
143148

144-
@HostBinding('class.igx-grid__filtering-row')
145-
public cssClass = 'igx-grid__filtering-row';
149+
@HostBinding('class')
150+
get styleClasses(): string {
151+
let classes = 'igx-grid__filtering-row';
152+
153+
switch (this.column.grid.displayDensity) {
154+
case DisplayDensity.compact:
155+
classes = classes + ' igx-grid__filtering-row--compact';
156+
break;
157+
case DisplayDensity.cosy:
158+
classes = classes + ' igx-grid__filtering-row--cosy';
159+
break;
160+
}
161+
return classes;
162+
}
146163

147164
constructor(public filteringService: IgxFilteringService, public element: ElementRef, public cdr: ChangeDetectorRef) { }
148165

0 commit comments

Comments
 (0)