From 4881ba8fe073fd425942773e04bbc98bb7d02aaa Mon Sep 17 00:00:00 2001 From: 4gray Date: Fri, 5 Feb 2021 00:03:31 +0100 Subject: [PATCH] feat: add moment.js based date pipe --- src/app/shared/pipes/moment-date.pipe.spec.ts | 8 ++++++++ src/app/shared/pipes/moment-date.pipe.ts | 18 ++++++++++++++++++ src/app/shared/shared.module.ts | 4 +++- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/app/shared/pipes/moment-date.pipe.spec.ts create mode 100644 src/app/shared/pipes/moment-date.pipe.ts diff --git a/src/app/shared/pipes/moment-date.pipe.spec.ts b/src/app/shared/pipes/moment-date.pipe.spec.ts new file mode 100644 index 000000000..a040350e4 --- /dev/null +++ b/src/app/shared/pipes/moment-date.pipe.spec.ts @@ -0,0 +1,8 @@ +import { MomentDatePipe } from './moment-date.pipe'; + +describe('Pipe: MomentDatee', () => { + it('create an instance', () => { + const pipe = new MomentDatePipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/src/app/shared/pipes/moment-date.pipe.ts b/src/app/shared/pipes/moment-date.pipe.ts new file mode 100644 index 000000000..2e648c6d1 --- /dev/null +++ b/src/app/shared/pipes/moment-date.pipe.ts @@ -0,0 +1,18 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import * as moment from 'moment'; + +/** + * Moment.js based pipe to parse and return the provided date based on given params + */ +@Pipe({ + name: 'momentDate', +}) +export class MomentDatePipe implements PipeTransform { + transform( + value: string, + formatToParse: string, + formatToReturn = 'MMMM Do, dddd' + ): any { + return moment(value, formatToParse).format(formatToReturn); + } +} diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index cfa3a9b6c..7cb81e0b2 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -6,9 +6,10 @@ import { HeaderComponent } from './components/'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MaterialModule } from 'app/material.module'; import { FilterPipeModule } from 'ngx-filter-pipe'; +import { MomentDatePipe } from './pipes/moment-date.pipe'; @NgModule({ - declarations: [HeaderComponent], + declarations: [HeaderComponent, MomentDatePipe], imports: [ CommonModule, FilterPipeModule, @@ -24,6 +25,7 @@ import { FilterPipeModule } from 'ngx-filter-pipe'; FormsModule, HeaderComponent, MaterialModule, + MomentDatePipe, ReactiveFormsModule, TranslateModule, ],