Add multi-layer RIC instance selector
[portal/ric-dashboard.git] / webapp-frontend / src / app / stats / stats.component.ts
1 /*-
2  * ========================LICENSE_START=================================
3  * O-RAN-SC
4  * %%
5  * Copyright (C) 2019 AT&T Intellectual Property
6  * %%
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ========================LICENSE_END===================================
19  */
20 import { Component, OnInit, ViewChildren, QueryList } from '@angular/core';
21 import { BaseChartDirective } from 'ng2-charts/ng2-charts';
22 import { StatsService } from '../services/stats/stats.service';
23 import { HttpClient } from '@angular/common/http';
24 import { map } from 'rxjs/operators';
25 import { DashboardSuccessTransport } from '../interfaces/dashboard.types';
26 import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
27
28 @Component({
29     selector: 'rd-stats',
30     templateUrl: './stats.component.html',
31     styleUrls: ['./stats.component.scss']
32 })
33 export class StatsComponent implements OnInit {
34
35     @ViewChildren(BaseChartDirective) charts: QueryList<BaseChartDirective>;
36     checked = false;
37     metricsUrlAc: SafeResourceUrl;
38     metricsUrlMc: SafeResourceUrl;
39
40     constructor(private service: StatsService,
41         private httpClient: HttpClient,
42         private sanitize: DomSanitizer) {
43     }
44
45     ngOnInit() {
46         this.service.getAppMetricsUrl('AC').subscribe((res: DashboardSuccessTransport) => {
47             this.metricsUrlAc = this.sanitize.bypassSecurityTrustResourceUrl(res.data);
48         });
49         this.service.getAppMetricsUrl('MC').subscribe((res: DashboardSuccessTransport) => {
50             this.metricsUrlMc = this.sanitize.bypassSecurityTrustResourceUrl(res.data);
51         });
52     }
53
54 }