- loadJobs() {
- this.loadingSubject.next(true);
- let jobs = [];
- this.eiSvc.getProducerIds().pipe(
- mergeMap(prodIds =>
- forkJoin(prodIds.map(id => this.eiSvc.getJobsForProducer(id)))),
- mergeMap(result => result),
- finalize(() => this.loadingSubject.next(false))
- ).subscribe(result => {
- jobs = jobs.concat(result);
- this.jobsSubject.next(jobs);
+ private extractJobs(res: any) {
+ this.clearFilter();
+ res.forEach(element => {
+ if (element[0] != -1) {
+ if (element[1] != -1 && element[2] != -1) {
+ let jobObj = <Job>{};
+ jobObj.jobId = element[0];
+ jobObj.owner = element[1].job_owner;
+ jobObj.targetUri = element[1].job_result_uri;
+ jobObj.typeId = element[1].info_type_id;
+ jobObj.prodIds = (element[2].producers) ? element[2].producers : ["No Producers"];
+ jobObj.status = element[2].info_job_status;
+ this.jobList = this.jobList.concat(jobObj);
+ } else {
+ let jobObj = <Job>{};
+ jobObj.jobId = element[0];
+ if (element[1] == -1) {
+ jobObj.owner = "--Missing information--";
+ jobObj.targetUri = "--Missing information--";
+ jobObj.typeId = "--Missing information--";
+ }
+ if (element[2] == -1) {
+ jobObj.prodIds = "--Missing information--" as unknown as [];
+ jobObj.status = "--Missing information--" as OperationalState;
+ }
+ this.jobList = this.jobList.concat(jobObj);
+ }
+ }