Add visits for desired date via routing
This commit is contained in:
parent
1a0bb96f69
commit
1af942294c
|
@ -6,6 +6,7 @@ import { VisitsComponent } from './components/visits/visits.component';
|
|||
const routes: Routes = [
|
||||
{ path: 'students', component: StudentListComponent },
|
||||
{ path: 'visits', component: VisitsComponent },
|
||||
{ path: 'visits/:date/:time', component: VisitsComponent },
|
||||
{ path: '**', redirectTo: 'students' }
|
||||
];
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import { formatDate } from '@angular/common';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||
import { MatTableDataSource } from '@angular/material/table';
|
||||
import { ActivatedRoute } from '@angular/router';
|
||||
import { Subscription } from 'rxjs';
|
||||
import { CourseVisit } from 'src/app/models/course-visit';
|
||||
import { Student } from 'src/app/models/student';
|
||||
import { StudentEnrollment } from 'src/app/models/student-enrollment';
|
||||
|
@ -14,7 +16,7 @@ import { VisitsService } from 'src/app/services/visits/visits.service';
|
|||
templateUrl: './visits.component.html',
|
||||
styleUrls: ['./visits.component.scss']
|
||||
})
|
||||
export class VisitsComponent implements OnInit {
|
||||
export class VisitsComponent implements OnInit, OnDestroy {
|
||||
|
||||
public loading: boolean = true;
|
||||
public courseVisit?: CourseVisit;
|
||||
|
@ -22,11 +24,39 @@ export class VisitsComponent implements OnInit {
|
|||
|
||||
public addedStudent?: Student;
|
||||
|
||||
private routerSubscription?: Subscription;
|
||||
private courseDate: Date = new Date();
|
||||
|
||||
public constructor(private visitsService: VisitsService, private enrollService: EnrollService) { }
|
||||
public constructor(
|
||||
private visitsService: VisitsService,
|
||||
private enrollService: EnrollService,
|
||||
private route: ActivatedRoute) { }
|
||||
|
||||
public ngOnInit() {
|
||||
this.routerSubscription = this.route.params.subscribe(params => {
|
||||
const date: string = params['date'];
|
||||
const time: string = params['time'];
|
||||
|
||||
if (date?.length == 8 && time?.length >= 3) {
|
||||
const fulltime = time.padStart(4, '0');
|
||||
const datetime = `${date.substring(0, 4)}-${date.substring(4, 6)}-${date.substring(6, 8)} ${fulltime.substring(0, 2)}:${fulltime.substring(2, 4)}:00`;
|
||||
|
||||
console.log(datetime);
|
||||
|
||||
const dateobj = new Date(datetime);
|
||||
console.log(dateobj);
|
||||
|
||||
if (dateobj) {
|
||||
this.courseDate = dateobj;
|
||||
}
|
||||
}
|
||||
|
||||
this.getData();
|
||||
});
|
||||
}
|
||||
|
||||
public ngOnDestroy() {
|
||||
this.routerSubscription?.unsubscribe();
|
||||
}
|
||||
|
||||
public visit(studentVisit: StudentVisit): void {
|
||||
|
@ -44,10 +74,7 @@ export class VisitsComponent implements OnInit {
|
|||
}
|
||||
|
||||
private getData(): void {
|
||||
//const now = new Date('2023-04-24 16:01:01');
|
||||
const now = new Date();
|
||||
|
||||
this.visitsService.get(now)
|
||||
this.visitsService.get(this.courseDate)
|
||||
.subscribe({
|
||||
next: courseVisit => {
|
||||
this.loading = false;
|
||||
|
|
Loading…
Reference in New Issue