[ACS-5640] Changing from moment to date-fns. (#8796)

This commit is contained in:
Aayush Rohila
2023-08-25 13:52:51 +05:30
committed by GitHub
parent 87e57272fa
commit 837b3b1b92
3 changed files with 8 additions and 8 deletions

View File

@@ -118,7 +118,7 @@ describe('CommentListComponent', () => {
await fixture.whenStable();
element = fixture.nativeElement.querySelector('.adf-comment-message-time');
expect(element.innerText).toContain('a few seconds ago');
expect(element.innerText).toContain('less than a minute ago');
});
it('comment date time should start with Yesterday when comment date is yesterday', async () => {
@@ -130,7 +130,7 @@ describe('CommentListComponent', () => {
await fixture.whenStable();
element = fixture.nativeElement.querySelector('.adf-comment-message-time');
expect(element.innerText).toContain('a day ago');
expect(element.innerText).toContain('1 day ago');
});
it('comment date time should not start with Today/Yesterday when comment date is before yesterday', async () => {

View File

@@ -42,7 +42,7 @@ describe('TimeAgoPipe', () => {
it('should return time difference for a given date', () => {
const date = new Date();
expect(pipe.transform(date)).toBe('a few seconds ago');
expect(pipe.transform(date)).toBe('less than a minute ago');
});
it('should return exact date if given date is more than seven days ', () => {
@@ -61,7 +61,7 @@ describe('TimeAgoPipe', () => {
const date = new Date();
const transformedDate = pipe.transform(date, 'de');
/* cspell:disable-next-line */
expect(transformedDate).toBe('vor ein paar Sekunden');
expect(transformedDate).toBe('vor weniger als 1 Minute');
});
});
});

View File

@@ -15,13 +15,14 @@
* limitations under the License.
*/
import moment from 'moment';
import { Pipe, PipeTransform, OnDestroy } from '@angular/core';
import { AppConfigService } from '../app-config/app-config.service';
import { UserPreferenceValues, UserPreferencesService } from '../common/services/user-preferences.service';
import { DatePipe } from '@angular/common';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { differenceInDays, formatDistance } from 'date-fns';
import * as Locales from 'date-fns/locale';
@Pipe({
name: 'adfTimeAgo'
@@ -50,13 +51,12 @@ export class TimeAgoPipe implements PipeTransform, OnDestroy {
transform(value: Date, locale?: string) {
if (value !== null && value !== undefined ) {
const actualLocale = locale || this.defaultLocale;
const then = moment(value);
const diff = moment().locale(actualLocale).diff(then, 'days');
const diff = differenceInDays(new Date(), new Date(value));
if ( diff > 7) {
const datePipe: DatePipe = new DatePipe(actualLocale);
return datePipe.transform(value, this.defaultDateTimeFormat);
} else {
return then.locale(actualLocale).fromNow();
return formatDistance(new Date(value) , new Date(), { addSuffix: true , locale: Locales[actualLocale] });
}
}
return '';