Skip to content

Commit 95dbee0

Browse files
authored
Merge pull request #8676 from IgniteUI/ttonev/fix-8512-10.2.x
fix(grid): column unpinning order #8194 10.2.x
2 parents 6aafb73 + 48e7e57 commit 95dbee0

File tree

2 files changed

+22
-2
lines changed

2 files changed

+22
-2
lines changed

projects/igniteui-angular/src/lib/grids/grid-base.directive.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5454,7 +5454,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
54545454
.filter((c) => c.pinned).sort((a, b) => this._pinnedColumns.indexOf(a) - this._pinnedColumns.indexOf(b));
54555455
this._unpinnedColumns = this.hasColumnGroups ? this.columnList.filter((c) => !c.pinned) :
54565456
this.columnList.filter((c) => !c.pinned)
5457-
.sort((a, b) => this._unpinnedColumns.indexOf(a) - this._unpinnedColumns.indexOf(b));
5457+
.sort((a, b) => a.index - b.index);
54585458
}
54595459

54605460
/**

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

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import { DebugElement } from '@angular/core';
32
import { TestBed, async, fakeAsync } from '@angular/core/testing';
43
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
@@ -239,6 +238,27 @@ describe('Column Pinning UI #grid', () => {
239238
toolbar = grid.toolbar.columnPinningUI;
240239
expect(toolbar.columnItems.length).toBe(4);
241240
});
241+
242+
it('Checks order of columns after unpinning', () => {
243+
for (const column of grid.columns) {
244+
column.pin();
245+
}
246+
fix.detectChanges();
247+
grid.getColumnByName('ID').unpin();
248+
grid.getColumnByName('ReleaseDate').unpin();
249+
grid.getColumnByName('Downloads').unpin();
250+
grid.getColumnByName('ProductName').unpin();
251+
grid.getColumnByName('Released').unpin();
252+
fix.detectChanges();
253+
grid.unpinnedColumns.forEach((column, index) => {
254+
if (index === grid.unpinnedColumns.length - 1) {
255+
return;
256+
}
257+
expect(
258+
column.index < grid.unpinnedColumns[index + 1].index
259+
).toBe(true);
260+
});
261+
});
242262
});
243263

244264
describe('', () => {

0 commit comments

Comments
 (0)