@@ -45,7 +45,7 @@ import {map, take} from 'rxjs/operators';
45
45
* }
46
46
* and the output flattened type is `F` with additional information.
47
47
*/
48
- export class MatTreeFlattener < T , F > {
48
+ export class MatTreeFlattener < T , F , K = F > {
49
49
50
50
constructor ( public transformFunction : ( node : T , level : number ) => F ,
51
51
public getLevel : ( node : F ) => number ,
@@ -97,7 +97,7 @@ export class MatTreeFlattener<T, F> {
97
97
* Expand flattened node with current expansion status.
98
98
* The returned list may have different length.
99
99
*/
100
- expandFlattenedNodes ( nodes : F [ ] , treeControl : TreeControl < F > ) : F [ ] {
100
+ expandFlattenedNodes ( nodes : F [ ] , treeControl : TreeControl < F , K > ) : F [ ] {
101
101
let results : F [ ] = [ ] ;
102
102
let currentExpand : boolean [ ] = [ ] ;
103
103
currentExpand [ 0 ] = true ;
@@ -126,7 +126,7 @@ export class MatTreeFlattener<T, F> {
126
126
* The nested tree nodes of type `T` are flattened through `MatTreeFlattener`, and converted
127
127
* to type `F` for `MatTree` to consume.
128
128
*/
129
- export class MatTreeFlatDataSource < T , F > extends DataSource < F > {
129
+ export class MatTreeFlatDataSource < T , F , K = F > extends DataSource < F > {
130
130
_flattenedData = new BehaviorSubject < F [ ] > ( [ ] ) ;
131
131
132
132
_expandedData = new BehaviorSubject < F [ ] > ( [ ] ) ;
@@ -139,8 +139,8 @@ export class MatTreeFlatDataSource<T, F> extends DataSource<F> {
139
139
this . _treeControl . dataNodes = this . _flattenedData . value ;
140
140
}
141
141
142
- constructor ( private _treeControl : FlatTreeControl < F > ,
143
- private _treeFlattener : MatTreeFlattener < T , F > ,
142
+ constructor ( private _treeControl : FlatTreeControl < F , K > ,
143
+ private _treeFlattener : MatTreeFlattener < T , F , K > ,
144
144
initialData : T [ ] = [ ] ) {
145
145
super ( ) ;
146
146
this . _data = new BehaviorSubject < T [ ] > ( initialData ) ;
0 commit comments