Skip to content

Commit cbf3fb2

Browse files
authored
Merge pull request #7853 from IgniteUI/mpopov/responsive-filtering-row-9.1.x
Adding responsive styles for filtering row
2 parents 0e69f23 + dedd9c5 commit cbf3fb2

File tree

5 files changed

+52
-11
lines changed

5 files changed

+52
-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
@@ -554,8 +554,12 @@
554554
@extend %igx-grid__filtering-row--compact !optional;
555555
}
556556

557-
@include e(filtering-row-buttons) {
558-
@extend %igx-grid__filtering-row-buttons !optional;
557+
@include e(filtering-row-editing-buttons) {
558+
@extend %igx-grid__filtering-row-editing-buttons !optional;
559+
}
560+
561+
@include e(filtering-row-editing-buttons, $m: small) {
562+
@extend %igx-grid__filtering-row-editing-buttons--small !optional;
559563
}
560564

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

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

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2364,7 +2364,9 @@
23642364
}
23652365

23662366
igx-input-group {
2367-
flex: 0 0 200px;
2367+
width: 100%;
2368+
max-width: rem(200px);
2369+
min-width: rem(140px);
23682370
}
23692371

23702372
igx-prefix:focus {
@@ -2399,6 +2401,7 @@
23992401
flex: 1;
24002402
overflow: hidden;
24012403
max-width: calc(100% - 176px);
2404+
min-width: rem(56px);
24022405

24032406
igx-chips-area {
24042407
transition: transform .25s $ease-out-back;
@@ -2630,4 +2633,28 @@
26302633

26312634
@include _excel-filtering($theme, $palette);
26322635
@include _advanced-filtering($theme, $palette);
2636+
2637+
%igx-grid__filtering-row-editing-buttons--small,
2638+
%igx-grid__filtering-row-editing-buttons {
2639+
display: flex;
2640+
align-items: center;
2641+
}
2642+
2643+
%igx-grid__filtering-row-editing-buttons {
2644+
button {
2645+
igx-icon {
2646+
margin-#{$right}: rem(8px);
2647+
}
2648+
}
2649+
}
2650+
2651+
%igx-grid__filtering-row-editing-buttons--small {
2652+
button {
2653+
&:not([disabled]) {
2654+
igx-icon {
2655+
color: --var($theme, 'sorted-header-icon-color');
2656+
}
2657+
}
2658+
}
2659+
}
26332660
}

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
@@ -121,7 +121,13 @@
121121
<igx-icon>navigate_next</igx-icon>
122122
</button>
123123

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