Skip to content

Commit f0f4a9a

Browse files
Merge branch 'master' into tzhelev/esf-load-on-demand
2 parents 57d8520 + eb91703 commit f0f4a9a

File tree

3 files changed

+43
-2
lines changed

3 files changed

+43
-2
lines changed

projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-column-moving.component.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ export class IgxExcelStyleColumnMovingComponent {
5555
}
5656
} else if (this.grid.unpinnedColumns.indexOf(this.column) === 0 && moveDirection === 0) {
5757
targetColumn = this.grid.pinnedColumns[this.grid.pinnedColumns.length - 1];
58+
if (targetColumn.parent) {
59+
targetColumn = targetColumn.topLevelParent;
60+
}
5861
moveDirection = 1;
5962
} else {
6063
targetColumn = this.findColumn(moveDirection, this.grid.unpinnedColumns);

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

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5679,6 +5679,44 @@ describe('IgxGrid - Filtering actions - Excel style filtering', () => {
56795679
expect(pinButton.classList.contains('igx-excel-filter__actions-pin--disabled')).toBe(true,
56805680
'pinButton should be disabled');
56815681
}));
5682+
5683+
it('Should pin column next to already pinned group by moving it to the left.', fakeAsync(() => {
5684+
// Test prerequisites
5685+
grid.width = '1000px';
5686+
fix.detectChanges();
5687+
tick(100);
5688+
// Adjust column widths, so their group can be pinned.
5689+
const columnFields = ['ID', 'ProductName', 'Downloads', 'Released', 'ReleaseDate', 'AnotherField'];
5690+
columnFields.forEach((columnField) => {
5691+
const col = grid.columns.find((c) => c.field === columnField);
5692+
col.width = '100px';
5693+
});
5694+
fix.detectChanges();
5695+
// Make 'AnotherField' column movable.
5696+
const column = grid.columns.find((c) => c.field === 'AnotherField');
5697+
column.movable = true;
5698+
fix.detectChanges();
5699+
5700+
// Pin the 'General Information' group by pinning its child 'ProductName' column.
5701+
GridFunctions.clickExcelFilterIcon(fix, 'ProductName');
5702+
fix.detectChanges();
5703+
GridFunctions.clickPinIconInExcelStyleFiltering(fix, false);
5704+
tick(200);
5705+
fix.detectChanges();
5706+
5707+
// Verify 'AnotherField' column is not pinned.
5708+
GridFunctions.verifyColumnIsPinned(column, false, 7);
5709+
5710+
// Try to pin the 'AnotherField' column by moving it to the left.
5711+
GridFunctions.clickExcelFilterIcon(fix, 'AnotherField');
5712+
fix.detectChanges();
5713+
GridFunctions.clickMoveLeftInExcelStyleFiltering(fix);
5714+
tick(200);
5715+
fix.detectChanges();
5716+
5717+
// Verify 'AnotherField' column is successfully pinned next to the column group.
5718+
GridFunctions.verifyColumnIsPinned(column, true, 8);
5719+
}));
56825720
});
56835721
});
56845722

projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<span *ngIf="hasMovableColumns && draggedColumn && pinnedColumns.length > 0"
1212
[igxColumnMovingDrop]="parentVirtDir" [attr.droppable]="true" id="left"
1313
class="igx-grid__scroll-on-drag-pinned" [style.left.px]="pinnedWidth"></span>
14-
<div class="igx-grid__hierarchical-expander igx-grid__hierarchical-expander--header"
15-
#headerHierarchyExpander [hidden]='!hasExpandableChildren || !hasVisibleColumns' [ngClass]="{
14+
<div #headerHierarchyExpander [hidden]='!hasExpandableChildren || !hasVisibleColumns' [ngClass]="{
15+
'igx-grid__hierarchical-expander igx-grid__hierarchical-expander--header': hasExpandableChildren,
1616
'igx-grid__hierarchical-expander--push': filteringService.isFilterRowVisible,
1717
'igx-grid__hierarchical-expander--no-border': rowSelectable || rowDraggable
1818
}">

0 commit comments

Comments
 (0)