Skip to content

Commit 4a276ce

Browse files
authored
Merge pull request #7837 from IgniteUI/mpopov/responsive-filtering-row-MASTER
Adding responsive styles for filtering row
2 parents 3e10704 + e988a3a commit 4a276ce

File tree

5 files changed

+54
-11
lines changed

5 files changed

+54
-11
lines changed

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -562,8 +562,12 @@
562562
@extend %igx-grid__filtering-row--compact !optional;
563563
}
564564

565-
@include e(filtering-row-buttons) {
566-
@extend %igx-grid__filtering-row-buttons !optional;
565+
@include e(filtering-row-editing-buttons) {
566+
@extend %igx-grid__filtering-row-editing-buttons !optional;
567+
}
568+
569+
@include e(filtering-row-editing-buttons, $m: small) {
570+
@extend %igx-grid__filtering-row-editing-buttons--small !optional;
567571
}
568572

569573
@include e(filtering-row-main) {

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

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2374,7 +2374,9 @@
23742374
}
23752375

23762376
igx-input-group {
2377-
flex: 0 0 200px;
2377+
width: 100%;
2378+
max-width: rem(200px);
2379+
min-width: rem(140px);
23782380
}
23792381

23802382
igx-prefix:focus {
@@ -2418,6 +2420,7 @@
24182420
flex: 1;
24192421
overflow: hidden;
24202422
max-width: calc(100% - 176px);
2423+
min-width: rem(56px);
24212424

24222425
igx-chips-area {
24232426
transition: transform .25s $ease-out-back;
@@ -2649,4 +2652,30 @@
26492652

26502653
@include _excel-filtering($theme, $palette);
26512654
@include _advanced-filtering($theme, $palette);
2655+
2656+
%igx-grid__filtering-row-editing-buttons--small,
2657+
%igx-grid__filtering-row-editing-buttons {
2658+
display: flex;
2659+
align-items: center;
2660+
}
2661+
2662+
%igx-grid__filtering-row-editing-buttons {
2663+
button {
2664+
igx-icon {
2665+
margin-#{$right}: rem(8px);
2666+
}
2667+
}
2668+
}
2669+
2670+
%igx-grid__filtering-row-editing-buttons--small {
2671+
button {
2672+
&:not([disabled]) {
2673+
igx-icon {
2674+
color: --var($theme, 'sorted-header-icon-color');
2675+
}
2676+
}
2677+
}
2678+
}
26522679
}
2680+
2681+

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

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,13 @@
123123
<igx-icon>navigate_next</igx-icon>
124124
</button>
125125

126-
<div #buttonsContainer class="igx-grid__filtering-row-editing-buttons">
127-
<button igxButton igxRipple (click)="clearFiltering()" [disabled]="disabled" [tabindex]="disabled">{{filteringService.grid.resourceStrings.igx_grid_filter_row_reset}}</button>
128-
<button #closeButton igxButton igxRipple (click)="close()">{{filteringService.grid.resourceStrings.igx_grid_filter_row_close}}</button>
126+
<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">
128+
<igx-icon>refresh</igx-icon>
129+
{{isNarrowWidth ? '' : filteringService.grid.resourceStrings.igx_grid_filter_row_reset}}
130+
</button>
131+
<button #closeButton [igxButton]="isNarrowWidth ? 'icon' : 'flat'" igxRipple (click)="close()">
132+
<igx-icon>close</igx-icon>
133+
{{isNarrowWidth ? '' : filteringService.grid.resourceStrings.igx_grid_filter_row_close}}
134+
</button>
129135
</div>

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,4 +778,8 @@ export class IgxGridFilteringRowComponent implements AfterViewInit {
778778
private get isColumnFiltered() {
779779
return this.column.filteringExpressionsTree && this.column.filteringExpressionsTree.filteringOperands.length > 0;
780780
}
781+
782+
public get isNarrowWidth(): boolean {
783+
return this.element.nativeElement.offsetWidth < 432;
784+
}
781785
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1128,7 +1128,7 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
11281128
const reset = editingBtns.queryAll(By.css('button'))[0];
11291129
const close = editingBtns.queryAll(By.css('button'))[1];
11301130

1131-
expect(reset.nativeElement.innerText).toBe('Reset');
1131+
expect(reset.nativeElement.childNodes[1].textContent.trim()).toBe('Reset');
11321132
}));
11331133

11341134
it('Should correctly change resource strings for filter row using Changei18n.', fakeAsync(() => {
@@ -1151,8 +1151,8 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
11511151
const reset = editingBtns.queryAll(By.css('button'))[0];
11521152
const close = editingBtns.queryAll(By.css('button'))[1];
11531153

1154-
expect(close.nativeElement.innerText).toBe('My close');
1155-
expect(reset.nativeElement.innerText).toBe('Reset');
1154+
expect(close.nativeElement.childNodes[1].textContent.trim()).toBe('My close');
1155+
expect(reset.nativeElement.childNodes[1].textContent.trim()).toBe('Reset');
11561156

11571157
changei18n({
11581158
igx_grid_filter: 'Filter',
@@ -1181,8 +1181,8 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => {
11811181
const reset = editingBtns.queryAll(By.css('button'))[0];
11821182
const close = editingBtns.queryAll(By.css('button'))[1];
11831183

1184-
expect(close.nativeElement.innerText).toBe('My close');
1185-
expect(reset.nativeElement.innerText).toBe('Reset');
1184+
expect(close.nativeElement.childNodes[1].textContent.trim()).toBe('My close');
1185+
expect(reset.nativeElement.childNodes[1].textContent.trim()).toBe('Reset');
11861186
}));
11871187

11881188
it('should correctly apply locale to datePicker.', fakeAsync(() => {

0 commit comments

Comments
 (0)