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 [ngStyle]="setStyle(row[keys])">
69 <div *ngIf="row[keys].split('|')[0] == 'linkToReport'">
70 <a (click)="linkToReport(row[keys].split('|')[1], row[keys].split('|')[2])"
71 [routerLink]="">{{row[keys].split('|')[3]}}</a>
73 <div *ngIf="row[keys].split('|')[0] == 'linkToFeedback'"
75 <a (click)="linkToFeedback(row[keys].split('|')[1], row[keys].split('|')[2])"
76 [routerLink]="">{{row[keys].split('|')[3]}}</a>
78 <div *ngIf="row[keys].split('|')[0] == 'linkToMail'"
80 <a (click)="linkToMail(row[keys].split('|')[1])"
81 [routerLink]="">{{row[keys].split('|')[2]}}</a>
83 <div *ngIf="row[keys].split('|')[0] == 'clickToDownload' ">
84 <mat-icon (click)="onClickToDowload(row)" aria-hidden="false" aria-label="play-for-work"
85 class="mat-icon-delete">play-for-work
88 <div *ngIf="row[keys].split('|')[0] !== 'linkToReport' && row[keys].split('|')[0] !== 'linkToFeedback' && row[keys].split('|')[0] !== 'linkToMail'
89 && row[keys].split('|')[0] !== 'clickToDownload' "
90 [ngStyle]="setStyle(row[keys])">
91 {{row[keys].split('|')[0]}} </div>
93 <td *matFooterCellDef align="center" mat-footer-cell>{{getDisplayTotal(keys)}}</td>
97 <tr *matHeaderRowDef="displayedColumns; sticky: true;" mat-header-row></tr>
98 <tr *matRowDef="let row; columns: displayedColumns;" mat-row></tr>
99 <tr *matFooterRowDef="displayedColumns; sticky: true;" mat-footer-row></tr>
103 <div *ngIf="error == true">
104 <h3>Error Message:</h3>
105 <p>{{errorMessage}}</p>
107 <h3>Stack Trace:</h3>
108 <p>{{stackTrace}}</p>
111 <h6>Execution Time: {{timeTaken}} Seconds</h6>
115 :host ::ng-deep .mat-paginator-outer-container .mat-paginator-container{
120 :host ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-label {
124 :host ::ng-deep .mat-paginator, .mat-paginator-page-size .mat-select-trigger {
128 :host ::ng-deep .mat-sort-header-arrow.ng-trigger.ng-trigger-arrowPosition {
133 :host ::ng-deep .mat-sort-header-pointer-left.ng-trigger.ng-trigger-leftPointer {
134 transform: rotate(-45deg);
137 :host ::ng-deep .mat-sort-header-pointer-right.ng-trigger.ng-trigger-rightPointer {
138 transform: rotate(45deg);