Newer
Older
import { Component, OnInit } from '@angular/core';
import { Exercise } from 'app/shared/model/exercise.model';
import { SearchInput } from 'app/shared/model/search-input.model';
import { SearchService } from 'app/search/service/search-service';
import { SearchResultsDTO } from 'app/shared/model/search/search-results-dto.model';
import { SearchResultDTO } from 'app/shared/model/search/search-result-dto.model';
@Component({
selector: 'jhi-mock-search',
templateUrl: './mock-search.component.html',
styleUrls: ['./mock-search.scss'],
})
export class MockSearchComponent implements OnInit {
constructor(protected searchService: SearchService) {}
selectExercise(exercise: Exercise): void {
this.selectedResult = exercise;
}
search(searchInput: SearchInput): void {
if (!searchInput.fulltextQuery) {
this.mockResults = [];
} else {
this.searchService.searchPageDetails(searchInput).subscribe(
(data: SearchResultsDTO) => this.parseSearchResultsDTO(data),
() => alert('Search failed')
);
}
}
parseSearchResultsDTO(searchResultsDTO: SearchResultsDTO): void {
this.hitCount = searchResultsDTO.hitCount;
this.mockResults = searchResultsDTO.searchResult.map(this.searchResultToExercise);
}
searchResultToExercise(searchResult: SearchResultDTO): Exercise {
return {
title: searchResult.title,
license: searchResult.license,
description: searchResult.description,
programmingLanguages: searchResult.programmingLanguage,
languages: searchResult.language,
creators: searchResult.creator,
imageURL: searchResult.image,
rating: 5,
lastUpdate: '2021-01-01',
};
}