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';

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>();

Michael Breu
committed
constructor(protected searchService: SearchService) {}

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
}