55 lines
1.5 KiB
TypeScript
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
|
|
};
|
|
}
|
|
}
|