diff --git a/src-ui/src/app/services/rest/search.service.ts b/src-ui/src/app/services/rest/search.service.ts index 2da5f9a08..b19a55769 100644 --- a/src-ui/src/app/services/rest/search.service.ts +++ b/src-ui/src/app/services/rest/search.service.ts @@ -1,9 +1,11 @@ import { HttpClient, HttpParams } from '@angular/common/http'; import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; +import { map } from 'rxjs/operators'; import { PaperlessDocument } from 'src/app/data/paperless-document'; import { SearchResult } from 'src/app/data/search-result'; import { environment } from 'src/environments/environment'; +import { DocumentService } from './document.service'; @Injectable({ @@ -11,14 +13,19 @@ import { environment } from 'src/environments/environment'; }) export class SearchService { - constructor(private http: HttpClient) { } + constructor(private http: HttpClient, private documentService: DocumentService) { } search(query: string, page?: number): Observable { let httpParams = new HttpParams().set('query', query) if (page) { httpParams = httpParams.set('page', page.toString()) } - return this.http.get(`${environment.apiBaseUrl}search/`, {params: httpParams}) + return this.http.get(`${environment.apiBaseUrl}search/`, {params: httpParams}).pipe( + map(result => { + result.results.forEach(hit => this.documentService.addObservablesToDocument(hit.document)) + return result + }) + ) } autocomplete(term: string): Observable {