Merge "Upgrade ANR API to version 0.0.7"
[portal/ric-dashboard.git] / webapp-frontend / src / app / signal / signal.component.ts
1 /*-
2  * ========================LICENSE_START=================================
3  * O-RAN-SC
4  * %%
5  * Copyright (C) 2019 AT&T Intellectual Property and Nokia
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 } from '@angular/core';
21 import { LocalDataSource } from 'ng2-smart-table';
22 import { MatDialog} from '@angular/material/dialog';
23 import { AppRANConnectDialogComponent } from './signal.component.ranconnect-dialog';
24 import { E2ManagerService } from '../services/e2-mgr/e2-mgr.service';
25 import { E2SetupRequest } from '../interfaces/e2-mgr.types';
26
27 @Component({
28   selector: 'app-signal',
29   templateUrl: 'signal.component.html',
30   styleUrls: ['signal.component.css']
31 })
32
33 export class SignalComponent implements OnInit {
34   settings = {
35     hideSubHeader: true,
36     actions: {
37       columnTitle: 'Actions',
38       add: false,
39       edit: false,
40       delete: false,
41       position: 'right'
42     },
43     columns: {
44       requestType: {
45         title: 'RAN Type',
46         type: 'string',
47       },
48       ranName: {
49         title: 'eNodeB/gNodeB Name',
50         type: 'string',
51       },
52       ranIp: {
53         title: 'IP',
54         type: 'number',
55       },
56       ranPort: {
57         title: 'Port',
58         type: 'number',
59       },
60       responseCode: {
61         title: 'Response',
62         type: 'number',
63       },
64       timeStamp: {
65         title: 'Time Stamp',
66         type: 'string',
67       }
68     }
69   };
70
71   source: LocalDataSource = new LocalDataSource();
72
73   constructor(private service: E2ManagerService, public dialog: MatDialog) { }
74
75   ngOnInit() {
76     this.service.getAll().subscribe((val: E2SetupRequest[]) => this.source.load(val));
77   }
78
79   openRanConnectDialog() {
80     const dialogRef = this.dialog.open(AppRANConnectDialogComponent, {
81       width: '450px',
82       data: {}
83     });
84     dialogRef.afterClosed().subscribe(result => {
85       this.service.getAll().subscribe((val: any[]) => this.source.load(val));
86     });
87   }
88
89 } // class SignalComponent