* ========================LICENSE_END===================================
*/
import { Component, OnInit } from '@angular/core';
-import { finalize } from 'rxjs/operators';
+import { Subscription } from 'rxjs';
import { RicInstance } from './interfaces/dashboard.types';
import { InstanceSelectorService } from './services/instance-selector/instance-selector.service';
-import { LoadingDialogService } from './services/ui/loading-dialog.service';
+import { InstanceSelectorDialogService } from './services/ui/instance-selector-dialog.service';
import { UiService } from './services/ui/ui.service';
@Component({
export class RdComponent implements OnInit {
showMenu = false;
darkModeActive: boolean;
- private instanceArray: RicInstance[];
- private selectedInstanceKey: string;
+
+ private selectedInstanceName: string = 'Select RIC instance';
+ private instanceChange: Subscription;
constructor(
public ui: UiService,
- private instanceSelectorService: InstanceSelectorService,
- private loadingDialogService: LoadingDialogService) {
+ private instanceSelectorDialogService: InstanceSelectorDialogService,
+ private instanceSelectorService: InstanceSelectorService) {
}
ngOnInit() {
this.ui.darkModeState.subscribe((value) => {
this.darkModeActive = value;
});
- this.loadingDialogService.startLoading('Loading RIC instances');
- this.instanceSelectorService.getInstanceArray()
- .pipe(
- finalize(() => this.loadingDialogService.stopLoading())
- )
- .subscribe((instanceArray: RicInstance[]) => {
- this.instanceArray = instanceArray;
- this.selectedInstanceKey = instanceArray[0].key;
- })
+
+ this.instanceChange = this.instanceSelectorService.getSelectedInstance().subscribe((instance: RicInstance) => {
+ if (instance.name) {
+ this.selectedInstanceName = instance.name;
+ } else {
+ this.openInstanceSelectorDialog()
+ }
+ });
}
- toggleMenu() {
- this.showMenu = !this.showMenu;
+ ngOnDestroy() {
+ this.instanceChange.unsubscribe();
}
modeToggleSwitch() {
this.ui.darkModeState.next(!this.darkModeActive);
}
- changeInstance(selectedInstancekey: string) {
- this.instanceSelectorService.updateSelectedInstance(selectedInstancekey);
+ openInstanceSelectorDialog() {
+ this.instanceSelectorDialogService.openInstanceSelectorDialog();
}
}