@@ -31,7 +31,8 @@ describe('Basic IgxHierarchicalGrid', () => {
31
31
IgxHierarchicalGridCustomRowEditOverlayComponent ,
32
32
IgxHierarchicalGridAutoSizeColumnsComponent ,
33
33
IgxHierarchicalGridCustomTemplateComponent ,
34
- IgxHierarchicalGridCustomFilteringTemplateComponent
34
+ IgxHierarchicalGridCustomFilteringTemplateComponent ,
35
+ IgxHierarchicalGridToggleRIAndColsComponent
35
36
] ,
36
37
imports : [ NoopAnimationsModule , IgxHierarchicalGridModule ]
37
38
} ) . compileComponents ( ) ;
@@ -1623,6 +1624,27 @@ describe('Basic IgxHierarchicalGrid', () => {
1623
1624
1624
1625
} ) ;
1625
1626
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
+
1626
1648
describe ( 'IgxHierarchicalGrid custom template #hGrid' , ( ) => {
1627
1649
1628
1650
it ( 'should allow setting custom template for expand/collapse icons' , async ( ) => {
@@ -1915,7 +1937,21 @@ export class IgxHierarchicalGridSizingComponent {
1915
1937
export class IgxHierarchicalGridToggleRIComponent extends IgxHierarchicalGridTestBaseComponent {
1916
1938
public toggleRI = true ;
1917
1939
public toggleChildRI = true ;
1940
+ }
1918
1941
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 ;
1919
1955
}
1920
1956
1921
1957
@Component ( {
0 commit comments