mtas-tv-frontend/src/app/admin/slide-list/slide-list.component.ts
Dávid Danyi e969edb26c * settings
* display
* dashboard
* self-updater
* timers in app component
2018-04-13 18:17:11 +02:00

55 lines
1.5 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Title } from '@angular/platform-browser';
import { SlideService } from '../../shared/service/slide.service';
import { Slide } from '../../shared/slide';
import { Team } from '../../shared/team';
@Component({
selector: 'app-slide-list',
templateUrl: './slide-list.component.html',
styleUrls: ['./slide-list.component.css']
})
export class SlideListComponent implements OnInit {
constructor(private slideService: SlideService,
private titleService: Title,
private route: ActivatedRoute) {
}
ngOnInit() {
this.titleService.setTitle('Slides : MTAStv');
this.route.data.subscribe((data: {slides: Array<Slide>}) => this.slides = data.slides);
}
get slides(): Array<Slide> {
return this.slideService.slides;
}
set slides(slides: Array<Slide>) {
this.slideService.slides = slides;
}
public slideTeam(team: Team): String {
return team === null ? 'All teams' : team.name;
}
public delete(slide: Slide) {
if (confirm(`Are you sure you want to delete the slide '${slide.title}'`)) {
this.slideService.delete(slide).subscribe(result => {
if (result) {
this.slides = this.slides.filter(slideItem => slideItem !== slide);
}
});
}
}
public visibleClass(slide: Slide) {
return {
'green check': slide.isVisible,
'red times': !slide.isVisible
};
}
}