@@ -727,6 +727,14 @@ describe('CdkTable', () => {
727
727
[ '' , '5' , '6' ] ,
728
728
] ) ;
729
729
} ) ;
730
+
731
+ it ( 'should not throw when multiTemplateDataRows is coerced from a static value' , ( ) => {
732
+ expect ( ( ) => {
733
+ setupTableTestApp ( CoercedMultiTemplateDataRows ) ;
734
+ fixture . detectChanges ( ) ;
735
+ } ) . not . toThrow ( ) ;
736
+ } ) ;
737
+
730
738
} ) ;
731
739
} ) ;
732
740
@@ -1625,6 +1633,59 @@ class WhenRowCdkTableApp {
1625
1633
}
1626
1634
}
1627
1635
1636
+ @Component ( {
1637
+ template : `
1638
+ <cdk-table [dataSource]="dataSource" multiTemplateDataRows>
1639
+ <ng-container cdkColumnDef="column_a">
1640
+ <cdk-header-cell *cdkHeaderCellDef> Column A</cdk-header-cell>
1641
+ <cdk-cell *cdkCellDef="let row"> {{row.a}}</cdk-cell>
1642
+ </ng-container>
1643
+
1644
+ <ng-container cdkColumnDef="column_b">
1645
+ <cdk-header-cell *cdkHeaderCellDef> Column B</cdk-header-cell>
1646
+ <cdk-cell *cdkCellDef="let row"> {{row.b}}</cdk-cell>
1647
+ </ng-container>
1648
+
1649
+ <ng-container cdkColumnDef="column_c">
1650
+ <cdk-header-cell *cdkHeaderCellDef> Column C</cdk-header-cell>
1651
+ <cdk-cell *cdkCellDef="let row"> {{row.c}}</cdk-cell>
1652
+ </ng-container>
1653
+
1654
+ <ng-container cdkColumnDef="index1Column">
1655
+ <cdk-header-cell *cdkHeaderCellDef> Column C</cdk-header-cell>
1656
+ <cdk-cell *cdkCellDef> index_1_special_row</cdk-cell>
1657
+ </ng-container>
1658
+
1659
+ <ng-container cdkColumnDef="c3Column">
1660
+ <cdk-header-cell *cdkHeaderCellDef> Column C</cdk-header-cell>
1661
+ <cdk-cell *cdkCellDef> c3_special_row</cdk-cell>
1662
+ </ng-container>
1663
+
1664
+ <ng-container cdkColumnDef="index">
1665
+ <cdk-header-cell *cdkHeaderCellDef> Index</cdk-header-cell>
1666
+ <cdk-cell *cdkCellDef="let index = index"> {{index}}</cdk-cell>
1667
+ </ng-container>
1668
+
1669
+ <ng-container cdkColumnDef="dataIndex">
1670
+ <cdk-header-cell *cdkHeaderCellDef> Data Index</cdk-header-cell>
1671
+ <cdk-cell *cdkCellDef="let dataIndex = dataIndex"> {{dataIndex}}</cdk-cell>
1672
+ </ng-container>
1673
+
1674
+ <ng-container cdkColumnDef="renderIndex">
1675
+ <cdk-header-cell *cdkHeaderCellDef> Render Index</cdk-header-cell>
1676
+ <cdk-cell *cdkCellDef="let renderIndex = renderIndex"> {{renderIndex}}</cdk-cell>
1677
+ </ng-container>
1678
+
1679
+ <cdk-header-row *cdkHeaderRowDef="columnsToRender"></cdk-header-row>
1680
+ <cdk-row *cdkRowDef="let row; columns: columnsToRender"></cdk-row>
1681
+ <cdk-row *cdkRowDef="let row; columns: columnsForIsIndex1Row; when: isIndex1"></cdk-row>
1682
+ <cdk-row *cdkRowDef="let row; columns: columnsForHasC3Row; when: hasC3"></cdk-row>
1683
+ </cdk-table>
1684
+ `
1685
+ } )
1686
+ class CoercedMultiTemplateDataRows extends WhenRowCdkTableApp {
1687
+ }
1688
+
1628
1689
@Component ( {
1629
1690
template : `
1630
1691
<cdk-table [dataSource]="dataSource">
0 commit comments