X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fcontrol%2Fcontrol.datasource.ts;h=60f8563eacc5d4b670bbece6a394d7c2ae4a6ef3;hb=7011347fcf6e2ccd06e39deb7459afa48af44be1;hp=30752efa9a9b9f890e3fe1a59ee0a87643ccd882;hpb=81c5a43871449332f9a9560c7cf25d07cf714d8e;p=portal%2Fric-dashboard.git diff --git a/webapp-frontend/src/app/control/control.datasource.ts b/webapp-frontend/src/app/control/control.datasource.ts index 30752efa..60f8563e 100644 --- a/webapp-frontend/src/app/control/control.datasource.ts +++ b/webapp-frontend/src/app/control/control.datasource.ts @@ -25,7 +25,7 @@ import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { Observable } from 'rxjs/Observable'; import { of } from 'rxjs/observable/of'; import { catchError, finalize, map } from 'rxjs/operators'; -import { XappControlRow, XMXapp } from '../interfaces/xapp-mgr.types'; +import { XappControlRow, XMXapp, XMXappInstance } from '../interfaces/xapp-mgr.types'; import { XappMgrService } from '../services/xapp-mgr/xapp-mgr.service'; export class ControlDataSource extends DataSource { @@ -36,6 +36,15 @@ export class ControlDataSource extends DataSource { public loading$ = this.loadingSubject.asObservable(); + emptyInstances: XMXappInstance = + { ip: null, + name: null, + port: null, + status: null, + rxMessages: [], + txMessages: [], + }; + constructor(private xappMgrSvc: XappMgrService, private sort: MatSort) { super(); }; @@ -47,7 +56,7 @@ export class ControlDataSource extends DataSource { catchError(() => of([])), finalize(() => this.loadingSubject.next(false)) ) - .subscribe(xApps => this.xAppInstancesSubject.next(this.getInstance(xApps)) ) + .subscribe(xApps => this.xAppInstancesSubject.next(this.getInstance(xApps))) } connect(collectionViewer: CollectionViewer): Observable { @@ -66,16 +75,25 @@ export class ControlDataSource extends DataSource { } getInstance(allxappdata: XMXapp[]) { - const xAppInstances: XappControlRow[]= []; + const xAppInstances: XappControlRow[] = []; for (const xappindex in allxappdata) { const instancelist = allxappdata[xappindex].instances; - for (const instanceindex in instancelist) { + if (!instancelist) { var instance: XappControlRow = { xapp: allxappdata[xappindex].name, - instance: instancelist[instanceindex] + instance: this.emptyInstances } xAppInstances.push(instance); } + else { + for (const instanceindex in instancelist) { + var instance: XappControlRow = { + xapp: allxappdata[xappindex].name, + instance: instancelist[instanceindex] + } + xAppInstances.push(instance); + } + } } return xAppInstances; }