b852964b950f95d5ed1b16cd84ce45b5d4166404
[portal/sdk.git] /
1 import { AfterViewInit, Component, OnInit, ViewChild, Input, SimpleChange } from '@angular/core';
2 import { MatPaginator } from '@angular/material/paginator';
3 import { MatSort } from '@angular/material/sort';
4 import { MatTable } from '@angular/material/table';
5 import { RunReportFinalTableDataSource, RunReportFinalTableItem } from './run-report-result-set-datasource';
6 import { ActivatedRoute } from '@angular/router';
7 import { HttpClient } from '@angular/common/http';
8 import { environment } from '../../../../../../../environments/environment';
9 import { RunService } from '../run.service';
10
11 @Component({
12   selector: 'app-run-report-result-set',
13   templateUrl: './run-report-result-set.component.html',
14   styleUrls: ['./run-report-result-set.component.css']
15 })
16 export class RunReportResultSetComponent implements AfterViewInit, OnInit {
17   @Input("reportId") reportId1 : string;
18
19   
20   @ViewChild(MatPaginator, {static: false} as any) paginator: MatPaginator;
21   @ViewChild(MatSort, {static: false} as any) sort: MatSort;
22   @ViewChild(MatTable, {static: false} as any) table: MatTable<RunReportFinalTableItem>;
23   dataSource: RunReportFinalTableDataSource;
24
25   /** Columns displayed in the table. Columns IDs can be added, removed, or reordered. */
26   displayedColumns : string[];
27   IncomingReportId : string;
28   displayedColumnsArr : string[];
29   displayedRowObj : RunReportFinalTableItem[];
30
31   constructor(private _http : HttpClient, private _route : ActivatedRoute, private _runService : RunService){
32       this.displayedColumnsArr = new Array();
33       this.displayedRowObj = new Array();
34       this.displayedColumns = new Array();
35   }
36
37   ngOnInit() {
38     this.dataSource = new RunReportFinalTableDataSource();
39
40     this._route.params.subscribe(params => {
41       
42       this.IncomingReportId = params["reportId"];
43     });
44
45     // console.log(this.IncomingReportId);
46
47     this._runService.getReportData(this.reportId1)
48     .subscribe((response) => {
49       console.log(response);
50
51       let i=0;
52       while(response["reportDataColumns"][i])
53       {
54         this.displayedColumnsArr.push(response["reportDataColumns"][i]["columnTitle"] +","+ response["reportDataColumns"][i]["colId"]);
55         i++;
56       }
57
58       let j=0;
59       while(response["reportDataRows"][j])
60       {
61         let k=0;
62         let obj = new Object();
63         while(this.displayedColumnsArr[k])
64         {
65           if(response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]])
66           {
67             //console.log(response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]);
68             obj[response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]["colId"]] = response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]["displayValue"];
69             //this.displayedRowObj.push(response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]);
70           }
71           k++;
72         }
73         this.displayedRowObj.push(obj);
74         //console.log(response["reportDataRows"][j]);
75         j++;
76       }
77
78       console.log(this.displayedColumnsArr);
79       console.log(this.displayedRowObj);
80
81       for(let l=0; l<this.displayedColumnsArr.length; l++)
82       {
83         this.displayedColumns.push(this.displayedColumnsArr[l].split(",")[1]);
84       }
85       
86       this.dataSource.data = this.displayedRowObj;
87       this.dataSource.sort = this.sort;
88       this.dataSource.paginator = this.paginator;
89       this.table.dataSource = this.dataSource;
90   
91     });
92
93     // this.dataSource.data = [{id: 1, name: 'Hydrogen'}];
94
95   }
96
97   ngAfterViewInit() {
98     this._runService.getReportData(this.reportId1)
99     .subscribe((response) => {
100       console.log(response);
101
102       let i=0;
103       while(response["reportDataColumns"][i])
104       {
105         this.displayedColumnsArr.push(response["reportDataColumns"][i]["columnTitle"] +","+ response["reportDataColumns"][i]["colId"]);
106         i++;
107       }
108
109       let j=0;
110       while(response["reportDataRows"][j])
111       {
112         let k=0;
113         let obj = new Object();
114         while(this.displayedColumnsArr[k])
115         {
116           if(response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]])
117           {
118             //console.log(response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]);
119             obj[response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]["colId"]] = response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]["displayValue"];
120             //this.displayedRowObj.push(response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]);
121           }
122           k++;
123         }
124         this.displayedRowObj.push(obj);
125         //console.log(response["reportDataRows"][j]);
126         j++;
127       }
128
129       console.log(this.displayedColumnsArr);
130       console.log(this.displayedRowObj);
131
132       for(let l=0; l<this.displayedColumnsArr.length; l++)
133       {
134         this.displayedColumns.push(this.displayedColumnsArr[l].split(",")[1]);
135       }
136       
137       this.dataSource.data = this.displayedRowObj;
138       this.dataSource.sort = this.sort;
139       this.dataSource.paginator = this.paginator;
140       this.table.dataSource = this.dataSource;
141   
142     });
143
144
145   }
146
147   
148 }