DHBW-RaPla-Vorratsdatenspei.../Frontend/src/app/components/event/event.component.ts
Patrick Müller 7cb3c12351
Some checks failed
Jenkins Production Deployment
Comments and docs
2021-10-03 12:10:54 +02:00

59 lines
1.8 KiB
TypeScript

import {Component, Input, OnInit} from '@angular/core';
import {Event} from '../../models/event';
import {Change} from '../../models/change';
import {Router} from '@angular/router';
import {UtilitiesService} from '../../services/utils/utilities.service';
@Component({
selector: 'app-event',
templateUrl: './event.component.html',
styleUrls: ['./event.component.css']
})
export class EventComponent implements OnInit {
@Input() event: Event = {} as Event;
eventTypeClass: string = '';
latestFullChange: Change = {} as Change;
constructor(
private router: Router,
private utilities: UtilitiesService
) {
}
ngOnInit(): void {
this.latestFullChange = this.event.changes[this.event.changes.length - 1];
if (this.latestFullChange.is_deleted) {
this.latestFullChange = this.event.changes[this.event.changes.length - 2];
}
switch (this.latestFullChange.new_categories) {
case 'Prüfung':
this.eventTypeClass = 'event-card-exam';
break;
case 'Lehrveranstaltung':
this.eventTypeClass = 'event-card-lecture';
break;
case 'Sonstige':
this.eventTypeClass = 'event-card-blocker';
break;
default:
this.eventTypeClass = 'event-card-blocker';
}
}
/**
* Opens a new tab with the event details
*/
openEventDetails() {
this.router.navigate([]).then(result => { window.open('/eventDetails/'+this.event.event_uid, '_blank'); });
}
/**
* Formats the starting time of the event
*/
getTime(): string {
return this.utilities.getTimeFromString(this.latestFullChange.new_start.toString());
}
}