Skip to content

Commit aa9c7eb

Browse files
tinayuangaojosephperrott
authored andcommitted
docs(tree): add cdk trees examples in demo app (angular#10408)
1 parent 7662634 commit aa9c7eb

File tree

5 files changed

+72
-50
lines changed

5 files changed

+72
-50
lines changed
Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +0,0 @@
1-
.demo-tree-container {
2-
.tree-demo-invisible {
3-
display: none;
4-
}
5-
6-
ul, li {
7-
-webkit-margin-before: 0;
8-
-webkit-margin-after: 0;
9-
list-style-type: none;
10-
}
11-
12-
.mat-card {
13-
margin: 16px;
14-
}
15-
}

src/demo-app/tree/file-database.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export class FileFlatNode {
2929
/**
3030
* The file structure tree data in string. The data could be parsed into a Json object
3131
*/
32-
const TREE_DATA = `{"Tina":
32+
const TREE_DATA = `
3333
{
3434
"Documents": {
3535
"angular": {
@@ -64,7 +64,7 @@ const TREE_DATA = `{"Tina":
6464
"Calendar": "app",
6565
"Webstorm": "app"
6666
}
67-
}}`;
67+
}`;
6868

6969
/**
7070
* File database, it can build a tree structured Json object from string.

src/demo-app/tree/tree-demo-module.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {NgModule} from '@angular/core';
1111
import {FormsModule} from '@angular/forms';
1212
import {
1313
MatButtonModule,
14-
MatCardModule,
14+
MatExpansionModule,
1515
MatCheckboxModule,
1616
MatFormFieldModule,
1717
MatIconModule,
@@ -29,7 +29,7 @@ import {LoadmoreTreeDemo} from './loadmore-tree-demo/loadmore-tree-demo';
2929
CommonModule,
3030
FormsModule,
3131
MatButtonModule,
32-
MatCardModule,
32+
MatExpansionModule,
3333
MatCheckboxModule,
3434
MatFormFieldModule,
3535
MatIconModule,

src/demo-app/tree/tree-demo.html

Lines changed: 55 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,33 @@
1-
<div class="demo-tree-container">
2-
<mat-card>
3-
<mat-card-header>Flattened tree</mat-card-header>
41

2+
3+
<mat-accordion class="demo-tree-container">
4+
5+
<mat-expansion-panel>
6+
<mat-expansion-panel-header>Flattened tree</mat-expansion-panel-header>
57
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
68
<mat-tree-node *matTreeNodeDef="let node" matTreeNodeToggle matTreeNodePadding>
7-
{{node.filename}} : {{node.type}}
9+
{{node.filename}} : {{node.type}}
810
</mat-tree-node>
9-
1011
<mat-tree-node *matTreeNodeDef="let node;when: hasChild" matTreeNodePadding>
11-
<button mat-icon-button matTreeNodeToggle
12-
[attr.aria-label]="'toggle ' + node.filename">
13-
<mat-icon>
14-
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
15-
</mat-icon>
16-
</button>
17-
{{node.filename}} : {{node.type}}
12+
<button mat-icon-button matTreeNodeToggle
13+
[attr.aria-label]="'toggle ' + node.filename">
14+
<mat-icon>
15+
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
16+
</mat-icon>
17+
</button>
18+
{{node.filename}} : {{node.type}}
1819
</mat-tree-node>
1920
</mat-tree>
21+
</mat-expansion-panel>
2022

21-
</mat-card>
22-
23-
24-
25-
<mat-card>
26-
<mat-card-header>Nested tree</mat-card-header>
27-
23+
<mat-expansion-panel>
24+
<mat-expansion-panel-header>Nested tree</mat-expansion-panel-header>
2825
<mat-tree [dataSource]="nestedDataSource" [treeControl]="nestedTreeControl">
2926
<mat-tree-node *matTreeNodeDef="let node" matTreeNodeToggle>
3027
<li>
3128
<div>{{node.filename}}: {{node.type}}</div>
3229
</li>
3330
</mat-tree-node>
34-
3531
<mat-nested-tree-node *matTreeNodeDef="let node; when: hasNestedChild">
3632
<li>
3733
<div class="mat-tree-node">
@@ -49,21 +45,49 @@
4945
</li>
5046
</mat-nested-tree-node>
5147
</mat-tree>
52-
</mat-card>
48+
</mat-expansion-panel>
49+
50+
<mat-expansion-panel>
51+
<mat-expansion-panel-header>CDK Flattened tree</mat-expansion-panel-header>
52+
<cdk-tree [dataSource]="dataSource" [treeControl]="treeControl">
53+
<cdk-tree-node *cdkTreeNodeDef="let node" cdkTreeNodePadding class="demo-tree-node">
54+
<a [attr.aria-label]="'toggle ' + node.filename" cdkTreeNodeToggle class="demo-tree-toggle">
55+
{{treeControl.isExpanded(node) ? '-' : '+'}}
56+
</a>
57+
{{node.filename}}: {{node.type}}
58+
</cdk-tree-node>
59+
</cdk-tree>
60+
</mat-expansion-panel>
5361

54-
<mat-card>
55-
<mat-card-header>Todo list Flattened tree</mat-card-header>
62+
<mat-expansion-panel>
63+
<mat-expansion-panel-header>CDK Nested tree</mat-expansion-panel-header>
64+
<cdk-tree [dataSource]="nestedDataSource" [treeControl]="nestedTreeControl">
65+
<cdk-nested-tree-node *cdkTreeNodeDef="let node" class="demo-tree-node">
66+
<a [attr.aria-label]="'toggle ' + node.filename" cdkTreeNodeToggle class="demo-tree-toggle">
67+
{{nestedTreeControl.isExpanded(node) ? '-' : '+'}}
68+
</a>
69+
{{node.filename}}: {{node.type}}
70+
<div [class.tree-demo-invisible]="!nestedTreeControl.isExpanded(node)" class="demo-tree-nested-node">
71+
<ng-container cdkTreeNodeOutlet></ng-container>
72+
</div>
73+
</cdk-nested-tree-node>
74+
</cdk-tree>
75+
</mat-expansion-panel>
76+
77+
<mat-expansion-panel>
78+
<mat-expansion-panel-header>Todo list Flattened tree</mat-expansion-panel-header>
5679
<checklist-tree-demo></checklist-tree-demo>
57-
</mat-card>
80+
</mat-expansion-panel>
5881

59-
<mat-card>
60-
<mat-card-header>Dynamic flat tree</mat-card-header>
82+
<mat-expansion-panel>
83+
<mat-expansion-panel-header>Dynamic flat tree</mat-expansion-panel-header>
6184
<dynamic-tree-demo></dynamic-tree-demo>
62-
</mat-card>
85+
</mat-expansion-panel>
6386

64-
<mat-card>
65-
<mat-card-header>Loadmore flat tree</mat-card-header>
87+
<mat-expansion-panel>
88+
<mat-expansion-panel-header>Loadmore flat tree</mat-expansion-panel-header>
6689
<loadmore-tree-demo></loadmore-tree-demo>
67-
</mat-card>
90+
</mat-expansion-panel>
91+
6892

69-
</div>
93+
</mat-accordion>

src/demo-app/tree/tree-demo.scss

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
11
.demo-tree-container {
2+
.demo-tree-node {
3+
display: block;
4+
}
5+
6+
.demo-tree-toggle {
7+
font-size: 24px;
8+
padding-right: 4px;
9+
}
10+
11+
.demo-tree-nested-node {
12+
padding-left: 20px;
13+
}
14+
215
.tree-demo-invisible {
316
display: none;
417
}

0 commit comments

Comments
 (0)