import { Observable } from 'rxjs/Observable';
import { of } from 'rxjs/observable/of';
import { catchError, finalize, map } from 'rxjs/operators';
-import { XappControlRow, XMXapp, XMXappInstance } from '../interfaces/xapp-mgr.types';
-import { XappMgrService } from '../services/xapp-mgr/xapp-mgr.service';
+import { XappControlRow, XMDeployedApp, XMXappInstance } from '../interfaces/app-mgr.types';
+import { AppMgrService } from '../services/app-mgr/app-mgr.service';
export class ControlDataSource extends DataSource<XappControlRow> {
txMessages: [],
};
- constructor(private xappMgrSvc: XappMgrService, private sort: MatSort) {
+ constructor(private appMgrSvc: AppMgrService, private sort: MatSort) {
super();
- };
+ }
loadTable() {
this.loadingSubject.next(true);
- this.xappMgrSvc.getAll()
+ this.appMgrSvc.getDeployed()
.pipe(
catchError(() => of([])),
finalize(() => this.loadingSubject.next(false))
)
- .subscribe(xApps => this.xAppInstancesSubject.next(this.getInstance(xApps)))
+ .subscribe(xApps => this.xAppInstancesSubject.next(this.flatten(xApps)));
}
connect(collectionViewer: CollectionViewer): Observable<XappControlRow[]> {
this.loadingSubject.complete();
}
- getInstance(allxappdata: XMXapp[]) {
+ private flatten(allxappdata: XMDeployedApp[]) {
const xAppInstances: XappControlRow[] = [];
- for (const xappindex in allxappdata) {
- const instancelist = allxappdata[xappindex].instances;
- if (!instancelist) {
- var instance: XappControlRow = {
- xapp: allxappdata[xappindex].name,
+ for (const xapp of allxappdata) {
+ if (!xapp.instances) {
+ const row: XappControlRow = {
+ xapp: xapp.name,
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);
+ };
+ xAppInstances.push(row);
+ } else {
+ for (const ins of xapp.instances) {
+ const row: XappControlRow = {
+ xapp: xapp.name,
+ instance: ins
+ };
+ xAppInstances.push(row);
}
}
}
function compare(a, b, isAsc) {
return (a < b ? -1 : 1) * (isAsc ? 1 : -1);
-}
\ No newline at end of file
+}