Skip to content

Commit 8c16f01

Browse files
andrewseguinjelbourn
authored andcommitted
chore: update table examples (#11112)
1 parent 714f065 commit 8c16f01

File tree

47 files changed

+603
-476
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+603
-476
lines changed

src/demo-app/table/custom-table/custom-table.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import {Component, ViewChild} from '@angular/core';
1010
import {MatSort, MatTableDataSource} from '@angular/material';
11-
import {Element, ELEMENT_DATA} from '../element-data';
11+
import {PeriodicElement, ELEMENT_DATA} from '../element-data';
1212

1313

1414
@Component({
@@ -18,9 +18,9 @@ import {Element, ELEMENT_DATA} from '../element-data';
1818
})
1919
export class CustomTableDemo {
2020
columnsToDisplay = ['name', 'weight', 'symbol', 'position'];
21-
simpleTableDataSource = new MatTableDataSource<Element>(ELEMENT_DATA);
22-
wrapperTableDataSource = new MatTableDataSource<Element>(ELEMENT_DATA);
23-
getWeight = (data: Element) => '~' + data.weight;
21+
simpleTableDataSource = new MatTableDataSource<PeriodicElement>(ELEMENT_DATA);
22+
wrapperTableDataSource = new MatTableDataSource<PeriodicElement>(ELEMENT_DATA);
23+
getWeight = (data: PeriodicElement) => '~' + data.weight;
2424

2525
@ViewChild('simpleTableSort') simpleTableSort: MatSort;
2626
@ViewChild('wrapperTableSort') wrapperTableSort: MatSort;

src/demo-app/table/data-input-table/data-input-table.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import {Component, ViewChild} from '@angular/core';
10-
import {Element, ELEMENT_DATA} from '../element-data';
10+
import {PeriodicElement, ELEMENT_DATA} from '../element-data';
1111
import {CdkTable} from '@angular/cdk/table';
1212
import {MatRadioChange, MatTable, MatTableDataSource} from '@angular/material';
1313
import {Observable} from 'rxjs';
@@ -28,18 +28,20 @@ export class DataInputTableDemo {
2828
matTableDataSource = new MatTableDataSource(this.data);
2929

3030
trackByStrategy: TrackByStrategy = 'reference';
31-
trackBy = (index: number, item: Element) => {
31+
trackBy = (index: number, item: PeriodicElement) => {
3232
switch (this.trackByStrategy) {
3333
case 'position': return item.position;
3434
case 'reference': return item;
3535
case 'index': return index;
3636
}
3737
}
3838

39-
dataSource: DataSource<Element> | Observable<Element[]> | Element[] | null = this.data;
39+
dataSource: DataSource<PeriodicElement> |
40+
Observable<PeriodicElement[]> |
41+
PeriodicElement[] | null = this.data;
4042

41-
@ViewChild(CdkTable) cdkTable: CdkTable<Element>;
42-
@ViewChild(MatTable) matTable: MatTable<Element>;
43+
@ViewChild(CdkTable) cdkTable: CdkTable<PeriodicElement>;
44+
@ViewChild(MatTable) matTable: MatTable<PeriodicElement>;
4345

4446
changeInput(e: MatRadioChange) {
4547
this.inputType = e.value;

src/demo-app/table/dynamic-columns/dynamic-columns.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import {Component} from '@angular/core';
10-
import {Element, ELEMENT_DATA} from '../element-data';
10+
import {PeriodicElement, ELEMENT_DATA} from '../element-data';
1111

1212
@Component({
1313
moduleId: module.id,
@@ -16,7 +16,7 @@ import {Element, ELEMENT_DATA} from '../element-data';
1616
export class DynamicColumnsDemo {
1717
definedColumns = ['name', 'weight', 'symbol', 'position'];
1818
columnsToDisplay = this.definedColumns.slice();
19-
dataSource: Element[] = ELEMENT_DATA.slice();
19+
dataSource: PeriodicElement[] = ELEMENT_DATA.slice();
2020

2121
addColumn() {
2222
const randomColumn = Math.floor(Math.random() * 4);

src/demo-app/table/element-data.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
* found in the LICENSE file at https://angular.io/license
77
*/
88

9-
export interface Element {
9+
export interface PeriodicElement {
1010
position: number;
1111
name: string;
1212
weight: number;
1313
symbol: string;
1414
}
1515

16-
export const ELEMENT_DATA: Element[] = [
16+
export const ELEMENT_DATA: PeriodicElement[] = [
1717
{position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H'},
1818
{position: 2, name: 'Helium', weight: 4.0026, symbol: 'He'},
1919
{position: 3, name: 'Lithium', weight: 6.941, symbol: 'Li'},

src/demo-app/table/expandable-rows/expandable-rows.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import {Component, ViewChild} from '@angular/core';
10-
import {Element, ELEMENT_DATA} from 'table/element-data';
10+
import {PeriodicElement, ELEMENT_DATA} from 'table/element-data';
1111
import {animate, state, style, transition, trigger} from '@angular/animations';
1212
import {MatPaginator, MatSort, MatTableDataSource} from '@angular/material';
1313

@@ -48,7 +48,7 @@ import {MatPaginator, MatSort, MatTableDataSource} from '@angular/material';
4848
export class ExpandableRowsDemo {
4949
dataSource = new MatTableDataSource(ELEMENT_DATA.slice());
5050
columnsToDisplay = ['name', 'weight', 'symbol', 'position'];
51-
expandedElement: Element;
51+
expandedElement: PeriodicElement;
5252

5353
@ViewChild(MatSort) sort: MatSort;
5454
@ViewChild(MatPaginator) paginator: MatPaginator;

src/demo-app/table/mat-table-data-source/mat-table-data-source.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
import {Component, ElementRef, ViewChild} from '@angular/core';
1010
import {MatPaginator, MatSort, MatTableDataSource} from '@angular/material';
11-
import {Element, ELEMENT_DATA} from '../element-data';
11+
import {PeriodicElement, ELEMENT_DATA} from '../element-data';
1212
import {fromEvent} from 'rxjs';
1313

1414
@Component({
@@ -21,7 +21,7 @@ import {fromEvent} from 'rxjs';
2121
})
2222
export class MatTableDataSourceDemo {
2323
columns = ['name', 'weight', 'symbol', 'position'];
24-
dataSource = new MatTableDataSource<Element>(ELEMENT_DATA);
24+
dataSource = new MatTableDataSource<PeriodicElement>(ELEMENT_DATA);
2525

2626
// Add button that lets you override the filter predicate with a strict name match
2727
originalFilterPredicate = this.dataSource.filterPredicate;
@@ -41,7 +41,7 @@ export class MatTableDataSourceDemo {
4141
toggleFilterPredicate() {
4242
this.useOverrideFilterPredicate = !this.useOverrideFilterPredicate;
4343
this.dataSource.filterPredicate = this.useOverrideFilterPredicate ?
44-
(d: Element, filter: string) => d.name.indexOf(filter) != -1 :
44+
(d: PeriodicElement, filter: string) => d.name.indexOf(filter) != -1 :
4545
this.originalFilterPredicate;
4646
}
4747
}

src/demo-app/table/table-demo.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import {Component} from '@angular/core';
10-
import {Element, ELEMENT_DATA} from './element-data';
10+
import {PeriodicElement, ELEMENT_DATA} from './element-data';
1111

1212
@Component({
1313
moduleId: module.id,
@@ -26,5 +26,5 @@ import {Element, ELEMENT_DATA} from './element-data';
2626
})
2727
export class TableDemo {
2828
columns = ['name', 'weight', 'symbol', 'position'];
29-
dataSource: Element[] = ELEMENT_DATA.slice();
29+
dataSource: PeriodicElement[] = ELEMENT_DATA.slice();
3030
}

src/demo-app/table/when-rows/when-rows.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export interface DemoDataObject {
1616
}
1717

1818
@Component({
19+
selector: 'when-rows-demo',
1920
moduleId: module.id,
2021
templateUrl: 'when-rows.html',
2122
})
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* Add basic flex styling so that the cells evenly space themselves in the row.
3+
*/
4+
cdk-row, cdk-header-row, cdk-footer-row {
5+
display: flex;
6+
}
7+
8+
cdk-cell, cdk-header-cell, cdk-footer-cell {
9+
flex: 1;
10+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<cdk-table [dataSource]="dataSource">
2+
<!-- Position Column -->
3+
<ng-container cdkColumnDef="position">
4+
<cdk-header-cell *cdkHeaderCellDef> No. </cdk-header-cell>
5+
<cdk-cell *cdkCellDef="let element"> {{element.position}} </cdk-cell>
6+
</ng-container>
7+
8+
<!-- Name Column -->
9+
<ng-container cdkColumnDef="name">
10+
<cdk-header-cell *cdkHeaderCellDef> Name </cdk-header-cell>
11+
<cdk-cell *cdkCellDef="let element"> {{element.name}} </cdk-cell>
12+
</ng-container>
13+
14+
<!-- Weight Column -->
15+
<ng-container cdkColumnDef="weight">
16+
<cdk-header-cell *cdkHeaderCellDef> Weight </cdk-header-cell>
17+
<cdk-cell *cdkCellDef="let element"> {{element.weight}} </cdk-cell>
18+
</ng-container>
19+
20+
<!-- Symbol Column -->
21+
<ng-container cdkColumnDef="symbol">
22+
<cdk-header-cell *cdkHeaderCellDef> Symbol </cdk-header-cell>
23+
<cdk-cell *cdkCellDef="let element"> {{element.symbol}} </cdk-cell>
24+
</ng-container>
25+
26+
<cdk-header-row *cdkHeaderRowDef="displayedColumns"></cdk-header-row>
27+
<cdk-row *cdkRowDef="let row; columns: displayedColumns;"></cdk-row>
28+
</cdk-table>

0 commit comments

Comments
 (0)