diff --git a/src/app/modules/shared/components/details-fields/details-fields.component.html b/src/app/modules/shared/components/details-fields/details-fields.component.html index 149eb30d4..728c93d83 100644 --- a/src/app/modules/shared/components/details-fields/details-fields.component.html +++ b/src/app/modules/shared/components/details-fields/details-fields.component.html @@ -125,11 +125,11 @@ -
diff --git a/src/app/modules/shared/pipes/substract-date/substract-date.pipe.spec.ts b/src/app/modules/shared/pipes/substract-date/substract-date.pipe.spec.ts index 43c25f0ad..ab93cbc66 100644 --- a/src/app/modules/shared/pipes/substract-date/substract-date.pipe.spec.ts +++ b/src/app/modules/shared/pipes/substract-date/substract-date.pipe.spec.ts @@ -14,4 +14,22 @@ describe('SubstractDatePipe', () => { expect(diff).toBe('02:20'); }); + + it('returns --:-- if fromDate is null', () => { + const fromDate = null; + const substractDate = new Date('2011-04-11T08:00:30Z'); + + const diff = new SubstractDatePipe().transform(fromDate, substractDate); + + expect(diff).toBe('--:--'); + }); + + it('returns --:-- if substractDate is null', () => { + const substractDate = null; + const fromDate = new Date('2011-04-11T08:00:30Z'); + + const diff = new SubstractDatePipe().transform(fromDate, substractDate); + + expect(diff).toBe('--:--'); + }); }); diff --git a/src/app/modules/shared/pipes/substract-date/substract-date.pipe.ts b/src/app/modules/shared/pipes/substract-date/substract-date.pipe.ts index a30eb26d3..f4d374c9c 100644 --- a/src/app/modules/shared/pipes/substract-date/substract-date.pipe.ts +++ b/src/app/modules/shared/pipes/substract-date/substract-date.pipe.ts @@ -1,17 +1,20 @@ import { Pipe, PipeTransform } from '@angular/core'; - +import * as moment from 'moment'; @Pipe({ name: 'substractDate' }) export class SubstractDatePipe implements PipeTransform { transform(fromDate: Date, substractDate: Date): string { - const difference = fromDate.valueOf() - substractDate.valueOf(); - const minutes = Math.floor((difference / (1000 * 60)) % 60); - const hours = Math.floor(difference / (1000 * 60 * 60) % 24); + if (fromDate === null || substractDate === null ) { + return '--:--'; + } - return `${this.formatTime(hours)}:${this.formatTime(minutes)}`; + const startDate = moment(substractDate, 'YYYY-MM-DD HH:mm:ss'); + const endDate = moment(fromDate, 'YYYY-MM-DD HH:mm:ss'); + const duration: any = moment.duration(endDate.diff(startDate)); + return `${this.formatTime(duration._data.hours)}:${this.formatTime(duration._data.minutes)}`; } formatTime(time: number): string { diff --git a/src/app/modules/time-entries/pages/time-entries.component.html b/src/app/modules/time-entries/pages/time-entries.component.html index 4f1a3720a..2a4cb8839 100644 --- a/src/app/modules/time-entries/pages/time-entries.component.html +++ b/src/app/modules/time-entries/pages/time-entries.component.html @@ -8,71 +8,54 @@ data-target="#editRecordsByDate" class="btn btn-primary" > - New Entry + Add new entry -