Fix visits routing date time

This commit is contained in:
Artur Savitskiy 2024-03-29 23:50:14 +01:00
parent 546fdc4435
commit 65b5fb8a90
4 changed files with 33 additions and 23 deletions

View File

@ -91,6 +91,9 @@
} }
}, },
"cli": { "cli": {
"schematicCollections": ["@angular-eslint/schematics"] "schematicCollections": [
"@angular-eslint/schematics"
],
"analytics": false
} }
} }

View File

@ -11087,6 +11087,12 @@
"node": ">=10.17.0" "node": ">=10.17.0"
} }
}, },
"node_modules/iban": {
"version": "0.0.14",
"resolved": "https://registry.npmjs.org/iban/-/iban-0.0.14.tgz",
"integrity": "sha512-+rocNKk+Ga9m8Lr9fTMWd+87JnsBrucm0ZsIx5ROOarZlaDLmd+FKdbtvb0XyoBw9GAFOYG2GuLqoNB16d+p3w==",
"peer": true
},
"node_modules/iconv-lite": { "node_modules/iconv-lite": {
"version": "0.4.24", "version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@ -27392,6 +27398,12 @@
"integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
"dev": true "dev": true
}, },
"iban": {
"version": "0.0.14",
"resolved": "https://registry.npmjs.org/iban/-/iban-0.0.14.tgz",
"integrity": "sha512-+rocNKk+Ga9m8Lr9fTMWd+87JnsBrucm0ZsIx5ROOarZlaDLmd+FKdbtvb0XyoBw9GAFOYG2GuLqoNB16d+p3w==",
"peer": true
},
"iconv-lite": { "iconv-lite": {
"version": "0.4.24", "version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",

View File

@ -1,5 +1,5 @@
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes, provideRouter, withComponentInputBinding } from '@angular/router';
import { StudentListComponent } from './components/students/student-list/student-list.component'; import { StudentListComponent } from './components/students/student-list/student-list.component';
import { VisitsComponent } from './components/visits/visits.component'; import { VisitsComponent } from './components/visits/visits.component';
import { VisitsDatetimeComponent } from './components/visits/visits-datetime/visits-datetime.component'; import { VisitsDatetimeComponent } from './components/visits/visits-datetime/visits-datetime.component';
@ -15,5 +15,6 @@ const routes: Routes = [
@NgModule({ @NgModule({
imports: [RouterModule.forRoot(routes)], imports: [RouterModule.forRoot(routes)],
exports: [RouterModule], exports: [RouterModule],
providers: [provideRouter(routes, withComponentInputBinding())]
}) })
export class AppRoutingModule {} export class AppRoutingModule {}

View File

@ -1,5 +1,5 @@
import { formatDate } from '@angular/common'; import { formatDate } from '@angular/common';
import { Component, OnDestroy, OnInit } from '@angular/core'; import { Component, Input, OnDestroy, OnInit } from '@angular/core';
import { MatTableDataSource } from '@angular/material/table'; import { MatTableDataSource } from '@angular/material/table';
import { ActivatedRoute } from '@angular/router'; import { ActivatedRoute } from '@angular/router';
import { Subscription } from 'rxjs'; import { Subscription } from 'rxjs';
@ -16,14 +16,17 @@ 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, OnDestroy { export class VisitsComponent implements OnInit {
@Input()
public date!: string;
@Input()
public time!: string;
public loading: boolean = true; public loading: boolean = true;
public courseVisit?: CourseVisit; public courseVisit?: CourseVisit;
public dataSource = new MatTableDataSource<StudentVisit>(); public dataSource = new MatTableDataSource<StudentVisit>();
public addedStudent?: Student; public addedStudent?: Student;
private routerSubscription?: Subscription;
private courseDate: Date = new Date(); private courseDate: Date = new Date();
public constructor( public constructor(
@ -33,13 +36,9 @@ export class VisitsComponent implements OnInit, OnDestroy {
) {} ) {}
public ngOnInit() { public ngOnInit() {
this.routerSubscription = this.route.params.subscribe(params => { if (this.date?.length == 8 && this.time?.length >= 3) {
const date: string = params['date']; const fulltime = this.time.padStart(4, '0');
const time: string = params['time']; const datetime = `${this.date.substring(0, 4)}-${this.date.substring(4, 6)}-${this.date.substring(6, 8)} ${fulltime.substring(0, 2)}:${fulltime.substring(2, 4)}:00`;
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`;
const dateobj = new Date(datetime); const dateobj = new Date(datetime);
if (dateobj) { if (dateobj) {
@ -48,11 +47,6 @@ export class VisitsComponent implements OnInit, OnDestroy {
} }
this.getData(); this.getData();
});
}
public ngOnDestroy() {
this.routerSubscription?.unsubscribe();
} }
public visit(studentVisit: StudentVisit): void { public visit(studentVisit: StudentVisit): void {