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 = [
|
const routes: Routes = [
|
||||||
{ path: 'students', component: StudentListComponent },
|
{ path: 'students', component: StudentListComponent },
|
||||||
{ path: 'visits', component: VisitsComponent },
|
{ path: 'visits', component: VisitsComponent },
|
||||||
|
{ path: 'visits/:date/:time', component: VisitsComponent },
|
||||||
{ path: '**', redirectTo: 'students' }
|
{ path: '**', redirectTo: 'students' }
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
import { formatDate } from '@angular/common';
|
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 { MatTableDataSource } from '@angular/material/table';
|
||||||
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { Subscription } from 'rxjs';
|
||||||
import { CourseVisit } from 'src/app/models/course-visit';
|
import { CourseVisit } from 'src/app/models/course-visit';
|
||||||
import { Student } from 'src/app/models/student';
|
import { Student } from 'src/app/models/student';
|
||||||
import { StudentEnrollment } from 'src/app/models/student-enrollment';
|
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',
|
templateUrl: './visits.component.html',
|
||||||
styleUrls: ['./visits.component.scss']
|
styleUrls: ['./visits.component.scss']
|
||||||
})
|
})
|
||||||
export class VisitsComponent implements OnInit {
|
export class VisitsComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
public loading: boolean = true;
|
public loading: boolean = true;
|
||||||
public courseVisit?: CourseVisit;
|
public courseVisit?: CourseVisit;
|
||||||
|
@ -22,11 +24,39 @@ export class VisitsComponent implements OnInit {
|
||||||
|
|
||||||
public addedStudent?: Student;
|
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() {
|
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();
|
this.getData();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public ngOnDestroy() {
|
||||||
|
this.routerSubscription?.unsubscribe();
|
||||||
}
|
}
|
||||||
|
|
||||||
public visit(studentVisit: StudentVisit): void {
|
public visit(studentVisit: StudentVisit): void {
|
||||||
|
@ -44,10 +74,7 @@ export class VisitsComponent implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
private getData(): void {
|
private getData(): void {
|
||||||
//const now = new Date('2023-04-24 16:01:01');
|
this.visitsService.get(this.courseDate)
|
||||||
const now = new Date();
|
|
||||||
|
|
||||||
this.visitsService.get(now)
|
|
||||||
.subscribe({
|
.subscribe({
|
||||||
next: courseVisit => {
|
next: courseVisit => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
Loading…
Reference in New Issue