Skip to content

Commit 1623a70

Browse files
authored
Merge pull request #16468 from IgniteUI/mkirova/fix-16464-20.1.x
fix(igxGrid): Merge user-set pin config with default one.
1 parent 5ce6bf8 commit 1623a70

2 files changed

Lines changed: 24 additions & 2 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2321,7 +2321,7 @@ export abstract class IgxGridBaseDirective implements GridType,
23212321
if (value !== this._pinning) {
23222322
this.resetCaches();
23232323
}
2324-
this._pinning = value;
2324+
this._pinning = Object.assign({}, this._pinning, value);
23252325
}
23262326

23272327
/**

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

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { By } from '@angular/platform-browser';
33
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
44
import { IgxStringFilteringOperand } from '../../data-operations/filtering-condition';
5-
import { ColumnPinningPosition, GridSelectionMode } from '../common/enums';
5+
import { ColumnPinningPosition, GridSelectionMode, RowPinningPosition } from '../common/enums';
66
import { wait, UIInteractions } from '../../test-utils/ui-interactions.spec';
77
import {
88
CELL_PINNED_CLASS,
@@ -1010,4 +1010,26 @@ describe('IgxGrid - Column Pinning #grid', () => {
10101010
expect(rootMRLGroups.map(x => x.visibleIndex)).toEqual([0, 2, 1])
10111011
}));
10121012
});
1013+
1014+
describe('Pinning Configuration', () => {
1015+
let fix;
1016+
let grid: IgxGridComponent;
1017+
1018+
beforeEach(() => {
1019+
fix = TestBed.createComponent(PinningComponent);
1020+
grid = fix.componentInstance.grid;
1021+
});
1022+
1023+
it('should merge partial user configuration with default values', () => {
1024+
// Default is { columns: ColumnPinningPosition.Start }
1025+
// Set only rows property
1026+
grid.pinning = { rows: RowPinningPosition.Bottom };
1027+
fix.detectChanges();
1028+
1029+
// Should merge, keeping default columns value
1030+
expect(grid.pinning.columns).toBe(ColumnPinningPosition.Start);
1031+
expect(grid.pinning.rows).toBe(RowPinningPosition.Bottom);
1032+
});
1033+
});
1034+
10131035
});

0 commit comments

Comments
 (0)