Skip to content

Commit 93923dc

Browse files
Merge pull request #8151 from IgniteUI/ibarakov/fix-7090-9.1.x
Make filtering row respect grid's display density
2 parents 625b3ef + 3dbf320 commit 93923dc

File tree

5 files changed

+55
-17
lines changed

5 files changed

+55
-17
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
@@ -528,6 +528,14 @@
528528
@extend %igx-grid__filtering-cell !optional;
529529
}
530530

531+
@include e(filtering-cell, $m: cosy) {
532+
@extend %igx-grid__filtering-cell--cosy !optional;
533+
}
534+
535+
@include e(filtering-cell, $m: compact) {
536+
@extend %igx-grid__filtering-cell--compact !optional;
537+
}
538+
531539
@include e(filtering-cell, $m: 'selected') {
532540
@extend %igx-grid__filtering-cell !optional;
533541
@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: 17 additions & 4 deletions
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
@@ -59,11 +60,19 @@ export class IgxGridFilteringCellComponent implements AfterViewInit, OnInit, DoC
5960

6061
@HostBinding('class')
6162
get styleClasses(): string {
62-
if (this.column && this.column.selected) {
63-
return 'igx-grid__filtering-cell--selected';
63+
let classes = this.column && this.column.selected ?
64+
'igx-grid__filtering-cell--selected' :
65+
'igx-grid__filtering-cell';
66+
67+
switch (this.column.grid.displayDensity) {
68+
case DisplayDensity.compact:
69+
classes = classes + ' igx-grid__filtering-cell--compact';
70+
break;
71+
case DisplayDensity.cosy:
72+
classes = classes + ' igx-grid__filtering-cell--cosy';
73+
break;
6474
}
65-
66-
return 'igx-grid__filtering-cell';
75+
return classes;
6776
}
6877

6978
constructor(public cdr: ChangeDetectorRef, public filteringService: IgxFilteringService) {
@@ -98,6 +107,10 @@ export class IgxGridFilteringCellComponent implements AfterViewInit, OnInit, DoC
98107
this.updateVisibleFilters();
99108
}
100109

110+
get displayDensity(): string {
111+
return this.column.grid.displayDensity === DisplayDensity.comfortable ? DisplayDensity.cosy : this.column.grid.displayDensity;
112+
}
113+
101114
get template(): TemplateRef<any> {
102115
if (!this.column.filterable) {
103116
return null;

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

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!-- Have to apply styles inline because of the overlay outlet ... -->
2-
<igx-drop-down #inputGroupConditions [height]="'200px'" (onSelection)="onConditionsChanged($event)">
2+
<igx-drop-down #inputGroupConditions [displayDensity]="displayDensity" [height]="'200px'" (onSelection)="onConditionsChanged($event)">
33
<igx-drop-down-item *ngFor="let condition of conditions"
44
[value]="condition"
55
[selected]="isConditionSelected(condition)">
@@ -9,7 +9,7 @@
99
</igx-drop-down>
1010

1111
<ng-template #defaultFilterUI>
12-
<igx-input-group #inputGroup type="box" [displayDensity]="'compact'" (focusout)="onInputGroupFocusout()">
12+
<igx-input-group #inputGroup type="fluent" [displayDensity]="displayDensity" (focusout)="onInputGroupFocusout()">
1313
<igx-prefix #inputGroupPrefix
1414
(click)="inputGroupPrefixClick($event)"
1515
(keydown)="onPrefixKeyDown($event)"
@@ -49,7 +49,7 @@
4949
(onSelection)="onDateSelected($event)"
5050
(onClosed)="datePickerClose()">
5151
<ng-template igxDatePickerTemplate let-openDialog="openDialog">
52-
<igx-input-group #inputGroup type="box" [displayDensity]="'compact'" (focusout)="onInputGroupFocusout()">
52+
<igx-input-group #inputGroup type="fluent" [displayDensity]="displayDensity" (focusout)="onInputGroupFocusout()">
5353
<igx-prefix #inputGroupPrefix
5454
tabindex="0"
5555
(click)="inputGroupPrefixClick($event)"
@@ -92,7 +92,7 @@
9292
(onRemove)="onChipRemoved($event, item)"
9393
[selectable]="false"
9494
[selected]="item.isSelected"
95-
[displayDensity]="'cosy'"
95+
[displayDensity]="displayDensity"
9696
[removable]="true">
9797
<igx-icon
9898
igxPrefix
@@ -103,11 +103,11 @@
103103
</igx-chip>
104104

105105
<span id='operand' *ngIf="!last">
106-
<button igxButton (click)="toggleOperatorsDropDown($event, i)" [igxDropDownItemNavigation]="operators">
106+
<button igxButton (click)="toggleOperatorsDropDown($event, i)" [igxDropDownItemNavigation]="operators" [displayDensity]="column.grid.displayDensity">
107107
<igx-icon>expand_more</igx-icon>
108108
<span>{{filteringService.getOperatorAsString(item.afterOperator)}}</span>
109109
</button>
110-
<igx-drop-down #operators (onSelection)="onLogicOperatorChanged($event, item)">
110+
<igx-drop-down [displayDensity]="column.grid.displayDensity" #operators (onSelection)="onLogicOperatorChanged($event, item)">
111111
<igx-drop-down-item [value]="0" [selected]="item.afterOperator === 0">{{filteringService.grid.resourceStrings.igx_grid_filter_operator_and}}</igx-drop-down-item>
112112
<igx-drop-down-item [value]="1" [selected]="item.afterOperator === 1">{{filteringService.grid.resourceStrings.igx_grid_filter_operator_or}}</igx-drop-down-item>
113113
</igx-drop-down>
@@ -122,11 +122,11 @@
122122
</button>
123123

124124
<div #buttonsContainer [ngClass]="isNarrowWidth ? 'igx-grid__filtering-row-editing-buttons--small' : 'igx-grid__filtering-row-editing-buttons'">
125-
<button [igxButton]="isNarrowWidth ? 'icon' : 'flat'" igxRipple (click)="clearFiltering()" [disabled]="disabled" [tabindex]="disabled">
125+
<button [displayDensity]="column.grid.displayDensity" [igxButton]="isNarrowWidth ? 'icon' : 'flat'" igxRipple (click)="clearFiltering()" [disabled]="disabled" [tabindex]="disabled">
126126
<igx-icon>refresh</igx-icon>
127127
{{isNarrowWidth ? '' : filteringService.grid.resourceStrings.igx_grid_filter_row_reset}}
128128
</button>
129-
<button #closeButton [igxButton]="isNarrowWidth ? 'icon' : 'flat'" igxRipple (click)="close()">
129+
<button #closeButton [displayDensity]="column.grid.displayDensity" [igxButton]="isNarrowWidth ? 'icon' : 'flat'" igxRipple (click)="close()">
130130
<igx-icon>close</igx-icon>
131131
{{isNarrowWidth ? '' : filteringService.grid.resourceStrings.igx_grid_filter_row_close}}
132132
</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)