4b6475288f511cb304ae85d951170d2e43054e28
[portal/sdk.git] /
1 <span *ngIf="showSpinner" class="ecomp-spinner"></span>
2
3 <div *ngIf="showDashboardReport">
4     <span *ngIf="download_in_progress" class="ecomp-small-spinner"></span>
5     Download:
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>&nbsp;
9
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">
13                 <div>
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>
22                 </div>
23             </div>
24         </gridster-item>
25     </gridster>
26     <div *ngIf="error == true">
27         <h1>Error Message:</h1>
28         <p>{{errorMessage}}</p>
29         <br/>
30         <h1>Stack Trace:</h1>
31         <p>{{stackTrace}}</p>
32     </div>
33 </div>
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>
38     </div>
39    
40     <div>
41         <div class="field-group">
42
43             <div class="filter-div" >
44             <mat-form-field><input (keyup)="applyFilter($event.target.value)" matInput placeholder="Filter Report Data">
45             </mat-form-field>
46            </div>
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>&nbsp;
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>&nbsp;
53             <a [routerLink]=""><img class="downloadImg" (click)="downloadReport('application/pdf', 'pdf')"  placement="top" ngbTooltip="Download PDF"
54                                     src="assets/images/pdf.png" ></a>&nbsp;
55                 <button *ngIf="showBackButton"  (click)="goBack()" class="btn btn-alt btn-back" >Back</button>
56             </div>
57             <div class="pagination-div">
58             <mat-paginator (page)="pageEvent = $event; onPaginationChange($event)" [length]="totalRecords"
59                            [pageSize]="pageSize" showFirstLastButtons></mat-paginator>
60              </div>
61         </div>
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>
73                             </div>
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>
78                             </div>
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>
83                             </div>
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
87                                 </mat-icon>
88                             </div>
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]}}&nbsp;</div>
93                         </td>
94                         <td *matFooterCellDef align="center" mat-footer-cell>{{getDisplayTotal(keys)}}</td>
95                     </ng-container>
96                 </ng-container>
97
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>
101             </table>
102         </div>
103     </div>
104     <div *ngIf="error == true">
105         <h3>Error Message:</h3>
106         <p>{{errorMessage}}</p>
107         <br/>
108         <h3>Stack Trace:</h3>
109         <p>{{stackTrace}}</p>
110     </div>
111 </div>
112 <h6>Execution Time: {{timeTaken}} Seconds</h6>
113
114
115 <style scoped>
116     :host ::ng-deep .mat-paginator-outer-container .mat-paginator-container{
117         min-height: 30px;
118         height: 30px;
119     }
120
121     :host ::ng-deep  .mat-form-field-appearance-legacy .mat-form-field-label {
122     font-size: 14px;
123   }
124
125   :host ::ng-deep  .mat-paginator, .mat-paginator-page-size .mat-select-trigger {
126         font-size: 14px;
127   }
128
129   :host ::ng-deep .mat-sort-header-arrow.ng-trigger.ng-trigger-arrowPosition {
130     color: black;
131     opacity: 0;
132 }
133
134 :host ::ng-deep .mat-sort-header-pointer-left.ng-trigger.ng-trigger-leftPointer {
135    transform: rotate(-45deg);
136    color: black;
137 }
138 :host ::ng-deep .mat-sort-header-pointer-right.ng-trigger.ng-trigger-rightPointer {
139    transform: rotate(45deg);
140    color: black;
141 }
142
143 </style>
144