FM GUI as an NPM library for GUI 2
* added dynamic loading of external modules
* new commands on Alarm to allow create/updating/delete
* new fields in alarm gui
Change-Id: I9a7f4d665618a7949bb02039374974dabf6e5363
diff --git a/web/gui2-fw-lib/projects/gui2-fw-lib/src/lib/nav/nav.service.ts b/web/gui2-fw-lib/projects/gui2-fw-lib/src/lib/nav/nav.service.ts
index 22f0549..a24f242 100644
--- a/web/gui2-fw-lib/projects/gui2-fw-lib/src/lib/nav/nav.service.ts
+++ b/web/gui2-fw-lib/projects/gui2-fw-lib/src/lib/nav/nav.service.ts
@@ -14,9 +14,17 @@
* limitations under the License.
*/
import { Injectable } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
import { FnService } from '../util/fn.service';
import { LogService } from '../log.service';
+export interface UiView {
+ id: string;
+ icon: string;
+ cat: string;
+ label: string;
+}
+
/**
* ONOS GUI -- Navigation Service
*/
@@ -26,9 +34,15 @@
export class NavService {
public showNav = false;
+ uiPlatformViews = new Array<UiView>();
+ uiNetworkViews = new Array<UiView>();
+ uiOtherViews = new Array<UiView>();
+ uiHiddenViews = new Array<UiView>();
+
constructor(
private _fn_: FnService,
- private log: LogService
+ private log: LogService,
+ private httpClient: HttpClient
) {
this.log.debug('NavService constructed');
}
@@ -49,4 +63,24 @@
}
}
+ getUiViews() {
+ this.uiPlatformViews = new Array<UiView>();
+ this.uiNetworkViews = new Array<UiView>();
+ this.uiOtherViews = new Array<UiView>();
+ this.uiHiddenViews = new Array<UiView>();
+ this.httpClient.get('rs/nav/uiextensions').subscribe((v: UiView[]) => {
+ v.forEach((uiView: UiView) => {
+ if (uiView.cat === 'PLATFORM') {
+ this.uiPlatformViews.push(uiView);
+ } else if (uiView.cat === 'NETWORK') {
+ this.uiNetworkViews.push(uiView);
+ } else if (uiView.cat === 'HIDDEN') {
+ this.uiHiddenViews.push(uiView);
+ } else {
+ this.uiOtherViews.push(uiView);
+ }
+ });
+ });
+ }
+
}