Skip to content

Commit 45c5f20

Browse files
authored
Merge pull request #476 from ioet/429-set-duration-column
closes #429 set duration column
2 parents 185143f + 16dd5a2 commit 45c5f20

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

src/app/modules/reports/components/time-entries-table/time-entries-table.component.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
<table class="table table-sm table-striped" datatable [dtTrigger]="dtTrigger" [dtOptions]="dtOptions">
44
<thead class="thead-blue">
55
<tr class="d-flex">
6+
<th class="col md-col">ID</th>
67
<th class="col md-col">User email</th>
78
<th class="col sm-col">Date</th>
8-
<th class="col sm-col">Duration</th>
9+
<th class="col sm-col">Duration (hours)</th>
910
<th class="col md-col">Project</th>
1011
<th class="col lg-col">Project ID</th>
1112
<th class="col md-col">Customer</th>
@@ -21,6 +22,7 @@
2122
class="d-flex"
2223
*ngFor="let entry of data"
2324
>
25+
<td class="col md-col multiline-col"> {{ entry.id }} </td>
2426
<td class="col md-col multiline-col"> {{ entry.owner_email }} </td>
2527
<td class="col sm-col"> {{ entry.start_date | date: 'MM/dd/yyyy' }} </td>
2628
<td class="col sm-col"> {{ entry.end_date | substractDate: entry.start_date }} </td>

src/app/modules/reports/components/time-entries-table/time-entries-table.component.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {EntryState} from '../../../time-clock/store/entry.reducer';
55
import {entriesForReport} from '../../../time-clock/store/entry.selectors';
66
import {Subject} from 'rxjs';
77
import {DataTableDirective} from 'angular-datatables';
8+
import * as moment from 'moment';
89

910
@Component({
1011
selector: 'app-time-entries-table',
@@ -13,6 +14,7 @@ import {DataTableDirective} from 'angular-datatables';
1314
})
1415
export class TimeEntriesTableComponent implements OnInit, OnDestroy, AfterViewInit {
1516
data = [];
17+
1618
dtOptions: any = {
1719
scrollY: '600px',
1820
paging: false,
@@ -22,11 +24,27 @@ export class TimeEntriesTableComponent implements OnInit, OnDestroy, AfterViewIn
2224
'print',
2325
{
2426
extend: 'excel',
27+
exportOptions: {
28+
format: {
29+
body: ( data, row, column, node ) => {
30+
return column === 3 ?
31+
moment.duration(data).asHours().toFixed(4).slice(0, -1) :
32+
data;
33+
}
34+
}},
2535
text: 'Excel',
2636
filename: `time-entries-${ formatDate(new Date(), 'MM_dd_yyyy-HH_mm', 'en') }`
2737
},
2838
{
2939
extend: 'csv',
40+
exportOptions: {
41+
format: {
42+
body: ( data, row, column, node ) => {
43+
return column === 3 ?
44+
moment.duration(data).asHours().toFixed(4).slice(0, -1) :
45+
data;
46+
}
47+
}},
3048
text: 'CSV',
3149
filename: `time-entries-${formatDate(new Date(), 'MM_dd_yyyy-HH_mm', 'en') }`
3250
}

0 commit comments

Comments
 (0)