import { ILookupHttpService, LookupGridResult } from '@farris/ui-lookup'; import { Observable, of } from 'rxjs'; import { HttpClient } from '@angular/common/http'; import { map } from 'rxjs/operators'; import { Injectable } from '@angular/core'; @Injectable() export class LookupService implements ILookupHttpService { constructor( private http: HttpClient ) { } getData(url: string, params: any): Observable { const urls = url.split(':'); const realUrl = '/api/scm/scmfnd/v1.0/scmcommoncmpservice/service/gethelpdata'; const helpID = urls[0] === '1' ? '9e2dca82-0aa2-4394-b26d-cb91164f44d5' : '344ffc53-7167-48d1-866b-a84083404e9e'; const filter = 'setid:' + urls[1] + '&' + 'state_isenabled:1'; const httpParams: any = {}; if (params) { if (params.pageIndex) { httpParams['pageIndex'] = JSON.stringify(params.pageIndex - 0); } if (params.pageSize) { httpParams['pageSize'] = JSON.stringify(params.pageSize - 0); } if (params.condition) { httpParams['condition'] = JSON.stringify(params.condition); } if (params.searchValue) { httpParams['search'] = params.searchValue; } } return this.http.put(realUrl, { helpID: helpID, queryParam: JSON.stringify(httpParams), filterStr: filter }).pipe(map((data: any) => JSON.parse(data.returnValue))); } }