Skip to content

Commit ee20383

Browse files
fix(grid: column-pinning): working pinColumn with indexes for the last position (#13397)
* fix(grid: column-pinning): working pinColumn with indexes for the last position * fix(grid-column-pinning): add the DropPosition and parse the string to number * fix(grid-column-pinning): using parseInt instead of Number * fix(grid-column-pinning): index of type number pinColumn and unpinColumn methods
1 parent 91bc80b commit ee20383

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

projects/igniteui-angular/src/lib/grids/columns/column.component.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -2114,7 +2114,8 @@ export class IgxColumnComponent implements AfterContentInit, OnDestroy, ColumnTy
21142114
}
21152115

21162116
if (hasIndex) {
2117-
grid._moveColumns(this, targetColumn);
2117+
index === grid._pinnedColumns.length - 1 ?
2118+
grid._moveColumns(this, targetColumn, DropPosition.AfterDropTarget) : grid._moveColumns(this, targetColumn, DropPosition.BeforeDropTarget);
21182119
}
21192120

21202121
if (this.columnGroup) {

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -5092,7 +5092,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
50925092
* @param columnName
50935093
* @param index
50945094
*/
5095-
public pinColumn(columnName: string | IgxColumnComponent, index?): boolean {
5095+
public pinColumn(columnName: string | IgxColumnComponent, index?: number): boolean {
50965096
const col = columnName instanceof IgxColumnComponent ? columnName : this.getColumnByName(columnName);
50975097
return col.pin(index);
50985098
}
@@ -5107,7 +5107,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
51075107
* @param columnName
51085108
* @param index
51095109
*/
5110-
public unpinColumn(columnName: string | IgxColumnComponent, index?): boolean {
5110+
public unpinColumn(columnName: string | IgxColumnComponent, index?: number): boolean {
51115111
const col = columnName instanceof IgxColumnComponent ? columnName : this.getColumnByName(columnName);
51125112
return col.unpin(index);
51135113
}

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

+11
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,17 @@ describe('IgxGrid - Column Pinning #grid', () => {
188188

189189
});
190190

191+
it('should pin the column on the last position if the index for the last position is provided', () => {
192+
grid.pinColumn('CompanyName');
193+
fix.detectChanges();
194+
195+
grid.pinColumn('City', 2);
196+
fix.detectChanges();
197+
198+
expect(grid.pinnedColumns.length).toEqual(3);
199+
expect(grid.pinnedColumns[2].field).toEqual('City');
200+
});
201+
191202
it('should correctly initialize pinned columns z-index values.', () => {
192203

193204
const headers = GridFunctions.getColumnHeaders(fix);

0 commit comments

Comments
 (0)