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}) => this.slides = data.slides); } get slides(): Array { return this.slideService.slides; } set slides(slides: Array) { 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 }; } }