|
1 | 1 | <div class="row scroll-table mt-5 ml-0">
|
2 |
| - <app-search-user [users]="users" (selectedUserId)="user($event)"></app-search-user> |
| 2 | + <app-search-user [users]="users" (selectedUserId)="user($event)"></app-search-user> |
3 | 3 |
|
4 |
| - <table class="table table-striped mb-0" datatable [dtTrigger]="dtTrigger" [dtOptions]="dtOptions" *ngIf="(reportDataSource$ | async) as dataSource"> |
5 |
| - <thead class="thead-blue"> |
6 |
| - <tr class="d-flex"> |
7 |
| - <th class="col md-col">Selected</th> |
8 |
| - <th class="hidden-col">ID</th> |
9 |
| - <th class="col md-col">User email</th> |
10 |
| - <th class="col sm-col">Date</th> |
11 |
| - <th class="col sm-col" title="Duration (hours)">Duration</th> |
12 |
| - <th class="col x-sm-col" title="Time in">Time in</th> |
13 |
| - <th class="col x-sm-col" title="Time out">Time out</th> |
14 |
| - <th class="col md-col">Project</th> |
15 |
| - <th class="hidden-col">Project ID</th> |
16 |
| - <th class="col md-col">Customer</th> |
17 |
| - <th class="hidden-col">Customer ID</th> |
18 |
| - <th class="col md-col">Activity</th> |
19 |
| - <th class="col lg-col">Ticket</th> |
20 |
| - <th class="col lg-col">Description</th> |
21 |
| - <th class="col lg-col">Technologies</th> |
22 |
| - </tr> |
23 |
| - </thead> |
24 |
| - <app-loading-bar *ngIf="dataSource.isLoading"></app-loading-bar> |
25 |
| - <tbody *ngIf="!dataSource.isLoading"> |
26 |
| - <tr class="d-flex col-height" *ngFor="let entry of dataSource.data"> |
27 |
| - <td class="col md-col"><mat-checkbox |
28 |
| - (change)="sumHoursEntriesSelected(entry, $event.checked)"></mat-checkbox></td> |
29 |
| - <td class="hidden-col">{{ entry.id }}</td> |
30 |
| - <td class="col md-col">{{ entry.owner_email }}</td> |
31 |
| - <td class="col sm-col"> |
32 |
| - {{ entry.start_date | date: 'MM/dd/yyyy' }} |
33 |
| - </td> |
34 |
| - <td class="col sm-col"> |
35 |
| - {{ entry.end_date | substractDate: entry.start_date }} |
36 |
| - </td> |
37 |
| - <td class="col x-sm-col">{{ dateTimeOffset.parseDateTimeOffset(entry.start_date,entry.timezone_offset) }}</td> |
38 |
| - <td class="col x-sm-col">{{ dateTimeOffset.parseDateTimeOffset(entry.end_date , entry.timezone_offset) }}</td> |
39 |
| - <td class="col md-col">{{ entry.project_name }}</td> |
40 |
| - <td class="hidden-col">{{ entry.project_id }}</td> |
41 |
| - <td class="col md-col">{{ entry.customer_name }}</td> |
42 |
| - <td class="hidden-col">{{ entry.customer_id }}</td> |
43 |
| - <td class="col md-col">{{ entry.activity_name }}</td> |
44 |
| - <td class="col lg-col"> |
45 |
| - <ng-container *ngIf="entry.uri !== null"> |
46 |
| - <a [class.is-url]="isURL(entry.uri)" (click)="openURLInNewTab(entry.uri)"> |
| 4 | + <table |
| 5 | + class="table table-striped mb-0" |
| 6 | + datatable |
| 7 | + [dtTrigger]="dtTrigger" |
| 8 | + [dtOptions]="dtOptions" |
| 9 | + *ngIf="reportDataSource$ | async as dataSource" |
| 10 | + > |
| 11 | + <thead class="thead-blue"> |
| 12 | + <tr class="d-flex"> |
| 13 | + <th class="col md-col">Selected</th> |
| 14 | + <th class="hidden-col">ID</th> |
| 15 | + <th class="col md-col">User email</th> |
| 16 | + <th class="col sm-col">Date</th> |
| 17 | + <th class="col sm-col" title="Duration (hours)">Duration</th> |
| 18 | + <th class="col x-sm-col" title="Time in">Time in</th> |
| 19 | + <th class="col x-sm-col" title="Time out">Time out</th> |
| 20 | + <th class="col md-col">Project</th> |
| 21 | + <th class="hidden-col">Project ID</th> |
| 22 | + <th class="col md-col">Customer</th> |
| 23 | + <th class="hidden-col">Customer ID</th> |
| 24 | + <th class="col md-col">Activity</th> |
| 25 | + <th class="col lg-col">Ticket</th> |
| 26 | + <th class="col lg-col">Description</th> |
| 27 | + <th class="col lg-col">Technologies</th> |
| 28 | + </tr> |
| 29 | + </thead> |
| 30 | + <app-loading-bar *ngIf="dataSource.isLoading"></app-loading-bar> |
| 31 | + <tbody *ngIf="!dataSource.isLoading"> |
| 32 | + <tr class="d-flex col-height" *ngFor="let entry of dataSource.data"> |
| 33 | + <td class="col md-col"> |
| 34 | + <mat-checkbox (change)="sumHoursEntriesSelected(entry, $event.checked)"></mat-checkbox> |
| 35 | + </td> |
| 36 | + <td class="hidden-col">{{ entry.id }}</td> |
| 37 | + <td class="col md-col">{{ entry.owner_email }}</td> |
| 38 | + <td class="col sm-col"> |
| 39 | + {{ entry.start_date | date: 'MM/dd/yyyy' }} |
| 40 | + </td> |
| 41 | + <td class="col sm-col"> |
| 42 | + {{ entry.end_date | substractDateDisplayAsFloat: entry.start_date }} |
| 43 | + </td> |
| 44 | + <td class="col x-sm-col">{{ dateTimeOffset.parseDateTimeOffset(entry.start_date, entry.timezone_offset) }}</td> |
| 45 | + <td class="col x-sm-col">{{ dateTimeOffset.parseDateTimeOffset(entry.end_date, entry.timezone_offset) }}</td> |
| 46 | + <td class="col md-col">{{ entry.project_name }}</td> |
| 47 | + <td class="hidden-col">{{ entry.project_id }}</td> |
| 48 | + <td class="col md-col">{{ entry.customer_name }}</td> |
| 49 | + <td class="hidden-col">{{ entry.customer_id }}</td> |
| 50 | + <td class="col md-col">{{ entry.activity_name }}</td> |
| 51 | + <td class="col lg-col"> |
| 52 | + <ng-container *ngIf="entry.uri !== null"> |
| 53 | + <a [class.is-url]="isURL(entry.uri)" (click)="openURLInNewTab(entry.uri)"> |
47 | 54 | {{ entry.uri }}
|
48 | 55 | </a>
|
49 |
| - </ng-container> |
50 |
| - </td> |
51 |
| - <td class="col lg-scroll">{{ entry.description }}</td> |
52 |
| - <td class="col lg-scroll"> |
53 |
| - <ng-container *ngIf="entry.technologies.length > 0"> |
54 |
| - <div *ngFor="let technology of entry.technologies" class="badge bg-secondary text-wrap"> |
55 |
| - {{ technology }} |
56 |
| - </div> |
57 |
| - </ng-container> |
58 |
| - </td> |
59 |
| - </tr> |
60 |
| - </tbody> |
61 |
| - </table> |
| 56 | + </ng-container> |
| 57 | + </td> |
| 58 | + <td class="col lg-scroll">{{ entry.description }}</td> |
| 59 | + <td class="col lg-scroll"> |
| 60 | + <ng-container *ngIf="entry.technologies.length > 0"> |
| 61 | + <div *ngFor="let technology of entry.technologies" class="badge bg-secondary text-wrap"> |
| 62 | + {{ technology }} |
| 63 | + </div> |
| 64 | + </ng-container> |
| 65 | + </td> |
| 66 | + </tr> |
| 67 | + </tbody> |
| 68 | + </table> |
| 69 | +</div> |
| 70 | +<div class="alert alert-dark mt-3"> |
| 71 | + Total: {{ this.resultSum.hours }} hours, {{ this.resultSum.minutes }} minutes, <br /> |
| 72 | + Total hours entries selected: {{ resultSumEntriesSelected.hours }} hours, |
| 73 | + {{ resultSumEntriesSelected.minutes }} minutes |
62 | 74 | </div>
|
63 |
| -<div class="alert alert-dark mt-3">Total: {{this.resultSum.hours}} hours, {{this.resultSum.minutes}} minutes, |
64 |
| - <br/> Total hours entries selected: {{resultSumEntriesSelected.hours}} hours, {{resultSumEntriesSelected.minutes}} minutes</div> |
|
0 commit comments