1 <span *ngIf="showSpinner" class="ecomp-spinner"></span>
3 <div *ngIf="showDashboardReport">
4 <span *ngIf="download_in_progress" class="ecomp-small-spinner"></span>
6 <a [routerLink]=""><img class="downloadImg" (click)="downloadReport('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx')"
7 placement="top" ngbTooltip="Download Dashboard Report"
8 src="assets/images/xlsx.png"></a>
10 <gridster class="gridster-color"[options]="options">
11 <gridster-item *ngFor="let item of dashboard" [item]="item">
12 <div *ngIf="item.hasContent" class="gridster-item-content">
14 <a (click)="takeToReport(queryString, item.hasContent.id.split('#')[1])"
15 [routerLink]="">{{item.hasContent.name}}</a>
16 <div style="height: 6px;"></div>
17 <app-run-dashboard-report [hitCnt]="hitCnt" [queryString]="queryString"
18 [reportId]="item.hasContent.id.split('#')[1]"
19 [reportType]="item.hasContent.id.split('#')[0]"
20 [parentId]="inputReportId">
21 </app-run-dashboard-report>
26 <div *ngIf="error == true">
27 <h1>Error Message:</h1>
28 <p>{{errorMessage}}</p>
34 <span *ngIf="download_in_progress" class="ecomp-small-spinner"></span>
35 <div *ngIf="!showDashboardReport">
36 <div *ngIf="error == false" [hidden]="isChartAvailable == false" align="center">
37 <iframe #iframe height="500" style="border: none" width="70%"></iframe>
41 <div class="field-group">
43 <div class="filter-div" >
44 <mat-form-field><input (keyup)="applyFilter($event.target.value)" matInput placeholder="Filter Report Data">
47 <div class="download-div" >
48 <span class="download-title"> Download:</span>
49 <a [routerLink]=""><img class="downloadImg" (click)="downloadSinglePage('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx')" placement="top" ngbTooltip="Download Current Page"
50 src="assets/images/xlsx.png"></a>
51 <a [routerLink]=""><img class="downloadImg" (click)="downloadReport('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx')" placement="top" ngbTooltip="Download All"
52 src="assets/images/xlsx.png"></a>
53 <a [routerLink]=""><img class="downloadImg" (click)="downloadReport('application/pdf', 'pdf')" placement="top" ngbTooltip="Download PDF"
54 src="assets/images/pdf.png" ></a>
55 <button *ngIf="showBackButton" (click)="goBack()" class="btn btn-alt btn-back" >Back</button>
57 <div class="pagination-div">
58 <mat-paginator (page)="pageEvent = $event; onPaginationChange($event)" [length]="totalRecords"
59 [pageSize]="pageSize" showFirstLastButtons></mat-paginator>
62 <div class="app-data-table-fixed-height" id="reportTableSize">
63 <table [dataSource]="dataSource" mat-table matSort>
64 <ng-container *ngFor="let keys of displayedColumns; let i = index">
65 <ng-container matColumnDef="{{keys}}">
66 <th *matHeaderCellDef align="center" mat-header-cell mat-sort-header>
67 {{displayedColumnsArr[i].split(",")[0]}}</th>
68 <td *matCellDef="let row" mat-cell>
69 <div *ngIf="row[keys].split('|')[0] == 'linkToReport'"
70 [ngStyle]="setStyle(row[keys].split('|')[4])">
71 <a (click)="linkToReport(row[keys].split('|')[1], row[keys].split('|')[2])"
72 [routerLink]="">{{row[keys].split('|')[3]}}</a>
74 <div *ngIf="row[keys].split('|')[0] == 'linkToFeedback'"
75 [ngStyle]="setStyle(row[keys].split('|')[4])">
76 <a (click)="linkToFeedback(row[keys].split('|')[1], row[keys].split('|')[2])"
77 [routerLink]="">{{row[keys].split('|')[3]}}</a>
79 <div *ngIf="row[keys].split('|')[0] == 'linkToMail'"
80 [ngStyle]="setStyle(row[keys].split('|')[3])">
81 <a (click)="linkToMail(row[keys].split('|')[1])"
82 [routerLink]="">{{row[keys].split('|')[2]}}</a>
84 <div *ngIf="row[keys].split('|')[0] == 'clickToDownload' ">
85 <mat-icon (click)="onClickToDowload(row)" aria-hidden="false" aria-label="play-for-work"
86 class="mat-icon-delete">play-for-work
89 <div *ngIf="row[keys].split('|')[0] !== 'linkToReport' && row[keys].split('|')[0] !== 'linkToFeedback' && row[keys].split('|')[0] !== 'linkToMail'
90 && row[keys].split('|')[0] !== 'clickToDownload' "
91 [ngStyle]="setStyle(row[keys].split('|')[1])">
92 {{row[keys].split('|')[0]}} </div>
94 <td *matFooterCellDef align="center" mat-footer-cell>{{getDisplayTotal(keys)}}</td>
98 <tr *matHeaderRowDef="displayedColumns; sticky: true;" mat-header-row></tr>
99 <tr *matRowDef="let row; columns: displayedColumns;" mat-row></tr>
100 <tr *matFooterRowDef="displayedColumns; sticky: true;" mat-footer-row></tr>
104 <div *ngIf="error == true">
105 <h3>Error Message:</h3>
106 <p>{{errorMessage}}</p>
108 <h3>Stack Trace:</h3>
109 <p>{{stackTrace}}</p>
112 <h6>Execution Time: {{timeTaken}} Seconds</h6>
116 :host ::ng-deep .mat-paginator-outer-container .mat-paginator-container{
121 :host ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-label {
125 :host ::ng-deep .mat-paginator, .mat-paginator-page-size .mat-select-trigger {
129 :host ::ng-deep .mat-sort-header-arrow.ng-trigger.ng-trigger-arrowPosition {
134 :host ::ng-deep .mat-sort-header-pointer-left.ng-trigger.ng-trigger-leftPointer {
135 transform: rotate(-45deg);
138 :host ::ng-deep .mat-sort-header-pointer-right.ng-trigger.ng-trigger-rightPointer {
139 transform: rotate(45deg);