Home page carousel
[eliot.git] / blueprints / common / eliot-ui / frontend-src / src / app / pods / pods.component.ts
1 import { Component, OnInit, ViewChild } from '@angular/core';
2 import { EliotserviceService } from '../eliotservice.service';
3 import { podDetails, podinfo, nodesDropDownDetails } from '../datainterface';
4
5 import {MatTableDataSource} from '@angular/material/table';
6 import { MatPaginator } from '@angular/material/paginator';
7
8 @Component({
9   selector: 'app-pods',
10   templateUrl: './pods.component.html',
11   styleUrls: ['./pods.component.scss']
12 })
13 export class PodsComponent implements OnInit {
14
15   podColumns: string [] = ['namespace','name','ready','status','restarts','age','ip','node','nominated','readiness'];
16   podDataSource = new MatTableDataSource<podinfo>(POD_INFO_LIST);
17   podArrayList = [];
18   selectedNamespace: string;
19   val: string;
20   name: string;
21   selectedNode: string;
22
23   display: boolean;
24
25   podInfo = {} as podDetails;
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   @ViewChild(MatPaginator, {static: true}) paginator: MatPaginator;
38
39   constructor(private serviceobj:EliotserviceService) { }
40
41   ngOnInit() {
42     this.display = true;
43     this.getPodsNamespace(this.selectedNamespace);
44     this.getNodes();
45     this.podDataSource.paginator = this.paginator;
46
47   }
48
49
50   onNodeSelection() {
51     debugger;
52     console.log("on Node Selection triggered....");
53     console.log(this.selectedNode);
54     console.log("fiewofijwe");
55     this.podDataSource.filter = this.selectedNode.trim().toLowerCase();
56   }
57
58   podFilter(filterValue: string) {
59     this.podDataSource.filter = filterValue.trim().toLowerCase();
60   }
61
62   getPodsNamespace(selectedNamespace) {
63     this.serviceobj.getPodsInfo(selectedNamespace)
64        .subscribe(data => {
65         debugger;
66         console.log(data);
67         this.podInfo = data;
68         this.podArrayList =  this.podInfo.eliotPods;
69         this.podDataSource = new MatTableDataSource(this.podArrayList);
70         this.podDataSource.paginator = this.paginator;
71         console.log(this.podArrayList);
72        },
73        error => console.log(error));
74   }
75
76   getNodes() {
77     this.serviceobj.getNodesArray()
78        .subscribe(data => {
79         debugger;
80         console.log(data);
81         this.nodewise = data;
82         this.nodesArray = this.nodewise.nodesArray;
83        },
84        error => console.log(error));
85   }
86
87 }
88
89 const POD_INFO_LIST: podinfo[] = [
90   { namespace: '', name: '', ready: '', status: '',restarts: '', age: '', ip: '', node: '', nominated: '', readiness: ''}
91 ];
92
93