blob: 6b3836e93782368bbd5ddd6237c55311542a376f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
<span *ngIf="showSpinner" class="ecomp-spinner"></span>
<span *ngIf="showUploadSpinner" class="ecomp-spinner"></span>
<div *ngIf="showDashboardReport">
<span *ngIf="download_in_progress" class="ecomp-small-spinner"></span>
Download:
<a *ngIf = "isDashboardExcelReadyToDownload" [routerLink]=""><img class="downloadImg" (click)="downloadReport('application/vnd.ms-excel', 'xls')"
placement="top" ngbTooltip="Download Dashboard Report"
src="assets/images/xlsx.png"></a>
<gridster class="gridster-color"[options]="options">
<gridster-item *ngFor="let item of dashboard" [item]="item">
<div *ngIf="item.hasContent" class="gridster-item-content">
<div>
<a (click)="takeToReport(queryString, item.hasContent.id.split('#')[1])"
[routerLink]="">{{item.hasContent.name}}</a>
<div style="height: 6px;"></div>
<app-run-dashboard-report [hitCnt]="hitCnt" [queryString]="queryString"
[reportId]="item.hasContent.id.split('#')[1]"
[reportType]="item.hasContent.id.split('#')[0]"
[parentId]="inputReportId">
</app-run-dashboard-report>
</div>
</div>
</gridster-item>
</gridster>
<div *ngIf="error == true">
<h1>Error Message:</h1>
<p>{{errorMessage}}</p>
<br/>
<h1>Stack Trace:</h1>
<p>{{stackTrace}}</p>
</div>
</div>
<span *ngIf="download_in_progress" class="ecomp-small-spinner"></span>
<div *ngIf="!showDashboardReport">
<div *ngIf="error == false" [hidden]="isChartAvailable == false" align="center">
<iframe #iframe height="500" style="border: none" width="70%"></iframe>
</div>
<div>
<div class="field-group">
<div class="filter-div" >
<mat-form-field><input (keyup)="applyFilter($event.target.value)" matInput placeholder="Filter Report Data">
</mat-form-field>
</div>
<div class="download-div" >
<span class="download-title"> Download:</span>
<a [routerLink]=""><img class="downloadImg" (click)="downloadSinglePage('application/vnd.ms-excel', 'xls')" placement="top" ngbTooltip="Download Current Page"
src="assets/images/xlsx.png"></a>
<a [routerLink]=""><img class="downloadImg" (click)="downloadReport('application/vnd.ms-excel', 'xls')" placement="top" ngbTooltip="Download Upto 65,000"
src="assets/images/xlsx.png"></a>
<a [routerLink]=""><img class="downloadImg" (click)="downloadReport('application/octet-stream', 'zip')" placement="top" ngbTooltip="Download CSV Upto 750,000"
src="assets/images/csv.png" ></a>
<a [routerLink]=""><img class="downloadImg" (click)="downloadReport('application/pdf', 'pdf')" placement="top" ngbTooltip="Download PDF"
src="assets/images/pdf.png" ></a>
<button *ngIf="showBackButton" (click)="goBack()" class="btn btn-alt btn-back" >Back</button>
</div>
<div class="pagination-div">
<mat-paginator (page)="pageEvent = $event; onPaginationChange($event)" [length]="totalRecords"
[pageSize]="pageSize" showFirstLastButtons></mat-paginator>
</div>
</div>
<div class="app-data-table-fixed-height" id="reportTableSize">
<table [dataSource]="dataSource" mat-table matSort>
<ng-container *ngFor="let keys of displayedColumns; let i = index">
<ng-container matColumnDef="{{keys}}">
<th *matHeaderCellDef align="center" mat-header-cell mat-sort-header>
{{displayedColumnsArr[i].split(",")[0]}}</th>
<td *matCellDef="let row" mat-cell [ngStyle]="setStyle(row[keys])">
<div *ngIf="row[keys].split('|')[0] == 'linkToReport'">
<a (click)="linkToReport(row[keys].split('|')[1], row[keys].split('|')[2])"
[routerLink]="">{{row[keys].split('|')[3]}}</a>
</div>
<div *ngIf="row[keys].split('|')[0] == 'linkToMail'"
>
<a (click)="linkToMail(row[keys].split('|')[1])"
[routerLink]="">{{row[keys].split('|')[2]}}</a>
</div>
<div *ngIf="row[keys].split('|')[0] !== 'linkToReport' && row[keys].split('|')[0] !== 'linkToMail'">
{{row[keys].split('|')[0]}} </div>
</td>
<td *matFooterCellDef align="center" mat-footer-cell>{{getDisplayTotal(keys)}}</td>
</ng-container>
</ng-container>
<tr *matHeaderRowDef="displayedColumns; sticky: true;" mat-header-row></tr>
<tr *matRowDef="let row; columns: displayedColumns;" mat-row></tr>
<tr *matFooterRowDef="displayedColumns; sticky: true;" mat-footer-row></tr>
</table>
</div>
</div>
</div>
<h6>Execution Time: {{timeTaken}} Seconds</h6>
<style scoped>
:host ::ng-deep .mat-paginator-outer-container .mat-paginator-container{
min-height: 30px;
height: 30px;
}
:host ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-label {
font-size: 14px;
}
:host ::ng-deep .mat-paginator, .mat-paginator-page-size .mat-select-trigger {
font-size: 14px;
}
:host ::ng-deep .mat-sort-header-arrow.ng-trigger.ng-trigger-arrowPosition {
color: black;
opacity: 0;
}
:host ::ng-deep .mat-sort-header-pointer-left.ng-trigger.ng-trigger-leftPointer {
transform: rotate(-45deg);
color: black;
}
:host ::ng-deep .mat-sort-header-pointer-right.ng-trigger.ng-trigger-rightPointer {
transform: rotate(45deg);
color: black;
}
</style>
|