1 import { Component, OnInit, ViewChild, Inject } from '@angular/core';
2 import { MatPaginator } from '@angular/material/paginator';
3 import { MatTableDataSource } from '@angular/material/table';
4 import { nodeDetailss, nodinfo } from './../../app/datainterface';
5 import { nodeDetails } from './../datainterface';
6 import { EliotserviceService } from '../eliotservice.service';
8 import { NgxPermissionsService } from 'ngx-permissions';
10 import {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';
12 // import { DialogOverviewExampleDialog } from './../nodes';
13 import { debug } from 'util';
15 export interface DialogData {
21 selector: 'app-nodes',
22 templateUrl: './nodes.component.html',
23 styleUrls: ['./nodes.component.scss']
26 export class NodesComponent implements OnInit {
29 nodeInfo = {} as nodeDetails;
31 nodeArray = {} as nodinfo;
38 nodeColumns: string [] = ['nodeName','nodeStatus','nodeRole','age','version','internalIp','externalIp','osImage','kernel','containerRuntime'];
40 nodeDataSource= new MatTableDataSource<nodinfo>(NODE_INFO_LIST);
47 @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;
50 private serviceobj:EliotserviceService,
51 public nodeDialog: MatDialog,
52 private permissionsService: NgxPermissionsService
59 this.nodeDataSource.paginator = this.paginator;
62 this.deleteNode = true;
64 this.role[0] = sessionStorage.getItem('roleName');
66 // this.role[0] = perm[1];
68 this.permissionsService.loadPermissions(this.role);
70 console.log(this.role);
74 nodeFilter(filterValue: string) {
75 this.nodeDataSource.filter = filterValue.trim().toLowerCase();
79 this.serviceobj.getNodesInfoo()
83 this.nodeArrayList = this.nodeInfo.eliotNodes;
84 this.nodeDataSource = new MatTableDataSource(this.nodeArrayList);
85 this.nodeDataSource.paginator = this.paginator;
87 error => console.log(error));
97 this.deleteNode = true;
103 this.editNode = true;
109 // this.openDialog();
113 const dialogRef = this.nodeDialog.open(DialogOverviewExampleDialog, {
115 data: {name: this.name, animal: this.animal}
118 dialogRef.afterClosed().subscribe(result => {
119 console.log('The dialog was closed');
120 this.animal = result;
126 const NODE_LIST: nodeDetailss[] = [
127 {position: 1, nodeName: 'eliot-master', role: 'master', nodeStatus: 'Ready'},
128 {position: 2, nodeName: 'eliot-worker01', role: 'worker', nodeStatus: 'NotReady'},
129 {position: 3, nodeName: 'eliot-worker02', role: 'worker', nodeStatus: 'Ready'}
132 const NODE_INFO_LIST: nodinfo[] = [
133 { nodeName: '', nodeStatus: '', nodeRole: '', age: '', version: '', internalIp: '', externalIp: '', osImage: '', kernel: '', containerRuntime: ''}
136 const perm = ["ADMIN", "DEVELOPER"];
146 selector: 'dialog-overview-example-dialog',
147 templateUrl: 'dialog-overview-example-dialog.html',
149 export class DialogOverviewExampleDialog {
151 credential = "ELIOT EDGE NODE Credentials";
154 public dialogRef: MatDialogRef<DialogOverviewExampleDialog>,
155 @Inject(MAT_DIALOG_DATA) public data: DialogData) {}
158 this.dialogRef.close();