25fddcefe9ee92678399746549edc66032e18bb5
[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 { AllReportsDataSource, AllReportsItem } from './report-list-datasource';
6 import { HttpClient } from '@angular/common/http';
7 import { Router } from '@angular/router';
8 import { environment } from '../../../../environments/environment';
9
10 @Component({
11   selector: 'app-all-reports',
12   templateUrl: './report-list.component.html',
13   styleUrls: ['./report-list.component.css']
14 })
15 export class ReportListComponent implements AfterViewInit, OnInit {
16   @ViewChild(MatPaginator, {static: false} as any) paginator: MatPaginator;
17   @ViewChild(MatSort, {static: false} as any) sort: MatSort;
18   @ViewChild(MatTable, {static: false} as any) table: MatTable<AllReportsItem>;
19
20   @Input("reportId") reportId1 : string;
21
22
23   dataSource: AllReportsDataSource;
24   finalGETObj : {};
25   finalGETObjRowsArr : [][];
26   rowArr : {}[];
27   reportIdArr : string[];
28   toggle : boolean;
29   intermediateDisplayedColumns : string[];
30   displayedColumns : string[];
31   finalRowArr : AllReportsItem[];
32   rowObj : any;
33   reportId : string;
34   toggle1 : boolean;
35   showSpinner : boolean;
36   /** Columns displayed in the table. Columns IDs can be added, removed, or reordered. */
37   // displayedColumns = ['id', 'name'];
38
39   constructor(private _http : HttpClient, private _router : Router){
40
41     this.showSpinner = true;
42     this.dataSource = new AllReportsDataSource();
43     this.intermediateDisplayedColumns = new Array();
44
45
46     this.finalGETObj = new Object();
47
48     this.finalGETObj = new Object();
49     this.finalGETObjRowsArr = new Array();
50     this.rowArr = new Array();
51     this.reportIdArr = new Array();
52     this.toggle = false;
53     this.toggle1 = false;
54
55     this.finalRowArr = new Array();
56    
57
58     this._http.get(environment.baseUrl + "raptor.htm?action=report.search.execute&r_page=0")
59     .subscribe((responseObj) => {
60       this.finalGETObj = responseObj;
61       // console.log(responseObj);
62       this.finalGETObjRowsArr = this.finalGETObj["rows"];
63
64       let j=0;
65       while(this.finalGETObj["columns"][0][j])
66       {
67         if(this.finalGETObj["columns"][0][j]["columnId"] !== "no")
68         {
69           this.intermediateDisplayedColumns.push(this.finalGETObj["columns"][0][j]["columnId"]);
70         }
71         j++;
72       }
73       //console.log(this.intermediateDisplayedColumns);
74
75       this.displayedColumns = this.intermediateDisplayedColumns;
76
77       let i=0;
78
79       while(this.finalGETObjRowsArr[0][i])
80       {
81         this.rowArr = this.finalGETObjRowsArr[0][i];
82         this.rowObj = new Object();
83         let j=0;
84         while(this.rowArr[j])
85         {
86           
87
88           if(this.rowArr[j]["columnId"] === "rep_id")
89           {
90             this.rowObj["rep_id"] = this.rowArr[j]["searchresultField"]["displayValue"];
91             this.reportIdArr.push(this.rowArr[j]["searchresultField"]["displayValue"]);
92           }
93
94           if(this.rowArr[j]["columnId"] === "rep_name")
95           {
96             this.rowObj["rep_name"] = this.rowArr[j]["searchresultField"]["displayValue"];
97           }
98
99           if(this.rowArr[j]["columnId"] === "descr")
100           {
101             this.rowObj["descr"] = this.rowArr[j]["searchresultField"]["displayValue"];
102           }
103
104           if(this.rowArr[j]["columnId"] === "owner")
105           {
106             this.rowObj["owner"] = this.rowArr[j]["searchresultField"]["displayValue"];
107           }
108
109           if(this.rowArr[j]["columnId"] === "create_date")
110           {
111             this.rowObj["create_date"] = this.rowArr[j]["searchresultField"]["displayValue"];
112           }
113
114           if(this.rowArr[j]["columnId"] === "copy")
115           {
116             this.rowObj["copy"] = this.rowArr[j]["searchresultField"]["displayValue"];          }
117
118           if(this.rowArr[j]["columnId"] === "edit")
119           {
120             this.rowObj["edit"] = this.rowArr[j]["searchresultField"]["displayValue"];
121           }
122
123           if(this.rowArr[j]["columnId"] === "delete")
124           {
125             this.rowObj["delete"] = this.rowArr[j]["searchresultField"]["displayValue"];
126           }
127
128           if(this.rowArr[j]["columnId"] === "schedule")
129           {
130             this.rowObj["schedule"] = this.rowArr[j]["searchresultField"]["displayValue"];
131           }
132
133           if(this.rowArr[j]["columnId"] === "run")
134           {
135             this.rowObj["run"] = this.rowArr[j]["searchresultField"]["displayValue"];
136           }
137
138           
139           j++;
140         }
141         this.finalRowArr.push(this.rowObj);
142         i++;
143       }
144
145       console.log(this.finalRowArr);
146       console.log(this.toggle);
147       this.showSpinner = false;
148
149       if(!this.showSpinner)
150       {
151        this.dataSource.data = this.finalRowArr;
152
153        this.dataSource.sort = this.sort;
154     this.dataSource.paginator = this.paginator;
155        this.table.dataSource = this.dataSource;
156       }
157        //[{rep_id: '1', rep_name: 'Hydrogen', descr: 'Hydrogen',owner: 'Hydrogen',create_date: 'Hydrogen',copy: 'Hydrogen',edit: 'Hydrogen',delete: 'Hydrogen',schedule: 'Hydrogen',run: 'Hydrogen' }];
158       //this.finalRowArr;
159
160       
161
162       console.log(this.showSpinner);
163     });
164
165
166   }
167
168   ngOnInit() {
169       this.toggle = false;  
170       //console.log(this.toggle);
171   }
172
173   ngAfterViewInit() {
174     this.dataSource.sort = this.sort;
175     this.dataSource.paginator = this.paginator;
176     this.table.dataSource = this.dataSource;
177     console.log(this.toggle);
178   }
179
180   displayReport(reportId : string)
181   {
182     // this.toggle = true;
183     console.log(reportId, this.toggle);
184     this.reportId = reportId;
185
186     this._router.navigate(["v2/reports", "Edit",reportId]);  
187
188     
189     
190   }
191
192   runReport(reportId : string)
193   {
194     // this.toggle1 = true;
195    
196     this.reportId = reportId;
197
198     this._router.navigate(['v2/run', reportId]);
199
200   }
201
202   
203 }