docs(tree): add cdk trees examples in demo app (#10408)

This commit is contained in:
tinayuangao
2018-03-14 12:47:37 -07:00
committed by mmalerba
parent 57e081e90f
commit 57a5db6549
5 changed files with 72 additions and 50 deletions
@@ -1,15 +0,0 @@
.demo-tree-container {
.tree-demo-invisible {
display: none;
}
ul, li {
-webkit-margin-before: 0;
-webkit-margin-after: 0;
list-style-type: none;
}
.mat-card {
margin: 16px;
}
}
+2 -2
View File
@@ -29,7 +29,7 @@ export class FileFlatNode {
/**
* The file structure tree data in string. The data could be parsed into a Json object
*/
const TREE_DATA = `{"Tina":
const TREE_DATA = `
{
"Documents": {
"angular": {
@@ -64,7 +64,7 @@ const TREE_DATA = `{"Tina":
"Calendar": "app",
"Webstorm": "app"
}
}}`;
}`;
/**
* File database, it can build a tree structured Json object from string.
+2 -2
View File
@@ -11,7 +11,7 @@ import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {
MatButtonModule,
MatCardModule,
MatExpansionModule,
MatCheckboxModule,
MatFormFieldModule,
MatIconModule,
@@ -29,7 +29,7 @@ import {LoadmoreTreeDemo} from './loadmore-tree-demo/loadmore-tree-demo';
CommonModule,
FormsModule,
MatButtonModule,
MatCardModule,
MatExpansionModule,
MatCheckboxModule,
MatFormFieldModule,
MatIconModule,
+55 -31
View File
@@ -1,37 +1,33 @@
<div class="demo-tree-container">
<mat-card>
<mat-card-header>Flattened tree</mat-card-header>
<mat-accordion class="demo-tree-container">
<mat-expansion-panel>
<mat-expansion-panel-header>Flattened tree</mat-expansion-panel-header>
<mat-tree [dataSource]="dataSource" [treeControl]="treeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodeToggle matTreeNodePadding>
{{node.filename}} : {{node.type}}
{{node.filename}} : {{node.type}}
</mat-tree-node>
<mat-tree-node *matTreeNodeDef="let node;when: hasChild" matTreeNodePadding>
<button mat-icon-button matTreeNodeToggle
[attr.aria-label]="'toggle ' + node.filename">
<mat-icon>
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
{{node.filename}} : {{node.type}}
<button mat-icon-button matTreeNodeToggle
[attr.aria-label]="'toggle ' + node.filename">
<mat-icon>
{{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}
</mat-icon>
</button>
{{node.filename}} : {{node.type}}
</mat-tree-node>
</mat-tree>
</mat-expansion-panel>
</mat-card>
<mat-card>
<mat-card-header>Nested tree</mat-card-header>
<mat-expansion-panel>
<mat-expansion-panel-header>Nested tree</mat-expansion-panel-header>
<mat-tree [dataSource]="nestedDataSource" [treeControl]="nestedTreeControl">
<mat-tree-node *matTreeNodeDef="let node" matTreeNodeToggle>
<li>
<div>{{node.filename}}: {{node.type}}</div>
</li>
</mat-tree-node>
<mat-nested-tree-node *matTreeNodeDef="let node; when: hasNestedChild">
<li>
<div class="mat-tree-node">
@@ -49,21 +45,49 @@
</li>
</mat-nested-tree-node>
</mat-tree>
</mat-card>
</mat-expansion-panel>
<mat-card>
<mat-card-header>Todo list Flattened tree</mat-card-header>
<mat-expansion-panel>
<mat-expansion-panel-header>CDK Flattened tree</mat-expansion-panel-header>
<cdk-tree [dataSource]="dataSource" [treeControl]="treeControl">
<cdk-tree-node *cdkTreeNodeDef="let node" cdkTreeNodePadding class="demo-tree-node">
<a [attr.aria-label]="'toggle ' + node.filename" cdkTreeNodeToggle class="demo-tree-toggle">
{{treeControl.isExpanded(node) ? '-' : '+'}}
</a>
{{node.filename}}: {{node.type}}
</cdk-tree-node>
</cdk-tree>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel-header>CDK Nested tree</mat-expansion-panel-header>
<cdk-tree [dataSource]="nestedDataSource" [treeControl]="nestedTreeControl">
<cdk-nested-tree-node *cdkTreeNodeDef="let node" class="demo-tree-node">
<a [attr.aria-label]="'toggle ' + node.filename" cdkTreeNodeToggle class="demo-tree-toggle">
{{nestedTreeControl.isExpanded(node) ? '-' : '+'}}
</a>
{{node.filename}}: {{node.type}}
<div [class.tree-demo-invisible]="!nestedTreeControl.isExpanded(node)" class="demo-tree-nested-node">
<ng-container cdkTreeNodeOutlet></ng-container>
</div>
</cdk-nested-tree-node>
</cdk-tree>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel-header>Todo list Flattened tree</mat-expansion-panel-header>
<checklist-tree-demo></checklist-tree-demo>
</mat-card>
</mat-expansion-panel>
<mat-card>
<mat-card-header>Dynamic flat tree</mat-card-header>
<mat-expansion-panel>
<mat-expansion-panel-header>Dynamic flat tree</mat-expansion-panel-header>
<dynamic-tree-demo></dynamic-tree-demo>
</mat-card>
</mat-expansion-panel>
<mat-card>
<mat-card-header>Loadmore flat tree</mat-card-header>
<mat-expansion-panel>
<mat-expansion-panel-header>Loadmore flat tree</mat-expansion-panel-header>
<loadmore-tree-demo></loadmore-tree-demo>
</mat-card>
</mat-expansion-panel>
</div>
</mat-accordion>
+13
View File
@@ -1,4 +1,17 @@
.demo-tree-container {
.demo-tree-node {
display: block;
}
.demo-tree-toggle {
font-size: 24px;
padding-right: 4px;
}
.demo-tree-nested-node {
padding-left: 20px;
}
.tree-demo-invisible {
display: none;
}