@onemrvapublic/design-system 18.2.16-develop.8 → 18.2.16-develop.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/shared/src/lib/adapters/index.mjs +4 -3
- package/esm2022/shared/src/lib/adapters/luxon.date.adapter.mjs +248 -0
- package/esm2022/shared/src/lib/adapters/luxon.utils.mjs +23 -0
- package/esm2022/shared/src/lib/adapters/luxon.year-month.date.adapter.mjs +248 -0
- package/esm2022/shared/src/lib/adapters/native.date.adapter.mjs +66 -0
- package/esm2022/shared/src/lib/adapters/native.year-month.date.adapter.mjs +59 -0
- package/esm2022/shared/src/lib/providers/onemrva.date.luxon.provider.mjs +9 -8
- package/esm2022/shared/src/lib/providers/onemrva.date.luxon.year.month.provider.mjs +10 -9
- package/esm2022/shared/src/lib/providers/onemrva.date.native.provider.mjs +4 -10
- package/esm2022/shared/src/lib/providers/onemrva.date.native.year.month.provider.mjs +4 -10
- package/fesm2022/onemrvapublic-design-system-shared.mjs +287 -30
- package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
- package/package.json +1 -1
- package/shared/src/lib/adapters/index.d.ts +3 -2
- package/shared/src/lib/adapters/luxon.date.adapter.d.ts +50 -0
- package/shared/src/lib/adapters/luxon.utils.d.ts +26 -0
- package/shared/src/lib/adapters/luxon.year-month.date.adapter.d.ts +50 -0
- package/shared/src/lib/adapters/{date.adapter.d.ts → native.date.adapter.d.ts} +3 -3
- package/shared/src/lib/adapters/{year-month.adapter.d.ts → native.year-month.date.adapter.d.ts} +3 -3
- package/esm2022/shared/src/lib/adapters/date.adapter.mjs +0 -66
- package/esm2022/shared/src/lib/adapters/year-month.adapter.mjs +0 -59
package/package.json
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export * from './date.adapter';
|
|
2
|
-
export * from './
|
|
1
|
+
export * from './native.date.adapter';
|
|
2
|
+
export * from './luxon.date.adapter';
|
|
3
|
+
export * from './native.year-month.date.adapter';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { DateAdapter } from '@angular/material/core';
|
|
2
|
+
import { DateTime as LuxonDateTime } from 'luxon';
|
|
3
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/** Adapts Luxon Dates for use with Angular Material. */
|
|
6
|
+
export declare class OnemrvaLuxonDateAdapter extends DateAdapter<LuxonDateTime> {
|
|
7
|
+
private translateService;
|
|
8
|
+
private _useUTC;
|
|
9
|
+
private _firstDayOfWeek;
|
|
10
|
+
private _defaultOutputCalendar;
|
|
11
|
+
constructor(translateService: TranslateService);
|
|
12
|
+
getYear(date: LuxonDateTime): number;
|
|
13
|
+
getMonth(date: LuxonDateTime): number;
|
|
14
|
+
getDate(date: LuxonDateTime): number;
|
|
15
|
+
getDayOfWeek(date: LuxonDateTime): number;
|
|
16
|
+
getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
|
|
17
|
+
getDateNames(): string[];
|
|
18
|
+
getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
|
|
19
|
+
getYearName(date: LuxonDateTime): string;
|
|
20
|
+
getFirstDayOfWeek(): number;
|
|
21
|
+
getNumDaysInMonth(date: LuxonDateTime): number;
|
|
22
|
+
clone(date: LuxonDateTime): LuxonDateTime;
|
|
23
|
+
createDate(year: number, month: number, date: number): LuxonDateTime;
|
|
24
|
+
today(): LuxonDateTime;
|
|
25
|
+
parse(value: any, parseFormat: string | string[]): LuxonDateTime | null;
|
|
26
|
+
format(date: LuxonDateTime, displayFormat: string): string;
|
|
27
|
+
addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime;
|
|
28
|
+
addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime;
|
|
29
|
+
addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime;
|
|
30
|
+
toIso8601(date: LuxonDateTime): string;
|
|
31
|
+
/**
|
|
32
|
+
* Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings
|
|
33
|
+
* (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty
|
|
34
|
+
* string into null. Returns an invalid date for all other values.
|
|
35
|
+
*/
|
|
36
|
+
deserialize(value: any): LuxonDateTime | null;
|
|
37
|
+
isDateInstance(obj: any): boolean;
|
|
38
|
+
isValid(date: LuxonDateTime): boolean;
|
|
39
|
+
invalid(): LuxonDateTime;
|
|
40
|
+
setTime(target: LuxonDateTime, hours: number, minutes: number, seconds: number): LuxonDateTime;
|
|
41
|
+
getHours(date: LuxonDateTime): number;
|
|
42
|
+
getMinutes(date: LuxonDateTime): number;
|
|
43
|
+
getSeconds(date: LuxonDateTime): number;
|
|
44
|
+
parseTime(value: any, parseFormat: string | string[]): LuxonDateTime | null;
|
|
45
|
+
addSeconds(date: LuxonDateTime, amount: number): LuxonDateTime;
|
|
46
|
+
/** Gets the options that should be used when constructing a new `DateTime` object. */
|
|
47
|
+
private _getOptions;
|
|
48
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaLuxonDateAdapter, never>;
|
|
49
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaLuxonDateAdapter>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CalendarSystem as LuxonCalendarSystem } from 'luxon/src/misc';
|
|
2
|
+
import { InjectionToken } from '@angular/core';
|
|
3
|
+
/** Configurable options for the `LuxonDateAdapter`. */
|
|
4
|
+
export interface MatLuxonDateAdapterOptions {
|
|
5
|
+
/**
|
|
6
|
+
* Turns the use of utc dates on or off.
|
|
7
|
+
* Changing this will change how Angular Material components like DatePicker output dates.
|
|
8
|
+
*/
|
|
9
|
+
useUtc: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Sets the first day of week.
|
|
12
|
+
* Changing this will change how Angular Material components like DatePicker shows start of week.
|
|
13
|
+
*/
|
|
14
|
+
firstDayOfWeek: number;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the output Calendar.
|
|
17
|
+
* Changing this will change how Angular Material components like DatePicker output dates.
|
|
18
|
+
*/
|
|
19
|
+
defaultOutputCalendar: LuxonCalendarSystem;
|
|
20
|
+
}
|
|
21
|
+
/** InjectionToken for LuxonDateAdapter to configure options. */
|
|
22
|
+
export declare const MAT_LUXON_DATE_ADAPTER_OPTIONS: InjectionToken<MatLuxonDateAdapterOptions>;
|
|
23
|
+
/** @docs-private */
|
|
24
|
+
export declare function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions;
|
|
25
|
+
/** Creates an array and fills it with values. */
|
|
26
|
+
export declare function luxonRange<T>(length: number, valueFunction: (index: number) => T): T[];
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { DateAdapter } from '@angular/material/core';
|
|
2
|
+
import { DateTime as LuxonDateTime } from 'luxon';
|
|
3
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/** Adapts Luxon Dates for use with Angular Material. */
|
|
6
|
+
export declare class OnemrvaLuxonYearMonthDateAdapter extends DateAdapter<LuxonDateTime> {
|
|
7
|
+
private translateService;
|
|
8
|
+
private _useUTC;
|
|
9
|
+
private _firstDayOfWeek;
|
|
10
|
+
private _defaultOutputCalendar;
|
|
11
|
+
constructor(translateService: TranslateService);
|
|
12
|
+
getYear(date: LuxonDateTime): number;
|
|
13
|
+
getMonth(date: LuxonDateTime): number;
|
|
14
|
+
getDate(date: LuxonDateTime): number;
|
|
15
|
+
getDayOfWeek(date: LuxonDateTime): number;
|
|
16
|
+
getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
|
|
17
|
+
getDateNames(): string[];
|
|
18
|
+
getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
|
|
19
|
+
getYearName(date: LuxonDateTime): string;
|
|
20
|
+
getFirstDayOfWeek(): number;
|
|
21
|
+
getNumDaysInMonth(date: LuxonDateTime): number;
|
|
22
|
+
clone(date: LuxonDateTime): LuxonDateTime;
|
|
23
|
+
createDate(year: number, month: number, date: number): LuxonDateTime;
|
|
24
|
+
today(): LuxonDateTime;
|
|
25
|
+
parse(value: any, parseFormat: string | string[]): LuxonDateTime | null;
|
|
26
|
+
format(date: LuxonDateTime, displayFormat: string): string;
|
|
27
|
+
addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime;
|
|
28
|
+
addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime;
|
|
29
|
+
addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime;
|
|
30
|
+
toIso8601(date: LuxonDateTime): string;
|
|
31
|
+
/**
|
|
32
|
+
* Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings
|
|
33
|
+
* (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty
|
|
34
|
+
* string into null. Returns an invalid date for all other values.
|
|
35
|
+
*/
|
|
36
|
+
deserialize(value: any): LuxonDateTime | null;
|
|
37
|
+
isDateInstance(obj: any): boolean;
|
|
38
|
+
isValid(date: LuxonDateTime): boolean;
|
|
39
|
+
invalid(): LuxonDateTime;
|
|
40
|
+
setTime(target: LuxonDateTime, hours: number, minutes: number, seconds: number): LuxonDateTime;
|
|
41
|
+
getHours(date: LuxonDateTime): number;
|
|
42
|
+
getMinutes(date: LuxonDateTime): number;
|
|
43
|
+
getSeconds(date: LuxonDateTime): number;
|
|
44
|
+
parseTime(value: any, parseFormat: string | string[]): LuxonDateTime | null;
|
|
45
|
+
addSeconds(date: LuxonDateTime, amount: number): LuxonDateTime;
|
|
46
|
+
/** Gets the options that should be used when constructing a new `DateTime` object. */
|
|
47
|
+
private _getOptions;
|
|
48
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaLuxonYearMonthDateAdapter, never>;
|
|
49
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaLuxonYearMonthDateAdapter>;
|
|
50
|
+
}
|
|
@@ -3,7 +3,7 @@ import { NativeDateAdapter } from '@angular/material/core';
|
|
|
3
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class
|
|
6
|
+
export declare class OnemrvaNativeDateAdapter extends NativeDateAdapter implements OnDestroy {
|
|
7
7
|
private translateService;
|
|
8
8
|
private destroyNotifier$;
|
|
9
9
|
localeChanges: Subject<any>;
|
|
@@ -12,6 +12,6 @@ export declare class OnemrvaDateAdapter extends NativeDateAdapter implements OnD
|
|
|
12
12
|
parse(value: any): Date | null;
|
|
13
13
|
getFirstDayOfWeek(): number;
|
|
14
14
|
ngOnDestroy(): void;
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
16
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaNativeDateAdapter, never>;
|
|
16
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaNativeDateAdapter>;
|
|
17
17
|
}
|
package/shared/src/lib/adapters/{year-month.adapter.d.ts → native.year-month.date.adapter.d.ts}
RENAMED
|
@@ -2,7 +2,7 @@ import { OnDestroy } from '@angular/core';
|
|
|
2
2
|
import { MatDateFormats, NativeDateAdapter } from '@angular/material/core';
|
|
3
3
|
import { TranslateService } from '@ngx-translate/core';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class
|
|
5
|
+
export declare class OnemrvaNativeYearMonthAdapter extends NativeDateAdapter implements OnDestroy {
|
|
6
6
|
private translateService;
|
|
7
7
|
private destroyNotifier$;
|
|
8
8
|
constructor(translateService: TranslateService);
|
|
@@ -10,6 +10,6 @@ export declare class OnemrvaYearMonthAdapter extends NativeDateAdapter implement
|
|
|
10
10
|
parse(value: any, formats: MatDateFormats): Date | null;
|
|
11
11
|
getFirstDayOfWeek(): number;
|
|
12
12
|
ngOnDestroy(): void;
|
|
13
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
14
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaNativeYearMonthAdapter, never>;
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaNativeYearMonthAdapter>;
|
|
15
15
|
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { NativeDateAdapter } from '@angular/material/core';
|
|
3
|
-
import { DateTime } from 'luxon';
|
|
4
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
5
|
-
import { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ngx-translate/core";
|
|
8
|
-
export class OnemrvaDateAdapter extends NativeDateAdapter {
|
|
9
|
-
constructor(translateService) {
|
|
10
|
-
super();
|
|
11
|
-
this.translateService = translateService;
|
|
12
|
-
this.destroyNotifier$ = new Subject();
|
|
13
|
-
this.localeChanges = new Subject();
|
|
14
|
-
this.setLocale(this.translateService.currentLang);
|
|
15
|
-
this.localeChanges.next(this);
|
|
16
|
-
if (this.translateService !== undefined) {
|
|
17
|
-
this.translateService.onLangChange
|
|
18
|
-
.pipe(takeUntil(this.destroyNotifier$))
|
|
19
|
-
.subscribe(({ lang }) => {
|
|
20
|
-
this.setLocale(lang);
|
|
21
|
-
this.localeChanges.next(this);
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
format(date, formats) {
|
|
26
|
-
const dt = DateTime.fromJSDate(date);
|
|
27
|
-
return dt.toFormat(formats);
|
|
28
|
-
}
|
|
29
|
-
parse(value) {
|
|
30
|
-
const formats = ONEMRVA_MAT_NATIVE_DATE_FORMAT;
|
|
31
|
-
if (value && typeof value === 'string') {
|
|
32
|
-
value = value.replace(/\D/g, '/');
|
|
33
|
-
}
|
|
34
|
-
if (value === null || value === '') {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
const dt = DateTime.fromFormat(value, formats.display.dateInput, {
|
|
38
|
-
locale: this.locale,
|
|
39
|
-
});
|
|
40
|
-
if (dt.isValid) {
|
|
41
|
-
return dt.toJSDate();
|
|
42
|
-
}
|
|
43
|
-
for (const format of formats.parse.dateInput) {
|
|
44
|
-
const parsed = DateTime.fromFormat(value, format, {
|
|
45
|
-
locale: this.locale,
|
|
46
|
-
});
|
|
47
|
-
if (parsed.isValid) {
|
|
48
|
-
return parsed.toJSDate();
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return this.invalid();
|
|
52
|
-
}
|
|
53
|
-
getFirstDayOfWeek() {
|
|
54
|
-
return 1;
|
|
55
|
-
}
|
|
56
|
-
ngOnDestroy() {
|
|
57
|
-
this.destroyNotifier$.next();
|
|
58
|
-
this.destroyNotifier$.complete();
|
|
59
|
-
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaDateAdapter, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
61
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaDateAdapter }); }
|
|
62
|
-
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaDateAdapter, decorators: [{
|
|
64
|
-
type: Injectable
|
|
65
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2FkYXB0ZXJzL2RhdGUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBR2pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBRzlELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFLdkQsWUFBb0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUo5QyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXRDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUsxQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWTtpQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztpQkFDdEMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDO0lBRVEsTUFBTSxDQUFDLElBQVUsRUFBRSxPQUFZO1FBQ3RDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFUSxLQUFLLENBQUMsS0FBVTtRQUN2QixNQUFNLE9BQU8sR0FBRyw4QkFBOEIsQ0FBQztRQUMvQyxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDL0QsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQixDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVEsaUJBQWlCO1FBQ3hCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBOURVLGtCQUFrQjtrSEFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlRm9ybWF0cywgTmF0aXZlRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ORU1SVkFfTUFUX05BVElWRV9EQVRFX0ZPUk1BVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbmVtcnZhRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBOYXRpdmVEYXRlQWRhcHRlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZGVzdHJveU5vdGlmaWVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgb3ZlcnJpZGUgbG9jYWxlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5zZXRMb2NhbGUodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKTtcbiAgICB0aGlzLmxvY2FsZUNoYW5nZXMubmV4dCh0aGlzKTtcbiAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveU5vdGlmaWVyJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHsgbGFuZyB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRMb2NhbGUobGFuZyk7XG4gICAgICAgICAgdGhpcy5sb2NhbGVDaGFuZ2VzLm5leHQodGhpcyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGZvcm1hdChkYXRlOiBEYXRlLCBmb3JtYXRzOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUuZnJvbUpTRGF0ZShkYXRlKTtcbiAgICByZXR1cm4gZHQudG9Gb3JtYXQoZm9ybWF0cyk7XG4gIH1cblxuICBvdmVycmlkZSBwYXJzZSh2YWx1ZTogYW55KTogRGF0ZSB8IG51bGwge1xuICAgIGNvbnN0IGZvcm1hdHMgPSBPTkVNUlZBX01BVF9OQVRJVkVfREFURV9GT1JNQVQ7XG4gICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZHQgPSBEYXRlVGltZS5mcm9tRm9ybWF0KHZhbHVlLCBmb3JtYXRzLmRpc3BsYXkuZGF0ZUlucHV0LCB7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgIH0pO1xuXG4gICAgaWYgKGR0LmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBkdC50b0pTRGF0ZSgpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZm9ybWF0IG9mIGZvcm1hdHMucGFyc2UuZGF0ZUlucHV0KSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBEYXRlVGltZS5mcm9tRm9ybWF0KHZhbHVlLCBmb3JtYXQsIHtcbiAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICAgIH0pO1xuICAgICAgaWYgKHBhcnNlZC5pc1ZhbGlkKSB7XG4gICAgICAgIHJldHVybiBwYXJzZWQudG9KU0RhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkKCk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95Tm90aWZpZXIkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3lOb3RpZmllciQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { NativeDateAdapter } from '@angular/material/core';
|
|
3
|
-
import { DateTime } from 'luxon';
|
|
4
|
-
import { Subject, takeUntil } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@ngx-translate/core";
|
|
7
|
-
export class OnemrvaYearMonthAdapter extends NativeDateAdapter {
|
|
8
|
-
constructor(translateService) {
|
|
9
|
-
super();
|
|
10
|
-
this.translateService = translateService;
|
|
11
|
-
this.destroyNotifier$ = new Subject();
|
|
12
|
-
this.setLocale(this.translateService.currentLang);
|
|
13
|
-
this.translateService.onLangChange
|
|
14
|
-
.pipe(takeUntil(this.destroyNotifier$))
|
|
15
|
-
.subscribe(({ lang }) => {
|
|
16
|
-
this.setLocale(lang);
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
format(date, formats) {
|
|
20
|
-
const dt = DateTime.fromJSDate(date);
|
|
21
|
-
return dt.toFormat(formats);
|
|
22
|
-
}
|
|
23
|
-
parse(value, formats) {
|
|
24
|
-
if (value && typeof value === 'string') {
|
|
25
|
-
value = value.replace(/\D/g, '/');
|
|
26
|
-
}
|
|
27
|
-
if (value === null || value === '') {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
const dt = DateTime.fromFormat(value, formats.display.dateInput, {
|
|
31
|
-
locale: this.locale,
|
|
32
|
-
});
|
|
33
|
-
if (dt.isValid) {
|
|
34
|
-
return dt.toJSDate();
|
|
35
|
-
}
|
|
36
|
-
for (const format of formats.parse.dateInput) {
|
|
37
|
-
const parsed = DateTime.fromFormat(value, format, {
|
|
38
|
-
locale: this.locale,
|
|
39
|
-
});
|
|
40
|
-
if (parsed.isValid) {
|
|
41
|
-
return parsed.toJSDate();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return this.invalid();
|
|
45
|
-
}
|
|
46
|
-
getFirstDayOfWeek() {
|
|
47
|
-
return 1;
|
|
48
|
-
}
|
|
49
|
-
ngOnDestroy() {
|
|
50
|
-
this.destroyNotifier$.next();
|
|
51
|
-
this.destroyNotifier$.complete();
|
|
52
|
-
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaYearMonthAdapter, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
54
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaYearMonthAdapter }); }
|
|
55
|
-
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaYearMonthAdapter, decorators: [{
|
|
57
|
-
type: Injectable
|
|
58
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci1tb250aC5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2FkYXB0ZXJzL3llYXItbW9udGguYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHMUMsTUFBTSxPQUFPLHVCQUNYLFNBQVEsaUJBQWlCO0lBS3pCLFlBQW9CLGdCQUFrQztRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFGOUMscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUs3QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWTthQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3RDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLE1BQU0sQ0FBQyxJQUFVLEVBQUUsT0FBWTtRQUN0QyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVEsS0FBSyxDQUFDLEtBQVUsRUFBRSxPQUF1QjtRQUNoRCxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDL0QsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQixDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVEsaUJBQWlCO1FBQ3hCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBMURVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlRm9ybWF0cywgTmF0aXZlRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbmVtcnZhWWVhck1vbnRoQWRhcHRlclxuICBleHRlbmRzIE5hdGl2ZURhdGVBZGFwdGVyXG4gIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gIHByaXZhdGUgZGVzdHJveU5vdGlmaWVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuc2V0TG9jYWxlKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyk7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveU5vdGlmaWVyJCkpXG4gICAgICAuc3Vic2NyaWJlKCh7IGxhbmcgfSkgPT4ge1xuICAgICAgICB0aGlzLnNldExvY2FsZShsYW5nKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9ybWF0KGRhdGU6IERhdGUsIGZvcm1hdHM6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3QgZHQgPSBEYXRlVGltZS5mcm9tSlNEYXRlKGRhdGUpO1xuICAgIHJldHVybiBkdC50b0Zvcm1hdChmb3JtYXRzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHBhcnNlKHZhbHVlOiBhbnksIGZvcm1hdHM6IE1hdERhdGVGb3JtYXRzKTogRGF0ZSB8IG51bGwge1xuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnLycpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWx1ZSwgZm9ybWF0cy5kaXNwbGF5LmRhdGVJbnB1dCwge1xuICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICB9KTtcblxuICAgIGlmIChkdC5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gZHQudG9KU0RhdGUoKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiBmb3JtYXRzLnBhcnNlLmRhdGVJbnB1dCkge1xuICAgICAgY29uc3QgcGFyc2VkID0gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWx1ZSwgZm9ybWF0LCB7XG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICAgIGlmIChwYXJzZWQuaXNWYWxpZCkge1xuICAgICAgICByZXR1cm4gcGFyc2VkLnRvSlNEYXRlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveU5vdGlmaWVyJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95Tm90aWZpZXIkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|