UNPKG

@universis/common

Version:

Universis - common directives and services

42 lines (41 loc) 3.93 kB
import { Pipe } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { DatePipe } from '@angular/common'; /** * * Custom DatePipe representation * @export * @class LocalizedDatePipe * @implements {PipeTransform} */ export class LocalizedDatePipe { constructor(translateService) { this.translateService = translateService; } /** * * Converts Date value that been passed * @param {*} value The Date that needs to be converted * @param {string} [pattern='mediumDate'] Pattern of Date * @returns {*} Converted Date * @memberof LocalizedDatePipe */ transform(value, pattern = 'mediumDate') { const datePipe = new DatePipe(this.translateService.currentLang); if (typeof value === 'string' && /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+\d{2}$/.test(value)) { return datePipe.transform(new Date(value + ':00'), pattern); } return datePipe.transform(value, pattern); } } LocalizedDatePipe.decorators = [ { type: Pipe, args: [{ name: 'localizedDate', pure: false },] } ]; /** @nocollapse */ LocalizedDatePipe.ctorParameters = () => [ { type: TranslateService } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemVkLWRhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B1bml2ZXJzaXMvY29tbW9uLyIsInNvdXJjZXMiOlsic2hhcmVkL3BpcGVzL2xvY2FsaXplZC1kYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDOzs7Ozs7R0FNRztBQUtILE1BQU07SUFFRixZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN0RCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FBQyxLQUFVLEVBQUUsVUFBa0IsWUFBWTtRQUNoRCxNQUFNLFFBQVEsR0FBYSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0UsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksOENBQThDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3pGLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDL0Q7UUFDRCxPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7OztZQXZCSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGVBQWU7Z0JBQ3JCLElBQUksRUFBRSxLQUFLO2FBQ2Q7Ozs7WUFiTyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbi8qKlxuICpcbiAqIEN1c3RvbSBEYXRlUGlwZSByZXByZXNlbnRhdGlvblxuICogQGV4cG9ydFxuICogQGNsYXNzIExvY2FsaXplZERhdGVQaXBlXG4gKiBAaW1wbGVtZW50cyB7UGlwZVRyYW5zZm9ybX1cbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdsb2NhbGl6ZWREYXRlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbmV4cG9ydCBjbGFzcyBMb2NhbGl6ZWREYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBDb252ZXJ0cyBEYXRlIHZhbHVlIHRoYXQgYmVlbiBwYXNzZWRcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSBEYXRlIHRoYXQgbmVlZHMgdG8gYmUgY29udmVydGVkXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtwYXR0ZXJuPSdtZWRpdW1EYXRlJ10gUGF0dGVybiBvZiBEYXRlXG4gICAgICogQHJldHVybnMgeyp9IENvbnZlcnRlZCBEYXRlXG4gICAgICogQG1lbWJlcm9mIExvY2FsaXplZERhdGVQaXBlXG4gICAgICovXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIHBhdHRlcm46IHN0cmluZyA9ICdtZWRpdW1EYXRlJyk6IGFueSB7XG4gICAgICAgIGNvbnN0IGRhdGVQaXBlOiBEYXRlUGlwZSA9IG5ldyBEYXRlUGlwZSh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpO1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJiAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9XFwrXFxkezJ9JC8udGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlUGlwZS50cmFuc2Zvcm0obmV3IERhdGUodmFsdWUgKyAnOjAwJyksIHBhdHRlcm4pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRlUGlwZS50cmFuc2Zvcm0odmFsdWUsIHBhdHRlcm4pO1xuICAgIH1cbn1cbiJdfQ==