Skip to content

Commit 4331ca8

Browse files
authored
fix(igxGrid): Fix issue with group expanding container. (#14512)
1 parent 56070c1 commit 4331ca8

File tree

2 files changed

+47
-3
lines changed

2 files changed

+47
-3
lines changed

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

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import { ISortingExpression, SortingDirection } from '../../data-operations/sort
2626
import { GRID_SCROLL_CLASS } from '../../test-utils/grid-functions.spec';
2727
import { AsyncPipe, NgFor, NgIf } from '@angular/common';
2828
import { IgxPaginatorComponent, IgxPaginatorContentDirective } from '../../paginator/paginator.component';
29-
import { IGridRowEventArgs, IgxGridFooterComponent, IgxGridRow, IgxGroupByRow, IgxSummaryRow } from '../public_api';
29+
import { IGridRowEventArgs, IgxColumnGroupComponent, IgxGridFooterComponent, IgxGridRow, IgxGroupByRow, IgxSummaryRow } from '../public_api';
3030
import { getComponentSize } from '../../core/utils';
3131

3232

@@ -1896,6 +1896,20 @@ describe('IgxGrid Component Tests #grid', () => {
18961896

18971897
expect(calcWidth).not.toBe(80);
18981898
});
1899+
1900+
it('should correctly autosize column headers inside column groups.', async () => {
1901+
const fix = TestBed.createComponent(IgxGridColumnHeaderInGroupAutoSizeComponent);
1902+
const grid = fix.componentInstance.grid;
1903+
grid.data = [{field1: "Test"}];
1904+
1905+
//waiting for reqeustAnimationFrame to finish
1906+
fix.detectChanges();
1907+
await wait(17);
1908+
fix.detectChanges();
1909+
1910+
const calcWidth = parseInt(grid.getColumnByName("field1").calcWidth);
1911+
expect(calcWidth).toBe(126);
1912+
});
18991913
});
19001914

19011915
describe('IgxGrid - API methods', () => {
@@ -2962,6 +2976,36 @@ export class IgxGridColumnHeaderAutoSizeComponent {
29622976

29632977
}
29642978

2979+
@Component({
2980+
template: `
2981+
<igx-grid #grid>
2982+
<igx-column-group>
2983+
<igx-column
2984+
field="field1"
2985+
header="Field 1 Header"
2986+
width="auto"
2987+
></igx-column>
2988+
<igx-column
2989+
field="field2"
2990+
header="Field 2 Header"
2991+
width="auto"
2992+
></igx-column>
2993+
<igx-column
2994+
field="field3"
2995+
header="Field 3 Header"
2996+
width="auto"
2997+
></igx-column>
2998+
</igx-column-group>
2999+
</igx-grid>`,
3000+
standalone: true,
3001+
imports: [IgxGridComponent, IgxColumnComponent, IgxColumnGroupComponent]
3002+
3003+
})
3004+
export class IgxGridColumnHeaderInGroupAutoSizeComponent {
3005+
@ViewChild('grid', { read: IgxGridComponent, static: true })
3006+
public grid: IgxGridComponent;
3007+
}
3008+
29653009
@Component({
29663010
template: `<igx-grid #grid [data]="data" [width]="'500px'" (columnInit)="initColumns($event)">
29673011
<igx-column *ngFor="let col of columns" [field]="col.key" [header]="col.key" [dataType]="col.dataType">

projects/igniteui-angular/src/lib/grids/headers/grid-header-group.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@
6666
[ngClass]="child.headerGroupClasses"
6767
[ngStyle]="child.headerGroupStyles | igxHeaderGroupStyle:child:grid.pipeTrigger"
6868
[column]="child"
69-
[style.min-width]="child.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:grid.hasColumnLayouts"
70-
[style.flex-basis]="child.calcWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:grid.hasColumnLayouts">
69+
[style.min-width]="child.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:grid.hasColumnLayouts"
70+
[style.flex-basis]="child.resolvedWidth | igxHeaderGroupWidth:grid.defaultHeaderGroupMinWidth:grid.hasColumnLayouts">
7171
</igx-grid-header-group>
7272
</ng-container>
7373
</div>

0 commit comments

Comments
 (0)