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<XappControlRow> {
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();
};
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<XappControlRow[]> {
}
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;
}