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