Add multi-layer RIC instance selector
[portal/ric-dashboard.git] / webapp-frontend / src / app / app-control / app-control.datasource.ts
index 6a19286..76c4216 100644 (file)
@@ -2,14 +2,14 @@
  * ========================LICENSE_START=================================
  * O-RAN-SC
  * %%
- * Copyright (C) 2019 AT&T Intellectual Property and Nokia
+ * Copyright (C) 2019 AT&T Intellectual Property
  * %%
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- *
+ * 
  *      http://www.apache.org/licenses/LICENSE-2.0
- *
+ * 
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -20,7 +20,7 @@
 
 import { CollectionViewer, DataSource } from '@angular/cdk/collections';
 import { HttpErrorResponse } from '@angular/common/http';
-import { MatSort } from '@angular/material';
+import { MatSort } from '@angular/material/sort';
 import { Observable } from 'rxjs/Observable';
 import { BehaviorSubject } from 'rxjs/BehaviorSubject';
 import { merge } from 'rxjs';
@@ -41,7 +41,8 @@ export class AppControlDataSource extends DataSource<XappControlRow> {
   public rowCount = 1; // hide footer during intial load
 
   private emptyInstances: XMXappInstance =
-    { ip: null,
+    {
+      ip: null,
       name: null,
       port: null,
       status: null,
@@ -55,18 +56,18 @@ export class AppControlDataSource extends DataSource<XappControlRow> {
     super();
   }
 
-  loadTable() {
+  loadTable(instanceKey: string) {
     this.loadingSubject.next(true);
-    this.appMgrSvc.getDeployed()
+    this.appMgrSvc.getDeployed(instanceKey)
       .pipe(
-        catchError( (her: HttpErrorResponse) => {
+        catchError((her: HttpErrorResponse) => {
           console.log('AppControlDataSource failed: ' + her.message);
           this.notificationService.error('Failed to get applications: ' + her.message);
           return of([]);
         }),
         finalize(() => this.loadingSubject.next(false))
       )
-      .subscribe( (xApps: XMDeployedApp[]) => {
+      .subscribe((xApps: XMDeployedApp[]) => {
         this.rowCount = xApps.length;
         const flattenedApps = this.flatten(xApps);
         this.appControlSubject.next(flattenedApps);
@@ -88,7 +89,7 @@ export class AppControlDataSource extends DataSource<XappControlRow> {
     this.loadingSubject.complete();
   }
 
-  private flatten(allxappdata: XMDeployedApp[]): XappControlRow[]  {
+  private flatten(allxappdata: XMDeployedApp[]): XappControlRow[] {
     const xAppInstances: XappControlRow[] = [];
     for (const xapp of allxappdata) {
       if (!xapp.instances) {