import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; import { Exercise } from 'app/shared/model/exercise.model'; import { SearchService } from 'app/search/service/search-service'; import { WatchlistManager } from 'app/shared/watchlist/watchlist-manager'; import { LikesService } from 'app/entities/likes/likes.service'; import { ExerciseService } from '../service/exercise.service'; @Component({ selector: 'jhi-exercise-card', templateUrl: './exercise-card.component.html', styleUrls: ['./exercise-card.component.scss'], }) export class ExerciseCardComponent { @Input() exercise: Exercise | undefined; @Output() exerciseSelectionEvent = new EventEmitter<Exercise>(); constructor( protected searchService: SearchService, private watchlistManager: WatchlistManager, private likesService: LikesService, private exerciseService: ExerciseService ) {} selectExercise(): void { this.exercise = this.exerciseService.populateExerciseWithData(this.exercise!); this.exerciseSelectionEvent.emit(this.exercise); } isOnCurrentWatchlist(e: Exercise): boolean { return this.watchlistManager.isExerciseOnCurrentWatchlist(e); } handleForCurrentWatchlist(e: Exercise):void { this.watchlistManager.handleCheckForCurrentWatchlist(e); } /** * correct missing image urls */ correctImageURL(event: Event): void { const img = event.srcElement as HTMLImageElement; if (img) { img.src = '/content/images/Logo_codeAbility_4c_300dpi_RGB3.gif'; } } }