1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2024-11-03 21:04:03 +08:00
pigallery2/frontend/app/ui/gallery/search/autocomplete.service.ts

25 lines
821 B
TypeScript
Raw Normal View History

2018-03-31 03:30:30 +08:00
import {Injectable} from '@angular/core';
import {NetworkService} from '../../../model/network/network.service';
import {AutoCompleteItem} from '../../../../../common/entities/AutoCompleteItem';
2018-03-31 03:30:30 +08:00
import {GalleryCacheService} from '../cache.gallery.service';
@Injectable()
export class AutoCompleteService {
2017-07-30 05:39:06 +08:00
constructor(private _networkService: NetworkService,
private galleryCacheService: GalleryCacheService) {
}
2016-05-09 23:04:56 +08:00
2017-07-30 05:39:06 +08:00
public async autoComplete(text: string): Promise<Array<AutoCompleteItem>> {
let items: Array<AutoCompleteItem> = this.galleryCacheService.getAutoComplete(text);
if (items == null) {
2018-03-31 03:30:30 +08:00
items = await this._networkService.getJson<Array<AutoCompleteItem>>('/autocomplete/' + text);
2017-07-30 05:39:06 +08:00
this.galleryCacheService.setAutoComplete(text, items);
}
return items;
}
}