Skip to content

Commit ba9b15b

Browse files
authored
Merge pull request #7076 from IgniteUI/mdragnev/fix-5640-master
fix(igxGrid): List only pinnable columns in pinning toolbar #5640
2 parents 1f204e9 + 934208d commit ba9b15b

File tree

4 files changed

+28
-1
lines changed

4 files changed

+28
-1
lines changed

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,20 @@ describe('Column Pinning UI #grid', () => {
249249
});
250250
}));
251251

252+
it('toolbar should contain only pinnable columns', () => {
253+
grid.showToolbar = true;
254+
grid.columnPinning = true;
255+
fix.detectChanges();
256+
257+
let toolbar = grid.toolbar.columnPinningUI;
258+
expect(toolbar.pinnableColumns.length).toBe(5);
259+
260+
grid.columns[0].disablePinning = true;
261+
fix.detectChanges();
262+
263+
toolbar = grid.toolbar.columnPinningUI;
264+
expect(toolbar.pinnableColumns.length).toBe(4);
265+
});
252266
});
253267

254268
describe('', () => {

projects/igniteui-angular/src/lib/grids/pinning/column-pinning.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ <h4 class="igx-column-hiding__header-title" *ngIf="title">{{ title }}</h4>
1414
<div class="igx-column-hiding__columns"
1515
[style.max-height]="columnsAreaMaxHeight">
1616
<igx-checkbox igxColumnPinningItem
17-
*ngFor="let columnItem of columnItems"
17+
*ngFor="let columnItem of pinnableColumns"
1818
class="igx-column-hiding__columns-item"
1919
(change)="checkboxValueChange($event, columnItem)"
2020
[checked]="columnItem.value">

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,5 +39,12 @@ export class IgxColumnPinningComponent extends ColumnChooserBaseDirective {
3939
}
4040
columnItem.value = !columnItem.value;
4141
}
42+
43+
/**
44+
* @hidden @internal
45+
*/
46+
public get pinnableColumns() {
47+
return this.columnItems.filter((col) => !col.pinningDisabled);
48+
}
4249
}
4350

projects/igniteui-angular/src/lib/grids/pinning/pinning.directive.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,10 @@ export class IgxColumnPinningItemDirective extends ColumnChooserItemBaseDirectiv
2222
get pinnable() {
2323
return this.column.pinnable;
2424
}
25+
/**
26+
* Returns whether a column have pinning enabled
27+
*/
28+
public get pinningDisabled() {
29+
return this.column.disablePinning;
30+
}
2531
}

0 commit comments

Comments
 (0)