Skip to content

Commit d379816

Browse files
authored
Merge branch '10.0.x' into vslavov/row-edit-tab-stop-10.0.x
2 parents 4efba3b + 75abf84 commit d379816

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

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

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,36 @@ describe('IgxHierarchicalGrid selection #hGrid', () => {
674674
// check row is not selected
675675
GridSelectionFunctions.verifyRowSelected(firstRow, false);
676676
});
677+
678+
it('Should not clear root selection state when changing selection mode of child grid', () => {
679+
rowIsland1.rowSelection = GridSelectionMode.multiple;
680+
const firstRow = hierarchicalGrid.getRowByIndex(0) as IgxHierarchicalRowComponent;
681+
const secondRow = hierarchicalGrid.getRowByIndex(1) as IgxHierarchicalRowComponent;
682+
GridSelectionFunctions.clickRowCheckbox(firstRow);
683+
GridSelectionFunctions.clickRowCheckbox(secondRow);
684+
685+
fix.detectChanges();
686+
expect(hierarchicalGrid.getRowByKey('0').selected).toBeTrue();
687+
688+
const thirdRow = hierarchicalGrid.getRowByIndex(2) as IgxHierarchicalRowComponent;
689+
thirdRow.toggle();
690+
fix.detectChanges();
691+
692+
const childGrid = rowIsland1.rowIslandAPI.getChildGrids()[0];
693+
const firstChildRow = childGrid.getRowByIndex(0) as IgxHierarchicalRowComponent;
694+
const secondChildRow = childGrid.getRowByIndex(1) as IgxHierarchicalRowComponent;
695+
GridSelectionFunctions.clickRowCheckbox(firstChildRow);
696+
GridSelectionFunctions.clickRowCheckbox(secondChildRow);
697+
fix.detectChanges();
698+
699+
expect(hierarchicalGrid.selectedRows().length).toEqual(2);
700+
expect(childGrid.selectedRows().length).toEqual(2);
701+
702+
rowIsland1.rowSelection = GridSelectionMode.single;
703+
fix.detectChanges();
704+
expect(hierarchicalGrid.selectedRows().length).toEqual(2);
705+
expect(childGrid.selectedRows().length).toEqual(0);
706+
});
677707
});
678708

679709
describe('Row Selection CRUD', () => {

projects/igniteui-angular/src/lib/grids/hierarchical-grid/row-island.component.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ export interface IGridCreatedEventArgs extends IBaseEventArgs {
5151
changeDetection: ChangeDetectionStrategy.OnPush,
5252
selector: 'igx-row-island',
5353
template: ``,
54-
providers: [IgxRowIslandAPIService]
54+
providers: [IgxRowIslandAPIService,
55+
IgxGridSelectionService]
5556
})
5657
export class IgxRowIslandComponent extends IgxHierarchicalGridBaseDirective
5758
implements AfterContentInit, AfterViewInit, OnChanges, OnInit, OnDestroy, DoCheck {

0 commit comments

Comments
 (0)