Newer
Older
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { Exercise } from 'app/shared/model/exercise.model';

Michael Breu
committed
import { SearchService } from 'app/search/service/search-service';
import { WatchlistManager } from 'app/shared/watchlist/watchlist-manager';

Eduard Frankford
committed
import { LikesService } from 'app/entities/likes/likes.service';

Eduard Frankford
committed
import { ExerciseService } from '../service/exercise.service';

Michael Breu
committed

Michael Breu
committed
selector: 'jhi-exercise-card',
templateUrl: './exercise-card.component.html',
styleUrls: ['./exercise-card.component.scss'],
export class ExerciseCardComponent {

Michael Breu
committed
@Input() exercise: Exercise | undefined;

Michael Breu
committed
@Output() exerciseSelectionEvent = new EventEmitter<Exercise>();

Eduard Frankford
committed
constructor(
protected searchService: SearchService,
private watchlistManager: WatchlistManager,
private likesService: LikesService,
private exerciseService: ExerciseService
) {}

Michael Breu
committed
selectExercise(): void {

Eduard Frankford
committed
this.exercise = this.exerciseService.populateExerciseWithData(this.exercise!);

Michael Breu
committed
this.exerciseSelectionEvent.emit(this.exercise);
}
isOnCurrentWatchlist(e: Exercise): boolean {
return this.watchlistManager.isExerciseOnCurrentWatchlist(e);
}
handleForCurrentWatchlist(e: Exercise):void {
this.watchlistManager.handleCheckForCurrentWatchlist(e);
}

Michael Breu
committed
/**
* 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';

Michael Breu
committed
}