UI: Refactoring

This commit is contained in:
Artem Dzhereleiko 2022-08-17 11:19:27 +03:00
parent 031c7fe3ef
commit 2a80c0b38b

View File

@ -17,21 +17,20 @@
import { Injectable } from '@angular/core'; import { Injectable } from '@angular/core';
import { NativeDatetimeAdapter } from '@mat-datetimepicker/core'; import { NativeDatetimeAdapter } from '@mat-datetimepicker/core';
@Injectable() @Injectable()
export class CustomDateAdapter extends NativeDatetimeAdapter { export class CustomDateAdapter extends NativeDatetimeAdapter {
parse(value: string): Date { parse(value: string | number): Date {
if (typeof value === 'number') { if (typeof value === 'number') {
return new Date(value); return new Date(value);
} }
let newDate = null; let newDate = value;
const formatToParts = Intl.DateTimeFormat(this.locale).formatToParts(); const formatToParts = Intl.DateTimeFormat(this.locale).formatToParts();
if (formatToParts[0].type.toLowerCase() === 'day') { if (formatToParts[0].type.toLowerCase() === 'day') {
const literal = formatToParts[1].value; const literal = formatToParts[1].value;
newDate = value.replace(new RegExp(`(\\d+[${literal}])(\\d+[${literal}])`), '$2$1'); newDate = newDate.replace(new RegExp(`(\\d+[${literal}])(\\d+[${literal}])`), '$2$1');
} }
return value ? new Date(Date.parse(newDate || value)) : null; return newDate ? new Date(Date.parse(newDate)) : null;
} }
} }