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 { Statistics } from 'app/shared/model/statistics.model';
import { WatchlistManager } from 'app/shared/watchlist/watchlist-manager';
import { IUserWatchList } from 'app/shared/model/user-watch-list.model';

Michael Breu
committed

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

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

Michael Breu
committed
@Output() exerciseSelectionEvent = new EventEmitter<Exercise>();
constructor(protected searchService: SearchService, private watchlistManager: WatchlistManager) {}

Michael Breu
committed
ngOnInit(): void {}

Michael Breu
committed
selectExercise(): void {
if (this.exercise !== undefined) {
this.exercise.views = 0;
this.exercise.downloads = 0;
this.searchService.getStatisticsForExercise(this.exercise.originalResult.project.project_id).subscribe(
(data: Statistics) => {
this.exercise!.views = data.views!;
this.exercise!.downloads = data.downloads!;
},
() => alert('Could not load exercise statistics')

Michael Breu
committed
);

Michael Breu
committed
this.exerciseSelectionEvent.emit(this.exercise);
}

Michael Breu
committed
/**
* correct missing image urls
*/
correctImageURL(event: Event): void {
if (event.srcElement) {
event.srcElement['src'] = '/content/img/gitLab.png';

Michael Breu
committed
}