import { Component, EventEmitter, Output, Input, HostListener, OnChanges } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { AppConfig } from '../../app.config';
import { SuggestBoxService } from '../suggestbox/suggestbox.service';
import { SuggestionService } from '../suggestbox/suggestionsearch.service';
import { QuerySuggestionItem } from '../suggestionmodels/suggestionItems';
@Component({
selector: 'app-querysuggestion',
templateUrl: './querysuggestion.component.html',
styleUrls: ['./querysuggestion.component.css'],
providers: [SuggestBoxService, SuggestionService]
})
export class QuerysuggestionComponent {
protected configSettings = AppConfig.settings;
@Input() suggestions: QuerySuggestionItem[];
@Output() queryRequestparam = new EventEmitter<any>();
q = '';
constructor(
public router: Router,
private activeRoute: ActivatedRoute,
private suggestBoxService: SuggestBoxService
) {
}
onQuerySubmit() {
this.suggestBoxService.generateSuggestionQueryParams('q', this.q);
}
trackByName(index: number, item: QuerySuggestionItem) {
return item.itemName;
}
@HostListener('document : click')
clickOutside() {
this.dropdownDestroy();
}
dropdownDestroy() {
this.suggestions = [];
}
onQuerySuggestionSelect(item) {
this.dropdownDestroy()
this.queryRequestparam.emit(item);
}
}