Skip to content

Commit 041e1c3

Browse files
authored
Merge pull request #8512 from IgniteUI/ttonev/fix-8194-master
fix(grid): column unpinning order #8194 11.0.x
2 parents 557c1ef + 7d8808b commit 041e1c3

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
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
@@ -5491,7 +5491,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
54915491
.filter((c) => c.pinned).sort((a, b) => this._pinnedColumns.indexOf(a) - this._pinnedColumns.indexOf(b));
54925492
this._unpinnedColumns = this.hasColumnGroups ? this.columnList.filter((c) => !c.pinned) :
54935493
this.columnList.filter((c) => !c.pinned)
5494-
.sort((a, b) => this._unpinnedColumns.indexOf(a) - this._unpinnedColumns.indexOf(b));
5494+
.sort((a, b) => a.index - b.index);
54955495
}
54965496

54975497
/**

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,27 @@ describe('Column Pinning UI #grid', () => {
113113
verifyColumnIsPinned(column, false, 0);
114114
});
115115

116+
it('Checks order of columns after unpinning', () => {
117+
for (const column of grid.columns) {
118+
column.pin();
119+
}
120+
fix.detectChanges();
121+
grid.getColumnByName('ID').unpin();
122+
grid.getColumnByName('ReleaseDate').unpin();
123+
grid.getColumnByName('Downloads').unpin();
124+
grid.getColumnByName('ProductName').unpin();
125+
grid.getColumnByName('Released').unpin();
126+
fix.detectChanges();
127+
grid.unpinnedColumns.forEach((column, index) => {
128+
if (index === grid.unpinnedColumns.length - 1) {
129+
return;
130+
}
131+
expect(
132+
column.index < grid.unpinnedColumns[index + 1].index
133+
).toBe(true);
134+
});
135+
});
136+
116137
it('reflects properly grid column pinned value changes.', () => {
117138
const name = 'ReleaseDate';
118139
verifyCheckbox(name, false, false, columnChooserElement, fix);

0 commit comments

Comments
 (0)