dd2fa87b9a92e264f17f227d717608ff60f0a521
[eliot.git] / blueprints / common / eliot-ui / frontend-src / src / app / services / services.component.ts
1 import { Component, OnInit, ViewChild } from '@angular/core';
2
3 import { MyserviceService } from './../myservice.service';
4 import { serviceinfo, serviceDetails } from '../datainterface';
5
6 import {MatTableDataSource} from '@angular/material/table';
7 import { MatPaginator } from '@angular/material/paginator';
8
9 @Component({
10   selector: 'app-services',
11   templateUrl: './services.component.html',
12   styleUrls: ['./services.component.scss']
13 })
14 export class ServicesComponent implements OnInit {
15
16   serviceColumns: string [] = ['serviceName','serviceType','clusterIp','externalIp','ports','age','selector'];
17   serviceDataSource = new MatTableDataSource<serviceinfo>(SERVICE_INFO_LIST);
18   serviceArrayList = [];
19   selectedNamespace: string;
20   name: string;
21   selectedNode: string;
22
23   display: boolean;
24
25   servicesInfo = {} as serviceDetails;
26
27   // nodesArray = [
28   //   {value: 'eliot01', viewValue: 'eliot01'},
29   //   {value: 'eliot02', viewValue: 'eliot02'},
30   //   {value: 'eliot03', viewValue: 'eliot03'}
31   // ];
32
33   // nodesArray = [];
34
35   // nodewise = {} as nodesDropDownDetails;
36
37
38   @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;
39
40   constructor(private serviceobj:MyserviceService) { }
41
42   ngOnInit() {
43     this.display = true;
44
45     this.serviceDataSource.paginator = this.paginator;
46     this.getServices();
47
48   }
49
50
51   onNodeSelection() {
52     debugger;
53     console.log("on Node Selection triggered....");
54     console.log(this.selectedNode);
55     this.serviceDataSource.filter = this.selectedNode.trim().toLowerCase();
56   }
57
58   serviceFilter(filterValue: string) {
59     this.serviceDataSource.filter = filterValue.trim().toLowerCase();
60   }
61
62   getServices() {
63     this.serviceobj.getServicesInfo()
64        .subscribe(data => {
65         debugger;
66         console.log(data);
67         this.servicesInfo = data;
68         this.serviceArrayList =  this.servicesInfo.eliotServices;
69         this.serviceDataSource = new MatTableDataSource(this.serviceArrayList);
70         this.serviceDataSource.paginator = this.paginator;
71         console.log(this.serviceArrayList);
72        },
73        error => console.log(error));
74   }
75
76
77
78   // getNodes() {
79   //   this.serviceobj.getNodesArray()
80   //      .subscribe(data => {
81   //       debugger;
82   //       console.log(data);
83   //       this.nodewise = data;
84   //       this.nodesArray = this.nodewise.nodesArray;
85   //      },
86   //      error => console.log(error));
87   // }
88
89 }
90
91 const SERVICE_INFO_LIST: serviceinfo[] = [
92   { serviceName: '', serviceType: '', clusterIp: '', externalIp: '',ports: '', age: '', selector: ''}
93 ];