mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ACS-5640] Changing from moment to date-fns. (#8796)
This commit is contained in:
@@ -118,7 +118,7 @@ describe('CommentListComponent', () => {
|
|||||||
await fixture.whenStable();
|
await fixture.whenStable();
|
||||||
|
|
||||||
element = fixture.nativeElement.querySelector('.adf-comment-message-time');
|
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 () => {
|
it('comment date time should start with Yesterday when comment date is yesterday', async () => {
|
||||||
@@ -130,7 +130,7 @@ describe('CommentListComponent', () => {
|
|||||||
await fixture.whenStable();
|
await fixture.whenStable();
|
||||||
|
|
||||||
element = fixture.nativeElement.querySelector('.adf-comment-message-time');
|
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 () => {
|
it('comment date time should not start with Today/Yesterday when comment date is before yesterday', async () => {
|
||||||
|
@@ -42,7 +42,7 @@ describe('TimeAgoPipe', () => {
|
|||||||
|
|
||||||
it('should return time difference for a given date', () => {
|
it('should return time difference for a given date', () => {
|
||||||
const date = new 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 ', () => {
|
it('should return exact date if given date is more than seven days ', () => {
|
||||||
@@ -61,7 +61,7 @@ describe('TimeAgoPipe', () => {
|
|||||||
const date = new Date();
|
const date = new Date();
|
||||||
const transformedDate = pipe.transform(date, 'de');
|
const transformedDate = pipe.transform(date, 'de');
|
||||||
/* cspell:disable-next-line */
|
/* cspell:disable-next-line */
|
||||||
expect(transformedDate).toBe('vor ein paar Sekunden');
|
expect(transformedDate).toBe('vor weniger als 1 Minute');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -15,13 +15,14 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import moment from 'moment';
|
|
||||||
import { Pipe, PipeTransform, OnDestroy } from '@angular/core';
|
import { Pipe, PipeTransform, OnDestroy } from '@angular/core';
|
||||||
import { AppConfigService } from '../app-config/app-config.service';
|
import { AppConfigService } from '../app-config/app-config.service';
|
||||||
import { UserPreferenceValues, UserPreferencesService } from '../common/services/user-preferences.service';
|
import { UserPreferenceValues, UserPreferencesService } from '../common/services/user-preferences.service';
|
||||||
import { DatePipe } from '@angular/common';
|
import { DatePipe } from '@angular/common';
|
||||||
import { Subject } from 'rxjs';
|
import { Subject } from 'rxjs';
|
||||||
import { takeUntil } from 'rxjs/operators';
|
import { takeUntil } from 'rxjs/operators';
|
||||||
|
import { differenceInDays, formatDistance } from 'date-fns';
|
||||||
|
import * as Locales from 'date-fns/locale';
|
||||||
|
|
||||||
@Pipe({
|
@Pipe({
|
||||||
name: 'adfTimeAgo'
|
name: 'adfTimeAgo'
|
||||||
@@ -50,13 +51,12 @@ export class TimeAgoPipe implements PipeTransform, OnDestroy {
|
|||||||
transform(value: Date, locale?: string) {
|
transform(value: Date, locale?: string) {
|
||||||
if (value !== null && value !== undefined ) {
|
if (value !== null && value !== undefined ) {
|
||||||
const actualLocale = locale || this.defaultLocale;
|
const actualLocale = locale || this.defaultLocale;
|
||||||
const then = moment(value);
|
const diff = differenceInDays(new Date(), new Date(value));
|
||||||
const diff = moment().locale(actualLocale).diff(then, 'days');
|
|
||||||
if ( diff > 7) {
|
if ( diff > 7) {
|
||||||
const datePipe: DatePipe = new DatePipe(actualLocale);
|
const datePipe: DatePipe = new DatePipe(actualLocale);
|
||||||
return datePipe.transform(value, this.defaultDateTimeFormat);
|
return datePipe.transform(value, this.defaultDateTimeFormat);
|
||||||
} else {
|
} else {
|
||||||
return then.locale(actualLocale).fromNow();
|
return formatDistance(new Date(value) , new Date(), { addSuffix: true , locale: Locales[actualLocale] });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
|
Reference in New Issue
Block a user