40 lines
825 B
TypeScript
40 lines
825 B
TypeScript
import {Injectable} from '@angular/core';
|
|
import {Result} from '../interfaces/result.interface';
|
|
import {DataService} from './data.service';
|
|
|
|
export interface SearchInput {
|
|
wasAdvanced: boolean;
|
|
from: string;
|
|
to: string;
|
|
singlePresetSelection: object;
|
|
multiPresetSelection: object;
|
|
textFiler: string;
|
|
fullText: boolean;
|
|
tempMeanMax: number;
|
|
precipitation: number;
|
|
accommodation: number;
|
|
}
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class SearchService {
|
|
|
|
private searchInput: SearchInput;
|
|
|
|
constructor(private ds: DataService) {
|
|
}
|
|
|
|
public executeSearch(query: string): Promise<Result[]> {
|
|
return this.ds.searchRegions(query);
|
|
}
|
|
|
|
public saveSearchInput(input: SearchInput) {
|
|
this.searchInput = input;
|
|
}
|
|
|
|
public loadSearchInput(): SearchInput {
|
|
return this.searchInput;
|
|
}
|
|
}
|