summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report
diff options
context:
space:
mode:
authormravula <mr257h@att.com>2020-05-05 12:20:30 -0400
committerSudarshan Kumar <sudarshan.kumar@att.com>2020-05-16 01:50:52 +0530
commit759e9e75fc0b5978f98f901744c87c0c8d5ef4fd (patch)
tree4b61ca0a05ec79d45f88b81142264e0407d2ddb3 /ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report
parent03abc05e6217274f557ec4987aa8e8bd34b2f4a4 (diff)
Raptor backend java API Code(Analytics), UI Code(Overlay) and pages
component in os project Issue-ID: PORTAL-902 Change-Id: Id297d9493a77e6816ed0f2a82c15b2eaa1e57a72 Signed-off-by: Sudarshan Kumar <sudarshan.kumar@att.com>
Diffstat (limited to 'ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report')
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.css28
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.html101
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.spec.ts2
-rw-r--r--ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.ts392
4 files changed, 318 insertions, 205 deletions
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.css b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.css
index e9b4c87f..c57d7287 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.css
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.css
@@ -1,4 +1,6 @@
-
+.submit-approval-btn{
+ display: contents;
+}
.lds-ring {
display: inline-block;
position: relative;
@@ -9,11 +11,11 @@
box-sizing: border-box;
display: block;
position: absolute;
- width: 80px;
- height: 80px;
+ width: 35px;
+ height: 35px;
margin: 6px;
- margin-top: -10px;
- border: 10px solid #006496;
+ margin-top: 40px;
+ border: 6px solid #006496;
border-radius: 80%;
animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
border-color: #006496 transparent transparent transparent;
@@ -46,13 +48,21 @@ table {
overflow: auto;
}
+ td.mat-cell{
+ padding-left: 3px;
+ border-bottom-width: 1px;
+ border-bottom-style: solid;
+ border-right: 0.1px solid gray;
+ border-left: 0.1px solid gray;
+}
+.mat-icon-delete{
+ color: #006496;
+ cursor: pointer;
+}
.app-data-table {
- margin-top: 35px;
- /* margin-left: 250px;
- margin-right: 250px; */
-
+ margin-top: 0px;
}
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.html b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.html
index b8fa314a..08ae8d42 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.html
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.html
@@ -1,65 +1,73 @@
+<span class="ecomp-spinner" *ngIf="showSpinner"></span>
-<div *ngIf="showSpinner">
- <div class="lds-ring">
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- </div>
-</div>
+<div *ngIf="!showChart">
+ <div class="app-data-table">
+ <div class="app-data-table-fixed-height">
+ <div class="example-container">
+ <table [dataSource]="dataSource" mat-table matSort>
+ <div *ngFor="let keys of displayedColumns; let i = index">
+ <ng-container matColumnDef="{{keys}}">
+ <th *matHeaderCellDef mat-header-cell
+ mat-sort-header>{{displayedColumnsArr[i].split(",")[0]}}</th>
+ <td *matCellDef="let row" mat-cell>
+ <div *ngIf="row[keys].split('|')[0] == 'linkToReport'"
+ [ngStyle]="setStyle(row[keys].split('|')[4])">
+ <a (click)="linkToReport(row[keys].split('|')[1], row[keys].split('|')[2])"
+ [routerLink]="">{{row[keys].split('|')[3]}}</a>
+ </div>
+ <div *ngIf="row[keys].split('|')[0] == 'linkToFeedback'"
+ [ngStyle]="setStyle(row[keys].split('|')[4])">
+ <a (click)="linkToFeedback(row[keys].split('|')[1], row[keys].split('|')[2])"
+ [routerLink]="">{{row[keys].split('|')[3]}}</a>
+ </div>
+ <div *ngIf="row[keys].split('|')[0] == 'linkToMail'"
+ [ngStyle]="setStyle(row[keys].split('|')[3])">
+ <a (click)="linkToMail(row[keys].split('|')[1])"
+ [routerLink]="">{{row[keys].split('|')[2]}}</a>
+ </div>
+ <div *ngIf="row[keys].split('|')[0] == 'clickToDownload' ">
+ <mat-icon class="mat-icon-delete" aria-hidden="false" aria-label="play-for-work"
+ (click)="onClickToDowload(row)">play-for-work</mat-icon>
+ </div>
+ <div *ngIf="row[keys].split('|')[0] !== 'linkToReport' && row[keys].split('|')[0] !== 'linkToFeedback' && row[keys].split('|')[0] !== 'linkToMail'
+ && row[keys].split('|')[0] !== 'clickToDownload' "
+ [ngStyle]="setStyle(row[keys].split('|')[1])">
+ {{row[keys].split('|')[0]}}</div>
+ </td>
+ <td *matFooterCellDef align="center"
+ mat-footer-cell>{{getDisplayTotal(keys)}}</td>
+ </ng-container>
+ </div>
-<mat-form-field>
- <input matInput (keyup)="applyFilter($event.target.value)" placeholder="Filter Report Data">
- </mat-form-field>
+ <tr *matHeaderRowDef="displayedColumns; sticky: true;"
+ mat-header-row></tr>
+ <tr *matRowDef="let row; columns: displayedColumns;" mat-row></tr>
+ <tr mat-footer-row *matFooterRowDef="displayedColumns; sticky: true;"></tr>
+ </table>
-<div class="app-data-table">
- <div class="app-data-table-fixed-height">
-<div class="example-container">
- <table mat-table [dataSource]="dataSource" matSort>
- <div *ngFor="let keys of displayedColumns; let i = index">
- <ng-container matColumnDef="{{keys}}">
- <th mat-header-cell *matHeaderCellDef mat-sort-header>{{displayedColumnsArr[i].split(",")[0]}}</th>
- <td mat-cell *matCellDef="let row">
- <div *ngIf="row[keys].split(',')[0] == 'linkToReport'">
- <a [routerLink]="" (click)="linkToReport(row[keys].split(',')[1], row[keys].split(',')[2])">{{row[keys].split(',')[3]}}</a>
- </div>
- <div *ngIf="row[keys].split(',')[0] == 'linkToFeedback'">
- <a [routerLink]="" (click)="linkToFeedback(row[keys].split(',')[1], row[keys].split(',')[2])">{{row[keys].split(',')[3]}}</a>
- </div>
- <div *ngIf="row[keys].split(',')[0] == 'linkToMail'">
- <a [routerLink]="" (click)="linkToMail(row[keys].split(',')[1])">{{row[keys].split(',')[2]}}</a>
- </div>
- <div *ngIf="row[keys].split(',')[0] !== 'linkToReport' && row[keys].split(',')[0] !== 'linkToFeedback' && row[keys].split(',')[0] !== 'linkToMail'">
- {{row[keys]}}
- </div>
- </td>
- </ng-container>
+ <mat-paginator [pageSizeOptions]="[5, 10, 20]" showFirstLastButtons></mat-paginator>
</div>
-
- <tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: true;"></tr>
- <tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
- </table>
-
- <mat-paginator [pageSizeOptions]="[5, 10, 20]" showFirstLastButtons></mat-paginator>
- </div>
- </div>
+ </div>
+ </div>
+</div>
+<div *ngIf="showChart" align="center">
+ <iframe #iframe height="550px" style="border: none" width="100%"></iframe>
</div>
-
<!-- <div *ngIf="!showDashboardReport">
<div class="app-data-table">
<div class="app-data-table-fixed-height">
<table mat-table class="full-width-table" matSort aria-label="Elements">
-
+
<div *ngFor="let keys of displayedColumns; let i = index">
<ng-container matColumnDef="{{keys}}">
<th mat-header-cell *matHeaderCellDef mat-sort-header >{{displayedColumnsArr[i].split(",")[0]}}</th>
<td mat-cell *matCellDef="let row">{{row[keys]}}</td>
</ng-container>
</div>
-
-
+
+
<tr mat-header-row *matHeaderRowDef="displayedColumns" ></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;"></tr>
</table>
@@ -70,6 +78,5 @@
[pageSize]="15"
[pageSizeOptions]="[15, 25, 50, 100, 250]">
</mat-paginator>
- </div>
+ </div>
</div> -->
- \ No newline at end of file
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.spec.ts
index e0ea762d..a94d9ee1 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.spec.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.spec.ts
@@ -40,12 +40,10 @@ describe('RunDashboardReportComponent', () => {
beforeEach(() => {
fixture = TestBed.createComponent(RunDashboardReportComponent);
component = fixture.componentInstance;
- fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
- fixture.detectChanges();
});
it('should test ngOnInit method', () => {
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.ts
index 35fe7414..3a38eba4 100644
--- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.ts
+++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/pages/analytics/Report_List/Report/run/run-report/run-dashboard-report/run-dashboard-report.component.ts
@@ -1,10 +1,14 @@
-import { Component, OnInit, Input, AfterViewInit, ViewChild } from '@angular/core';
+import { Component, OnInit, Input, AfterViewInit, ViewChild, ElementRef } from '@angular/core';
import { GridsterConfig, GridType, GridsterItem } from 'angular-gridster2';
import { MatTableDataSource } from '@angular/material/table';
import { MatPaginator } from '@angular/material/paginator';
import { DashboardReportService } from './dashboard-report.service';
import { MatSort } from '@angular/material';
import { Router } from '@angular/router';
+import { environment } from '../../../../../../../../environments/environment';
+import { DisplayHtml } from '../../../display-html';
+import { RunService } from '../../run.service';
+import {FormControl} from '@angular/forms';
@@ -12,168 +16,262 @@ export interface PeriodicElement {
}
-
-
const ELEMENT_DATA: PeriodicElement[] = [{}];
@Component({
- selector: 'app-run-dashboard-report',
- templateUrl: './run-dashboard-report.component.html',
- styleUrls: ['./run-dashboard-report.component.css']
+ selector: 'app-run-dashboard-report',
+ templateUrl: './run-dashboard-report.component.html',
+ styleUrls: ['./run-dashboard-report.component.css']
})
export class RunDashboardReportComponent implements AfterViewInit {
-
-
- @Input("reportId") reportId1 : string;
- @Input("queryString") queryString : string;
- @Input("hitCnt") hitCnt : number;
- dataSource = new MatTableDataSource<PeriodicElement>(ELEMENT_DATA);
-
- @ViewChild(MatPaginator, {static: false} as any) paginator: MatPaginator;
- @ViewChild(MatSort, {static: false} as any) sort: MatSort;
-
- options: GridsterConfig;
- dashboard : Array<GridsterItem> = new Array();
-
- displayedColumns : string[];
- IncomingReportId : string;
- displayedColumnsArr : string[];
- displayedRowObj : {}[];
- formFieldPresent : boolean;
- showSpinner : boolean;
- formFieldList : {}[];
- isReady : boolean;
- responseFormFieldListLength : number;
- NEWdisplayedColumns : string[];
- initCnt : number;
- reportName : string;
- showDashboardReport : boolean;
- checkCnt : number;
- initialQueryString : string;
- initCounter : number;
- runButtonHitCounter : number;
-
- constructor(private _dashboardReportService : DashboardReportService, private _router : Router) {
- this.initCounter = 0;
- this.runButtonHitCounter = 0;
- }
-
- ngOnInit(){
- this.initialQueryString = this.queryString;
- this.initCounter++;
- this.runButtonHitCounter = this.hitCnt;
- this.initialProcesses();
- }
-
- initialProcesses()
- {
- this.dataSource.paginator = this.paginator;
- }
-
- ngOnChanges()
- {
- if(this.initialQueryString !== this.queryString && this.initCounter > 0 && this.runButtonHitCounter !== this.hitCnt)
- {
- this.initialQueryString = this.queryString;
- this.runButtonHitCounter = this.hitCnt;
- this.initialProcesses();
- this.afterViewInitProcesses();
+ @Input('reportId') inputReportId: string;
+ @Input('queryString') queryString: string;
+ @Input('hitCnt') hitCnt: number;
+ @Input('reportType') reportType: string;
+ @Input('parentId') parentId: string;
+ dataSource = new MatTableDataSource<PeriodicElement>(ELEMENT_DATA);
+ @ViewChild(MatPaginator, { static: false } as any) paginator: MatPaginator;
+ @ViewChild(MatSort, { static: false } as any) sort: MatSort;
+ @ViewChild('iframe') iframe: ElementRef;
+ options: GridsterConfig;
+ dashboard: Array<GridsterItem> = new Array();
+ displayedColumns: string[];
+ IncomingReportId: string;
+ displayedColumnsArr: string[];
+ displayedRowObj: {}[];
+ formFieldPresent: boolean;
+ showSpinner: boolean;
+ formFieldList: {}[];
+ isReady: boolean;
+ responseFormFieldListLength: number;
+ NEWdisplayedColumns: string[];
+ initCnt: number;
+ reportName: string;
+ showDashboardReport: boolean;
+ checkCnt: number;
+ initialQueryString: string;
+ initCounter: number;
+ runButtonHitCounter: number;
+ showChart = false;
+ displayColumValue: string;
+ displayTotal: any[];
+ private chartRunUrl: string;
+ replaceDisplayValue: String;
+saveResponseObj:any;
+
+ constructor(private _dashboardReportService: DashboardReportService, private _router: Router,
+ private _runService: RunService) {
+ this.initCounter = 0;
+ this.runButtonHitCounter = 0;
+ }
+
+ ngOnInit() {
+ this.initialQueryString = this.queryString;
+ this.initCounter++;
+ this.runButtonHitCounter = this.hitCnt;
+ if (this.reportType === 'Chart') {
+ this.showChart = true;
+ }
+
+ this.initialProcesses();
}
- else
- {
- this.runButtonHitCounter = this.hitCnt;
- this.initialQueryString = this.queryString;
+
+ initialProcesses() {
+ this.dataSource.paginator = this.paginator;
}
-
- }
- ngAfterViewInit() {
- setTimeout(() => {
- this.afterViewInitProcesses();
- })
-}
+ ngOnChanges() {
+ if (this.initialQueryString !== this.queryString && this.initCounter > 0 && this.runButtonHitCounter !== this.hitCnt) {
+ this.initialQueryString = this.queryString;
+ this.runButtonHitCounter = this.hitCnt;
+ this.initialProcesses();
+ this.afterViewInitProcesses();
+ } else {
+ this.runButtonHitCounter = this.hitCnt;
+ this.initialQueryString = this.queryString;
+ }
+ }
+
+ ngAfterViewInit() {
+ this.afterViewInitProcesses();
+ }
+
+ afterViewInitProcesses() {
+ if (this.showChart) {
+ this.chartRunUrl = environment.baseUrl + 'raptor.htm?action=chart.run&c_master=' +
+ this.inputReportId + this.queryString + '&refresh=Y&display_content=Y&r_page=0';
+ this.iframe.nativeElement.setAttribute('src', this.chartRunUrl);
+ this.showSpinner = false;
+ } else {
+
+ this.displayedColumnsArr = new Array();
+ this.displayedRowObj = new Array();
+ this.displayedColumns = new Array();
+ this.formFieldList = new Array();
+ this.showSpinner = true;
+ this.isReady = false;
+ this.NEWdisplayedColumns = new Array();
+ this.displayTotal = [];
+ if (localStorage.getItem(this.inputReportId)) {
+ this.postFetchingReportDataFn(JSON.parse(localStorage.getItem(this.inputReportId)));
+ localStorage.removeItem(this.inputReportId);
+ } else {
+ this._dashboardReportService.getReportDataWithFormFields(this.queryString, this.inputReportId)
+ .subscribe((response) => {
+ this.postFetchingReportDataFn(response);
+ });
+ }
+ }
+ }
- afterViewInitProcesses()
- {
-
- this.displayedColumnsArr = new Array();
- this.displayedRowObj = new Array();
- this.displayedColumns = new Array();
- this.formFieldList = new Array();
- this.showSpinner = true;
- this.isReady = false;
- this.NEWdisplayedColumns = new Array();
- this._dashboardReportService.getReportDataWithFormFields(this.queryString, this.reportId1)
- .subscribe((response) => {
- this.formFieldPresent = false;
- this.responseFormFieldListLength = 0;
-
- this.reportName = response["reportName"];
-
- let i=0;
- while(response["reportDataColumns"][i])
- {
- this.displayedColumnsArr.push(response["reportDataColumns"][i]["columnTitle"] +","+ response["reportDataColumns"][i]["colId"]);
- i++;
+ postFetchingReportDataFn(response: any){
+ this.saveResponseObj = response;
+ this.formFieldPresent = false;
+ this.responseFormFieldListLength = 0;
+ this.reportName = response['reportName'];
+ let columnCntr = 0;
+ while (response['reportDataColumns'][columnCntr]) {
+ this.displayedColumnsArr.push(response['reportDataColumns'][columnCntr]['columnTitle'] + ','
+ + response['reportDataColumns'][columnCntr]['colId']);
+ columnCntr++;
+ }
+ let totalCnt = 0;
+ while (response['reportTotalDataRows'][totalCnt]) {
+ this.displayTotal.push(response['reportTotalDataRows'][totalCnt]);
+ totalCnt++;
+ }
+ let rdr_cntr = 0;
+ while (response['reportDataRows'][rdr_cntr]) {
+ let dca_cntr = 0;
+ const obj = {};
+ const reportDataRows = response['reportDataRows'][rdr_cntr];
+ while (this.displayedColumnsArr[dca_cntr]) {
+ const rowColumnId = this.displayedColumnsArr[dca_cntr].split(',')[1];
+ if (reportDataRows[rowColumnId]) {
+ let drillDownHtml = '';
+ let displayValue = '';
+ drillDownHtml = reportDataRows[rowColumnId]['drillDownURL'];
+ displayValue = reportDataRows[rowColumnId]['displayValue'];
+ if (drillDownHtml !== null &&
+ drillDownHtml.length > 0 &&
+ !displayValue.includes('linkToReport')) {
+ const value = this.convertToLinkToReport(drillDownHtml);
+ if (value.length > 0) {
+ this.replaceDisplayValue = value + ',' +
+ reportDataRows[rowColumnId]['displayValue'];
+ } else {
+ this.replaceDisplayValue = reportDataRows[rowColumnId]['displayValue'];
+ }
+ } else {
+ this.replaceDisplayValue = reportDataRows[rowColumnId]['displayValue'];
+ }
+ let displayObj: DisplayHtml = new class implements DisplayHtml {
+ 'background-color': string;
+ 'font-family': string;
+ 'font-size': string;
+ 'font-style': string;
+ 'font-weight': string;
+ 'text-align': string;
+ 'text-decoration': string;
+ color: string;
+ };
+ if (reportDataRows[rowColumnId]['displayValueHtml'].includes('{')) {
+ displayObj = JSON.parse(reportDataRows[rowColumnId]['displayValueHtml']);
+ }
+ displayObj['text-align'] = reportDataRows[rowColumnId]['alignment'];
+ if (this.replaceDisplayValue.includes('linkToReport') || this.replaceDisplayValue.includes('linkToFeedback') || this.replaceDisplayValue.includes('linkToMail')) {
+ obj[reportDataRows[rowColumnId]['colId']] = this.replaceDisplayValue.split(',').join('|')
+ + '|' + JSON.stringify(displayObj);
+ } else {
+ obj[reportDataRows[rowColumnId]['colId']] = this.replaceDisplayValue
+ + '|' + JSON.stringify(displayObj);
+ }
+ }
+ dca_cntr++;
+ }
+ this.displayedRowObj.push(obj);
+ rdr_cntr++;
+ }
+ for (let pushCounter = 0; pushCounter < this.displayedColumnsArr.length; pushCounter++) {
+ this.displayedColumns.push(this.displayedColumnsArr[pushCounter].split(',')[1]);
+ }
+ this.showSpinner = false;
+ this.dataSource = new MatTableDataSource<PeriodicElement>(this.displayedRowObj);
+ this.dataSource.sort = this.sort;
+ this.dataSource.paginator = this.paginator;
}
- 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"];
+ linkToReport(reportID: string, queryParameters: string) {
+ localStorage.setItem(this.inputReportId, JSON.stringify(this.saveResponseObj));
+ if (sessionStorage.length === 0) {
+ sessionStorage.setItem('1', this.parentId + '|' + this.queryString);
+ } else {
+ let length = sessionStorage.length;
+ length++;
+ sessionStorage.setItem(length.toString(), this.parentId + '|' + this.queryString);
}
- k++;
- }
- this.displayedRowObj.push(obj);
- j++;
+ this._router.navigate(['v2/run', reportID, queryParameters]);
}
- for(let l=0; l<this.displayedColumnsArr.length; l++)
- {
- this.displayedColumns.push(this.displayedColumnsArr[l].split(",")[1]);
+ linkToFeedback(feedBackId: string, queryParameters: string) {
+ this._router.navigate(['v2/feedback', feedBackId]);
+ }
+
+ linkToMail(mailId: string) {
+ const email = 'mailto:' + mailId;
+ window.location.href = email;
+ }
+
+ applyFilter(filterValue: string) {
+ this.dataSource.filter = filterValue.trim().toLowerCase();
+ }
+
+ setStyle(styles: string) {
+ if (styles.includes('{')) {
+ return JSON.parse(styles);
+ } else {
+ return {};
+ }
+ }
+
+ getDisplayTotal(keys: any) {
+ if (this.displayTotal.length > 0) {
+ return this.displayTotal[0][keys].displayValue;
+ } else {
+ return '';
+ }
+ }
+
+ convertToLinkToReport(value: string) {
+ value = value.replace(/;/g, '');
+ let outPut = '';
+ while (value.includes('c_master=')) {
+ const index = value.indexOf('c_master=');
+ if (index > 0) {
+ value = value.substring(index, value.length);
+ } else if (index === 0) {
+ value = value.replace('c_master=', '');
+ }
+ }
+ const split = value.split('&');
+ // const spltFirst = split[0].split('=');
+ if (split[1].length <= 0) {
+ return outPut;
+ }
+ outPut = 'linkToReport,' + split[0] + ',';
+ let splitCounter = 1;
+ for (splitCounter = 1; splitCounter < split.length; splitCounter++) {
+ if (!split[splitCounter].includes('LOGIN_ID=') &&
+ !split[splitCounter].includes('display_content=') &&
+ !split[splitCounter].includes('drilldown_index=') &&
+ !split[splitCounter].includes('show_back_btn=') &&
+ !split[splitCounter].includes('r_action')) {
+ outPut = outPut + '&' + split[splitCounter];
+ }
+ }
+ return outPut;
}
- this.showSpinner = false;
-
- this.dataSource = new MatTableDataSource<PeriodicElement>(this.displayedRowObj);
- this.dataSource.sort = this.sort;
- this.dataSource.paginator = this.paginator;
-
-
- });
-
-
- }
-
-
-
- linkToReport(reportID : string, queryParameters : string)
- {
- this._router.navigate(['v2/run', reportID, queryParameters]);
- }
-
- linkToFeedback(feedBackId : string, queryParameters : string)
- {
- this._router.navigate(['v2/feedback', feedBackId]);
- }
-
- linkToMail(mailId : string)
- {
- var email = "mailto:" + mailId;
- window.location.href = email;
- }
-
- applyFilter(filterValue: string) {
- this.dataSource.filter = filterValue.trim().toLowerCase();
- }
-
-
}