Skip to content

Commit d5d2d77

Browse files
Merge pull request #8110 from IgniteUI/ibarakov/fix-7090-master
Make filtering row respect grid's display density
2 parents dab344a + 494be57 commit d5d2d77

File tree

6 files changed

+56
-17
lines changed

6 files changed

+56
-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
@@ -552,6 +552,14 @@
552552
@extend %igx-grid__filtering-cell !optional;
553553
}
554554

555+
@include e(filtering-cell, $m: cosy) {
556+
@extend %igx-grid__filtering-cell--cosy !optional;
557+
}
558+
559+
@include e(filtering-cell, $m: compact) {
560+
@extend %igx-grid__filtering-cell--compact !optional;
561+
}
562+
555563
@include e(filtering-cell, $m: 'selected') {
556564
@extend %igx-grid__filtering-cell !optional;
557565
@extend %igx-grid__filtering-cell--selected !optional;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2443,6 +2443,7 @@
24432443
}
24442444

24452445
igx-input-group {
2446+
--igx-input-group-variant: fluent;
24462447
width: 100%;
24472448
max-width: rem(200px);
24482449
min-width: rem(140px);

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)">
@@ -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
@@ -105,11 +105,11 @@
105105
</igx-chip>
106106

107107
<span id='operand' *ngIf="!last">
108-
<button igxButton (click)="toggleOperatorsDropDown($event, i)" [igxDropDownItemNavigation]="operators">
108+
<button igxButton (click)="toggleOperatorsDropDown($event, i)" [igxDropDownItemNavigation]="operators" [displayDensity]="column.grid.displayDensity">
109109
<igx-icon>expand_more</igx-icon>
110110
<span>{{filteringService.getOperatorAsString(item.afterOperator)}}</span>
111111
</button>
112-
<igx-drop-down #operators (onSelection)="onLogicOperatorChanged($event, item)">
112+
<igx-drop-down [displayDensity]="column.grid.displayDensity" #operators (onSelection)="onLogicOperatorChanged($event, item)">
113113
<igx-drop-down-item [value]="0" [selected]="item.afterOperator === 0">{{filteringService.grid.resourceStrings.igx_grid_filter_operator_and}}</igx-drop-down-item>
114114
<igx-drop-down-item [value]="1" [selected]="item.afterOperator === 1">{{filteringService.grid.resourceStrings.igx_grid_filter_operator_or}}</igx-drop-down-item>
115115
</igx-drop-down>
@@ -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)