import { Component, OnInit } from '@angular/core'; import { SearchService, AutoCompletionEntry } from 'app/mock-search/service/search-service'; import { SearchInputComponent } from 'app/search-input/search-input.component'; import { Router } from '@angular/router'; @Component({ selector: 'jhi-teaser-content', templateUrl: './teaserContent.component.html', styleUrls: ['./teaserContent.component.scss'], providers: [SearchInputComponent], }) export class TeaserContentComponent implements OnInit { public keywords: Array<AutoCompletionEntry> = new Array<AutoCompletionEntry>(); public contributors: Array<AutoCompletionEntry> = new Array<AutoCompletionEntry>(); public programmingLanguages: Array<AutoCompletionEntry> = new Array<AutoCompletionEntry>(); constructor(private searchService: SearchService, private router: Router, private searchInputComponent: SearchInputComponent) {} ngOnInit(): void { this.searchService.getKeywordsAutoComplete('').subscribe( (data: Array<AutoCompletionEntry>) => { this.keywords = data; }, () => { alert('Initialization of keywords failed'); } ); this.searchService.getProgrammingLanguageAutoComplete('').subscribe( (data: Array<AutoCompletionEntry>) => { this.programmingLanguages = data; }, () => { alert('Initialization of programming languages failed'); } ); this.searchService.getContributorAutoComplete('').subscribe( (data: Array<AutoCompletionEntry>) => { this.contributors = data; }, () => { alert('Initialization of contributors failed'); } ); } clickLanguage(programmingLanguage: String): void { this.router.navigate(['/search'], { queryParams: { pl: programmingLanguage } }); } clickContributor(contributor: String): void { this.router.navigate(['/search'], { queryParams: { a: contributor } }); } clickKeyword(keyWord: String): void { this.router.navigate(['/search'], { queryParams: { kw: keyWord } }); } }