diff options
Diffstat (limited to 'ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report-run/run/run-report-result-set/run-report-result-set.component.ts')
-rw-r--r-- | ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report-run/run/run-report-result-set/run-report-result-set.component.ts | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report-run/run/run-report-result-set/run-report-result-set.component.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report-run/run/run-report-result-set/run-report-result-set.component.ts new file mode 100644 index 00000000..4f18ff8e --- /dev/null +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/report-run/run/run-report-result-set/run-report-result-set.component.ts @@ -0,0 +1,139 @@ +import { AfterViewInit, Component, OnInit, ViewChild, Input, SimpleChange } from '@angular/core'; +import { MatPaginator } from '@angular/material/paginator'; +import { MatSort } from '@angular/material/sort'; +import { MatTable } from '@angular/material/table'; +import { RunReportFinalTableDataSource, RunReportFinalTableItem } from './run-report-result-set-datasource'; +import { ActivatedRoute } from '@angular/router'; +import { HttpClient } from '@angular/common/http'; +import { RunService } from '../run.service'; + +@Component({ + selector: 'app-run-report-result-set', + templateUrl: './run-report-result-set.component.html', + styleUrls: ['./run-report-result-set.component.css'] +}) +export class RunReportResultSetComponent implements AfterViewInit, OnInit { + + @Input("reportId") reportId1 : string; + + + @ViewChild(MatPaginator, {static: false} as any) paginator: MatPaginator; + @ViewChild(MatSort, {static: false} as any) sort: MatSort; + @ViewChild(MatTable, {static: false} as any) table: MatTable<RunReportFinalTableItem>; + dataSource: RunReportFinalTableDataSource; + + /** Columns displayed in the table. Columns IDs can be added, removed, or reordered. */ + displayedColumns : string[]; + IncomingReportId : string; + displayedColumnsArr : string[]; + displayedRowObj : RunReportFinalTableItem[]; + + constructor(private _http : HttpClient, private _route : ActivatedRoute, private _runService : RunService){ + this.displayedColumnsArr = new Array(); + this.displayedRowObj = new Array(); + this.displayedColumns = new Array(); + } + + ngOnInit() { + this.dataSource = new RunReportFinalTableDataSource(); + + this._route.params.subscribe(params => { + + this.IncomingReportId = params["reportId"]; + }); + this._runService.getReportData(this.reportId1) + .subscribe((response) => { + console.log(response); + + let i=0; + while(response["reportDataColumns"][i]) + { + this.displayedColumnsArr.push(response["reportDataColumns"][i]["columnTitle"] +","+ response["reportDataColumns"][i]["colId"]); + i++; + } + + let j=0; + while(response["reportDataRows"][j]) + { + let k=0; + let obj = new Object(); + while(this.displayedColumnsArr[k]) + { + if(response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]) + { + obj[response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]["colId"]] = response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]["displayValue"]; + } + k++; + } + this.displayedRowObj.push(obj); + j++; + } + + console.log(this.displayedColumnsArr); + console.log(this.displayedRowObj); + + for(let l=0; l<this.displayedColumnsArr.length; l++) + { + this.displayedColumns.push(this.displayedColumnsArr[l].split(",")[1]); + } + + + this.dataSource.data = this.displayedRowObj; + this.dataSource.sort = this.sort; + this.dataSource.paginator = this.paginator; + this.table.dataSource = this.dataSource; + + }); + + + } + + ngAfterViewInit() { + this._runService.getReportData(this.reportId1) + .subscribe((response) => { + console.log(response); + + let i=0; + while(response["reportDataColumns"][i]) + { + this.displayedColumnsArr.push(response["reportDataColumns"][i]["columnTitle"] +","+ response["reportDataColumns"][i]["colId"]); + i++; + } + + let j=0; + while(response["reportDataRows"][j]) + { + let k=0; + let obj = new Object(); + while(this.displayedColumnsArr[k]) + { + if(response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]) + { + obj[response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]["colId"]] = response["reportDataRows"][j][this.displayedColumnsArr[k].split(",")[1]]["displayValue"]; + } + k++; + } + this.displayedRowObj.push(obj); + j++; + } + + console.log(this.displayedColumnsArr); + console.log(this.displayedRowObj); + + for(let l=0; l<this.displayedColumnsArr.length; l++) + { + this.displayedColumns.push(this.displayedColumnsArr[l].split(",")[1]); + } + + this.dataSource.data = this.displayedRowObj; + this.dataSource.sort = this.sort; + this.dataSource.paginator = this.paginator; + this.table.dataSource = this.dataSource; + + }); + + + } + + +} |