X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=webapp-frontend%2Fsrc%2Fapp%2Frd.component.ts;h=31bd76466ea9af34015737f8d16e6c04fa0c9cee;hb=6ae7be6cac43f44625e76ae65007d6372d59afdb;hp=8323b55a596eefd953c5bb460a922193b2fe3888;hpb=1379dce23d47c42d169ed13a337bbee827714830;p=portal%2Fric-dashboard.git diff --git a/webapp-frontend/src/app/rd.component.ts b/webapp-frontend/src/app/rd.component.ts index 8323b55a..31bd7646 100644 --- a/webapp-frontend/src/app/rd.component.ts +++ b/webapp-frontend/src/app/rd.component.ts @@ -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. @@ -18,32 +18,54 @@ * ========================LICENSE_END=================================== */ import { Component, OnInit } from '@angular/core'; +import { Subscription } from 'rxjs'; +import { RicInstance } from './interfaces/dashboard.types'; +import { InstanceSelectorService } from './services/instance-selector/instance-selector.service'; +import { InstanceSelectorDialogService } from './services/ui/instance-selector-dialog.service'; import { UiService } from './services/ui/ui.service'; @Component({ selector: 'rd-root', templateUrl: './rd.component.html', - styleUrls: ['./rd.component.css'] + styleUrls: ['./rd.component.scss'] }) export class RdComponent implements OnInit { showMenu = false; darkModeActive: boolean; - constructor(public ui: UiService) { + private selectedInstanceName: string = 'Select RIC instance'; + private instanceChange: Subscription; + + constructor( + public ui: UiService, + private instanceSelectorDialogService: InstanceSelectorDialogService, + private instanceSelectorService: InstanceSelectorService) { } ngOnInit() { this.ui.darkModeState.subscribe((value) => { this.darkModeActive = value; }); + + 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); } + openInstanceSelectorDialog() { + this.instanceSelectorDialogService.openInstanceSelectorDialog(); + } + }