X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=webapp-frontend%2Fsrc%2Fapp%2Fsignal%2Fsignal.component.ts;fp=webapp-frontend%2Fsrc%2Fapp%2Fsignal%2Fsignal.component.ts;h=a3ad5a24f6664c77d8aabe7850fcf87a6d58cf80;hb=7635a665c46bb7a487a3b582bb3e98c7f12e799e;hp=0000000000000000000000000000000000000000;hpb=404259bbdeedbcbb45f4bf650f1a89c8707e740c;p=portal%2Fric-dashboard.git diff --git a/webapp-frontend/src/app/signal/signal.component.ts b/webapp-frontend/src/app/signal/signal.component.ts new file mode 100644 index 00000000..a3ad5a24 --- /dev/null +++ b/webapp-frontend/src/app/signal/signal.component.ts @@ -0,0 +1,131 @@ +/*- + * ========================LICENSE_START================================= + * O-RAN-SC + * %% + * Copyright (C) 2019 AT&T Intellectual Property and Nokia + * %% + * 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. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================LICENSE_END=================================== + */ +import { Component, OnInit, Inject } from '@angular/core'; +import { LocalDataSource } from 'ng2-smart-table'; +import { SignalService } from '../services/signal/signal.service'; +import { Router } from '@angular/router'; +import { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog'; +import {MatFormFieldModule} from '@angular/material'; +import { FormGroup, FormControl, FormBuilder } from '@angular/forms'; +import { HttpClient } from '@angular/common/http'; +import { Observable } from 'rxjs/Rx'; + +export interface DialogData { + ranName: string; + ranIp: number; + ranPort: number; +} + +@Component({ + selector: 'app-signal', + templateUrl: 'signal.component.html', + styleUrls: ['signal.component.css'] +}) +export class SignalComponent { + + settings = { + hideSubHeader: true, + actions: { + columnTitle: 'Actions', + add: false, + edit: false, + delete: false, + position: 'right' + }, + columns: { + requestType: { + title: 'Request Type', + type: 'string', + }, + ranName: { + title: 'eNodeB/gNodeB Name', + type: 'string', + }, + ranIp: { + title: 'IP', + type: 'number', + }, + ranPort: { + title: 'Port', + type: 'number', + }, + responseCode: { + title: 'Response', + type: 'number', + }, + timeStamp: { + title: 'Time Stamp', + type: 'string', + } + } + }; + + source: LocalDataSource = new LocalDataSource(); + + ranName: string; + + ranIp: number; + + ranPort: number; + + constructor(private service: SignalService, public dialog: MatDialog, private http: HttpClient) { + this.service.getAll().subscribe((val: any[]) => this.source.load(val)); + } + + openRanConnectDialog() { + + const dialogRef = this.dialog.open(AppRANConnectDialog, { + width: '450px', + data: {ranName: this.ranName, ranIp: this.ranIp, ranPort: this.ranPort} + }) + + dialogRef.afterClosed().subscribe(result => { + this.service.getAll().subscribe((val: any[]) => this.source.load(val)); + }); + + } +} + +@Component({ + selector: 'app-signal-ranconnect-dialog', + templateUrl: 'signal.component.ranconnect-dialog.html', + styleUrls: ['signal.component.css'] +}) + +export class AppRANConnectDialog implements OnInit { + + constructor(public dialogRef: MatDialogRef, + private service: SignalService, + @Inject(MAT_DIALOG_DATA) public data: DialogData) { + } + + ngOnInit() { + } + + close() { + this.dialogRef.close(); + } + + connectRAN(): void { + this.service.x2Setup(this.data).subscribe((val: any[]) => {}); + this.dialogRef.close(); + } + +}