File tree 4 files changed +61
-2
lines changed
4 files changed +61
-2
lines changed Original file line number Diff line number Diff line change 20
20
< span > Drag and Drop</ span >
21
21
</ a >
22
22
23
+ < a mat-list-item routerLink ="tree-demo ">
24
+ < mat-icon > park</ mat-icon >
25
+ < span > Tree Demo</ span >
26
+ </ a >
27
+
23
28
< a mat-list-item >
24
29
< mat-icon > person_add</ mat-icon >
25
30
< span > Register</ span >
Original file line number Diff line number Diff line change 3
3
4
4
< h3 > Nested Tree Demo</ h3 >
5
5
6
+ < mat-tree
7
+ class ="example-tree mat-elevation-z4 "
8
+ [dataSource] ="nestedDataSource " [treeControl] ="nestedTreeControl ">
9
+
10
+ < mat-tree-node *matTreeNodeDef ="let node " matTreeNodeToggle >
11
+
12
+ {{node.name}}
13
+
14
+ </ mat-tree-node >
15
+
16
+
17
+ < mat-nested-tree-node *matTreeNodeDef ="let node; when: hasNestedChild ">
18
+
19
+ < div class ="mat-tree-node ">
20
+
21
+ < button mat-icon-button matTreeNodeToggle >
22
+
23
+ < mat-icon >
24
+
25
+ {{ nestedTreeControl.isExpanded(node) ? "expand_more": "chevron_right" }}
26
+
27
+ </ mat-icon >
28
+
29
+ </ button >
30
+
31
+ {{node.name}}
32
+
33
+ </ div >
34
+
35
+ < div class ="nested-node "
36
+ [class.example-tree-invisible] ="!nestedTreeControl.isExpanded(node) ">
37
+
38
+ < ng-container matTreeNodeOutlet > </ ng-container >
39
+
40
+ </ div >
41
+
42
+ </ mat-nested-tree-node >
43
+
44
+
45
+ </ mat-tree >
46
+
47
+
48
+
6
49
< h3 > Flat Tree Demo</ h3 >
7
50
8
51
</ div >
Original file line number Diff line number Diff line change 29
29
/*
30
30
* This padding sets alignment of the nested nodes.
31
31
*/
32
- .example-tree .mat-nested-tree-node div [ role = group ] {
32
+ .example-tree .mat-nested-tree-node .nested-node {
33
33
padding-left : 40px ;
34
34
}
35
35
38
38
* Leaf nodes need to have padding so as to align with other non-leaf nodes
39
39
* under the same parent.
40
40
*/
41
- .example-tree div [ role = group ] > .mat-tree-node {
41
+ .example-tree .nested-node > .mat-tree-node {
42
42
padding-left : 40px ;
43
43
}
Original file line number Diff line number Diff line change @@ -58,11 +58,22 @@ const TREE_DATA: CourseNode[] = [
58
58
} )
59
59
export class TreeDemoComponent implements OnInit {
60
60
61
+ nestedDataSource = new MatTreeNestedDataSource < CourseNode > ( ) ;
62
+
63
+ nestedTreeControl = new NestedTreeControl < CourseNode > ( node => node . children ) ;
64
+
65
+
61
66
ngOnInit ( ) {
62
67
68
+ this . nestedDataSource . data = TREE_DATA ;
69
+
63
70
64
71
}
65
72
73
+ hasNestedChild ( index : number , node :CourseNode ) {
74
+ return node ?. children ?. length > 0 ;
75
+ }
76
+
66
77
}
67
78
68
79
You can’t perform that action at this time.
0 commit comments