Skip to content

Commit 5ed7817

Browse files
committed
Angular Material Course
1 parent 0b3201f commit 5ed7817

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

src/app/app.module.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {MatListModule} from '@angular/material/list';
1717
import {MatToolbarModule} from '@angular/material/toolbar';
1818
import { CourseComponent } from './course/course.component';
1919
import {MatTableModule} from '@angular/material/table';
20-
import {MatInputModule} from "@angular/material";
20+
import {MatInputModule, MatSortModule} from "@angular/material";
2121
import {MatPaginatorModule} from '@angular/material/paginator';
2222

2323

@@ -43,7 +43,8 @@ import {MatPaginatorModule} from '@angular/material/paginator';
4343
MatToolbarModule,
4444
MatTableModule,
4545
MatInputModule,
46-
MatPaginatorModule
46+
MatPaginatorModule,
47+
MatSortModule
4748
],
4849
providers: [],
4950
bootstrap: [AppComponent]

src/app/course/course.component.html

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,28 @@ <h2>{{course?.description}}</h2>
1111

1212
</mat-input-container>
1313

14-
<mat-table class="lessons-table mat-elevation-z8" [dataSource]="dataSource">
14+
<mat-table class="lessons-table mat-elevation-z8" [dataSource]="dataSource" matSort>
15+
16+
<ng-container matColumnDef="seqNo">
17+
18+
<mat-header-cell *matHeaderCellDef mat-sort-header>
19+
#
20+
</mat-header-cell>
21+
22+
<mat-cell *matCellDef="let lesson" class="description-cell">
23+
{{lesson.seqNo}}
24+
</mat-cell>
25+
26+
</ng-container>
1527

1628
<ng-container matColumnDef="description">
1729

18-
<mat-header-cell *matHeaderCellDef>
30+
<mat-header-cell *matHeaderCellDef mat-sort-header>
1931
Description
2032
</mat-header-cell>
2133

22-
<mat-cell *matCellDef="let course" class="description-cell">
23-
{{course.description}}
34+
<mat-cell *matCellDef="let lesson" class="description-cell">
35+
{{lesson.description}}
2436
</mat-cell>
2537

2638
</ng-container>
@@ -31,8 +43,8 @@ <h2>{{course?.description}}</h2>
3143
Duration
3244
</mat-header-cell>
3345

34-
<mat-cell *matCellDef="let course" class="duration-cell">
35-
{{course.duration}}
46+
<mat-cell *matCellDef="let lesson" class="duration-cell">
47+
{{lesson.duration}}
3648
<mat-icon>access_time</mat-icon>
3749
</mat-cell>
3850

src/app/course/course.component.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core';
22
import {ActivatedRoute} from "@angular/router";
3-
import {MatPaginator, MatTableDataSource} from "@angular/material";
3+
import {MatPaginator, MatSort, MatTableDataSource} from "@angular/material";
44
import {Lesson} from "../model/lesson";
55
import {findCourseById, findLessonsForCourse} from "../model/db-data";
66
import {Course} from "../model/course";
@@ -15,12 +15,14 @@ export class CourseComponent implements OnInit, AfterViewInit {
1515

1616
course:Course;
1717

18-
displayedColumns = ["description", "duration"];
18+
displayedColumns = ["seqNo", "description", "duration"];
1919

2020
dataSource = new MatTableDataSource<Lesson>();
2121

2222
@ViewChild(MatPaginator) paginator: MatPaginator;
2323

24+
@ViewChild(MatSort) sort: MatSort;
25+
2426
constructor(private route: ActivatedRoute) {
2527

2628
}
@@ -41,6 +43,7 @@ export class CourseComponent implements OnInit, AfterViewInit {
4143

4244
ngAfterViewInit() {
4345
this.dataSource.paginator = this.paginator;
46+
this.dataSource.sort = this.sort;
4447
}
4548

4649
searchLesson(search:string) {

0 commit comments

Comments
 (0)