@@ -31,7 +31,8 @@ describe('Basic IgxHierarchicalGrid', () => {
3131 IgxHierarchicalGridCustomRowEditOverlayComponent ,
3232 IgxHierarchicalGridAutoSizeColumnsComponent ,
3333 IgxHierarchicalGridCustomTemplateComponent ,
34- IgxHierarchicalGridCustomFilteringTemplateComponent
34+ IgxHierarchicalGridCustomFilteringTemplateComponent ,
35+ IgxHierarchicalGridToggleRIAndColsComponent
3536 ] ,
3637 imports : [ NoopAnimationsModule , IgxHierarchicalGridModule ]
3738 } ) . compileComponents ( ) ;
@@ -1623,6 +1624,27 @@ describe('Basic IgxHierarchicalGrid', () => {
16231624
16241625 } ) ;
16251626
1627+ describe ( 'Columns and row islands runtime change' , ( ) => {
1628+ let fixture : ComponentFixture < IgxHierarchicalGridToggleRIAndColsComponent > ;
1629+ let hierarchicalGrid : IgxHierarchicalGridComponent ;
1630+ it ( 'should allow changing columns runtime in root grid when there are no row islands.' , fakeAsync ( ( ) => {
1631+ fixture = TestBed . createComponent ( IgxHierarchicalGridToggleRIAndColsComponent ) ;
1632+ fixture . detectChanges ( ) ;
1633+ hierarchicalGrid = fixture . componentInstance . hgrid ;
1634+ expect ( hierarchicalGrid . childLayoutList . length ) . toBe ( 0 ) ;
1635+ expect ( hierarchicalGrid . columns . length ) . toBe ( 0 ) ;
1636+ fixture . componentInstance . toggleColumns = true ;
1637+ fixture . detectChanges ( ) ;
1638+ tick ( ) ;
1639+ fixture . detectChanges ( ) ;
1640+ expect ( hierarchicalGrid . columns . length ) . toBe ( 2 ) ;
1641+
1642+ fixture . componentInstance . toggleRI = true ;
1643+ fixture . detectChanges ( ) ;
1644+ expect ( hierarchicalGrid . childLayoutList . length ) . toBe ( 1 ) ;
1645+ } ) ) ;
1646+ } ) ;
1647+
16261648 describe ( 'IgxHierarchicalGrid custom template #hGrid' , ( ) => {
16271649
16281650 it ( 'should allow setting custom template for expand/collapse icons' , async ( ) => {
@@ -1915,7 +1937,21 @@ export class IgxHierarchicalGridSizingComponent {
19151937export class IgxHierarchicalGridToggleRIComponent extends IgxHierarchicalGridTestBaseComponent {
19161938public toggleRI = true ;
19171939public toggleChildRI = true ;
1940+ }
19181941
1942+ @Component ( {
1943+ template : `
1944+ <igx-hierarchical-grid #hierarchicalGrid [data]="data"
1945+ [autoGenerate]="false" [height]="'400px'" [width]="'500px'">
1946+ <igx-column field="ID" *ngIf='toggleColumns'></igx-column>
1947+ <igx-column field="ProductName" *ngIf='toggleColumns'></igx-column>
1948+ <igx-row-island *ngIf='toggleRI' [key]="'childData'" [autoGenerate]="true">
1949+ </igx-row-island>
1950+ </igx-hierarchical-grid>`
1951+ } )
1952+ export class IgxHierarchicalGridToggleRIAndColsComponent extends IgxHierarchicalGridToggleRIComponent {
1953+ public toggleRI = false ;
1954+ public toggleColumns = false ;
19191955}
19201956
19211957@Component ( {
0 commit comments