@universis/common
Version:
Universis - common directives and services
42 lines (41 loc) • 3.93 kB
JavaScript
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==