@acorex/core 7.3.1 → 7.4.1
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/config/lib/configs.d.ts +6 -9
- package/config/lib/configs.service.d.ts +6 -1
- package/dateTime/index.d.ts +2 -0
- package/dateTime/lib/calendar.service.d.ts +13 -0
- package/dateTime/lib/dateTime.config.d.ts +12 -0
- package/dateTime/lib/datetime.class.d.ts +61 -26
- package/dateTime/lib/datetime.module.d.ts +0 -1
- package/dateTime/lib/datetime.pipe.d.ts +3 -2
- package/dateTime/lib/georgian.calendar.d.ts +6 -6
- package/dateTime/lib/jalali.calendar.d.ts +7 -7
- package/esm2022/config/lib/configs.mjs +7 -24
- package/esm2022/config/lib/configs.service.mjs +20 -16
- package/esm2022/dateTime/index.mjs +3 -1
- package/esm2022/dateTime/lib/calendar.service.mjs +41 -0
- package/esm2022/dateTime/lib/dateTime.config.mjs +65 -0
- package/esm2022/dateTime/lib/datetime.class.mjs +43 -64
- package/esm2022/dateTime/lib/datetime.module.mjs +8 -28
- package/esm2022/dateTime/lib/datetime.pipe.mjs +18 -12
- package/esm2022/dateTime/lib/georgian.calendar.mjs +69 -72
- package/esm2022/dateTime/lib/jalali.calendar.mjs +50 -49
- package/esm2022/events/lib/event.service.mjs +3 -3
- package/esm2022/file/lib/file.service.mjs +3 -3
- package/esm2022/http/lib/http.module.mjs +4 -4
- package/esm2022/http/lib/http.service.mjs +3 -3
- package/esm2022/image/lib/image.service.mjs +3 -3
- package/esm2022/pipes/lib/pipes.module.mjs +4 -4
- package/esm2022/pipes/lib/safe.pipe.mjs +3 -3
- package/esm2022/platform/lib/platform.service.mjs +24 -13
- package/esm2022/translation/lib/translation.module.mjs +4 -4
- package/esm2022/translation/lib/translator.pipe.mjs +3 -3
- package/esm2022/types/acorex-core-types.mjs +5 -0
- package/esm2022/types/index.mjs +2 -0
- package/esm2022/utils/index.mjs +1 -2
- package/esm2022/utils/lib/auto-unsubscribe.mjs +3 -3
- package/esm2022/utils/lib/string-util.mjs +1 -1
- package/fesm2022/acorex-core-config.mjs +24 -39
- package/fesm2022/acorex-core-config.mjs.map +1 -1
- package/fesm2022/acorex-core-dateTime.mjs +408 -345
- package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
- package/fesm2022/acorex-core-events.mjs +3 -3
- package/fesm2022/acorex-core-file.mjs +3 -3
- package/fesm2022/acorex-core-http.mjs +7 -7
- package/fesm2022/acorex-core-image.mjs +3 -3
- package/fesm2022/acorex-core-pipes.mjs +7 -7
- package/fesm2022/acorex-core-platform.mjs +23 -12
- package/fesm2022/acorex-core-platform.mjs.map +1 -1
- package/fesm2022/acorex-core-translation.mjs +7 -7
- package/fesm2022/acorex-core-types.mjs +6 -0
- package/fesm2022/acorex-core-types.mjs.map +1 -0
- package/fesm2022/acorex-core-utils.mjs +4 -43
- package/fesm2022/acorex-core-utils.mjs.map +1 -1
- package/package.json +21 -17
- package/platform/lib/platform.service.d.ts +2 -1
- package/types/README.md +3 -0
- package/types/index.d.ts +2 -0
- package/utils/index.d.ts +0 -1
- package/esm2022/utils/lib/object-util.mjs +0 -39
- package/utils/lib/object-util.d.ts +0 -4
package/config/lib/configs.d.ts
CHANGED
@@ -1,9 +1,6 @@
|
|
1
|
-
import {
|
2
|
-
export
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
static set(path: string, value?: any): void;
|
8
|
-
static get(path: string, defaultValue?: any): any;
|
9
|
-
}
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export type AXGlobalConfig = {
|
3
|
+
[key: string]: unknown;
|
4
|
+
};
|
5
|
+
export declare const AXGlobalDefaultConfig: AXGlobalConfig;
|
6
|
+
export declare const AX_GLOBAL_CONFIG: InjectionToken<AXGlobalConfig>;
|
@@ -1,7 +1,12 @@
|
|
1
|
+
import { Injector } from '@angular/core';
|
1
2
|
import * as i0 from "@angular/core";
|
2
3
|
export declare class AXConfigService {
|
3
4
|
private injector;
|
4
|
-
|
5
|
+
/**
|
6
|
+
* @ignore
|
7
|
+
*/
|
8
|
+
constructor(injector: Injector);
|
9
|
+
get<T = string>(key: string, defaultValue?: T): T;
|
5
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXConfigService, never>;
|
6
11
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXConfigService>;
|
7
12
|
}
|
package/dateTime/index.d.ts
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
import { AXCalendar, AXDateTime, AXDateValue } from './datetime.class';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export declare class AXCalendarService {
|
4
|
+
private _config;
|
5
|
+
get calendar(): AXCalendar;
|
6
|
+
create(value: AXDateValue, calendarName?: string): AXDateTime;
|
7
|
+
create(value: Date, calendarName?: string): AXDateTime;
|
8
|
+
now(calendarName?: string): AXDateTime;
|
9
|
+
resolveCalendar(name: string): AXCalendar;
|
10
|
+
convert(value: Date | AXDateTime, calendarName?: string): AXDateTime;
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXCalendarService, never>;
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXCalendarService>;
|
13
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
import { AXCalendar } from './datetime.class';
|
3
|
+
export interface AXDateTimeConfig {
|
4
|
+
calendar: string;
|
5
|
+
calendars: {
|
6
|
+
[key: string]: AXCalendar;
|
7
|
+
};
|
8
|
+
}
|
9
|
+
export declare const AX_DATETIME_CONFIG: InjectionToken<AXDateTimeConfig>;
|
10
|
+
export declare const AXDateTimeDefaultConfig: AXDateTimeConfig;
|
11
|
+
export type PartialDateTimeConfig = Partial<AXDateTimeConfig>;
|
12
|
+
export declare function dateTimeConfig(config?: PartialDateTimeConfig): AXDateTimeConfig;
|
@@ -7,35 +7,72 @@ export interface AXDateValue {
|
|
7
7
|
minutes?: number;
|
8
8
|
seconds?: number;
|
9
9
|
ms?: number;
|
10
|
-
calendar: string;
|
11
10
|
}
|
12
|
-
export interface
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
11
|
+
export interface AXDateTimeDisplayFormats {
|
12
|
+
dateInput: string;
|
13
|
+
timeInput: string;
|
14
|
+
dateTimeInput: string;
|
15
|
+
dateDisplay: string;
|
16
|
+
timeDisplay: string;
|
17
|
+
dateTimeDisplay: string;
|
18
|
+
}
|
19
|
+
export type AXDateTimeUnitNames = {
|
20
|
+
long: string;
|
21
|
+
short: string;
|
22
|
+
letter: string;
|
23
|
+
}[];
|
24
|
+
export type AXDateTimePart = {
|
25
|
+
key: string;
|
26
|
+
placeholder: string;
|
27
|
+
placeholders: string[];
|
28
|
+
typedValue?: string | null;
|
29
|
+
default: number;
|
30
|
+
enabled: boolean;
|
31
|
+
realValue: () => string;
|
32
|
+
};
|
33
|
+
export type AXDateTimeParts = {
|
34
|
+
year: AXDateTimePart;
|
35
|
+
month: AXDateTimePart;
|
36
|
+
day: AXDateTimePart;
|
37
|
+
hour: AXDateTimePart;
|
38
|
+
minute: AXDateTimePart;
|
39
|
+
second: AXDateTimePart;
|
40
|
+
};
|
41
|
+
export interface AXCalendarConfig {
|
42
|
+
weekend: number[];
|
43
|
+
formats: AXDateTimeDisplayFormats;
|
44
|
+
dayNames: AXDateTimeUnitNames;
|
45
|
+
monthNames: AXDateTimeUnitNames;
|
46
|
+
}
|
47
|
+
export declare abstract class AXCalendar {
|
48
|
+
private _config;
|
49
|
+
/**
|
50
|
+
* @ignore
|
51
|
+
*/
|
52
|
+
constructor(config: AXCalendarConfig);
|
53
|
+
get weekend(): number[];
|
54
|
+
get formats(): AXDateTimeDisplayFormats;
|
55
|
+
get dayNames(): AXDateTimeUnitNames;
|
56
|
+
get monthNames(): AXDateTimeUnitNames;
|
57
|
+
abstract name(): string;
|
58
|
+
abstract dayOfMonth(date: Date): number;
|
59
|
+
abstract dayOfYear(date: Date): number;
|
60
|
+
abstract dayOfWeek(date: Date): number;
|
61
|
+
abstract monthOfYear(date: Date): number;
|
62
|
+
abstract weekOfYear(date: Date): number;
|
63
|
+
abstract year(date: Date): number;
|
64
|
+
abstract add(date: Date, unit: TimeUnit, amount: number): AXDateTime;
|
65
|
+
abstract set(date: Date, unit: TimeUnit, value: number): AXDateTime;
|
66
|
+
abstract startOf(date: Date, unit: TimeUnit): AXDateTime;
|
67
|
+
abstract endOf(date: Date, unit: TimeUnit): AXDateTime;
|
68
|
+
abstract create(value: AXDateValue): AXDateTime;
|
29
69
|
}
|
30
70
|
export declare class AXDateTime {
|
31
|
-
static convert(value: Date | AXDateTime | string, calendar?: string): AXDateTime;
|
32
|
-
static from(value?: AXDateValue): AXDateTime;
|
33
|
-
static resolveCalendar(calendar: string | AXCalendar): AXCalendar;
|
34
71
|
private _date;
|
35
72
|
get date(): Date;
|
36
73
|
private _calendar;
|
37
74
|
get calendar(): AXCalendar;
|
38
|
-
constructor(value
|
75
|
+
constructor(value: Date, calendar: AXCalendar);
|
39
76
|
clone(): AXDateTime;
|
40
77
|
get dayOfMonth(): number;
|
41
78
|
get dayOfYear(): number;
|
@@ -49,21 +86,20 @@ export declare class AXDateTime {
|
|
49
86
|
get month(): AXCalendarMonth;
|
50
87
|
add(unit: TimeUnit, amount: number): AXDateTime;
|
51
88
|
set(unit: TimeUnit, value: number): AXDateTime;
|
52
|
-
duration(end: Date | AXDateTime
|
89
|
+
duration(end: Date | AXDateTime): AXTimeSpan;
|
53
90
|
startOf(unit?: TimeUnit): AXDateTime;
|
54
91
|
endOf(unit?: TimeUnit): AXDateTime;
|
55
92
|
private _formatKeys;
|
56
93
|
format(format?: string): string;
|
57
94
|
private pad;
|
58
|
-
toString(format?: string): string;
|
59
95
|
equal(value: Date | AXDateTime, unit?: TimeUnit): boolean;
|
60
96
|
compare(value: Date | AXDateTime, unit?: TimeUnit): number;
|
61
|
-
convert(calendar: string): AXDateTime;
|
62
97
|
}
|
63
98
|
export declare class AXCalendarMonth {
|
64
99
|
private _range;
|
65
100
|
get range(): AXDateTimeRange;
|
66
101
|
set range(v: AXDateTimeRange);
|
102
|
+
get totalDays(): number;
|
67
103
|
constructor(date: AXDateTime);
|
68
104
|
private readonly index;
|
69
105
|
private readonly name;
|
@@ -96,5 +132,4 @@ export declare class AXDateTimeRange {
|
|
96
132
|
constructor(startTime: AXDateTime, endTime: AXDateTime);
|
97
133
|
duration(): AXTimeSpan;
|
98
134
|
enumurate(unit?: TimeUnit, amount?: number): AXDateTime[];
|
99
|
-
includes(value: AXDateTime, unit?: TimeUnit): boolean;
|
100
135
|
}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
import * as i0 from "@angular/core";
|
2
2
|
import * as i1 from "./datetime.pipe";
|
3
3
|
export declare class AXDateTimeModule {
|
4
|
-
constructor();
|
5
4
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDateTimeModule, never>;
|
6
5
|
static ɵmod: i0.ɵɵNgModuleDeclaration<AXDateTimeModule, [typeof i1.AXDateTimePipe], never, [typeof i1.AXDateTimePipe]>;
|
7
6
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXDateTimeModule>;
|
@@ -1,8 +1,9 @@
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
2
|
+
import { AXDateTime } from './datetime.class';
|
2
3
|
import * as i0 from "@angular/core";
|
3
4
|
export declare class AXDateTimePipe implements PipeTransform {
|
4
|
-
|
5
|
-
transform(value:
|
5
|
+
private _calendarService;
|
6
|
+
transform(value: Date | AXDateTime, format?: string, calendarName?: string): string;
|
6
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXDateTimePipe, never>;
|
7
8
|
static ɵpipe: i0.ɵɵPipeDeclaration<AXDateTimePipe, "axDate", false>;
|
8
9
|
}
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import { AXCalendar, AXDateTime, AXDateValue, TimeUnit } from
|
2
|
-
export declare class GeorgianCalendar
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
1
|
+
import { AXCalendar, AXCalendarConfig, AXDateTime, AXDateValue, TimeUnit } from './datetime.class';
|
2
|
+
export declare class GeorgianCalendar extends AXCalendar {
|
3
|
+
/**
|
4
|
+
* @ignore
|
5
|
+
*/
|
6
|
+
constructor(config: AXCalendarConfig);
|
7
7
|
create(value: AXDateValue): AXDateTime;
|
8
8
|
name(): string;
|
9
9
|
dayOfMonth(date: Date): number;
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import { AXCalendar, AXDateTime, AXDateValue, TimeUnit } from './datetime.class';
|
2
|
-
export declare class JalaliCalendar
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
breaks
|
1
|
+
import { AXCalendar, AXCalendarConfig, AXDateTime, AXDateValue, TimeUnit } from './datetime.class';
|
2
|
+
export declare class JalaliCalendar extends AXCalendar {
|
3
|
+
/**
|
4
|
+
* @ignore
|
5
|
+
*/
|
6
|
+
constructor(config: AXCalendarConfig);
|
7
|
+
private breaks;
|
8
8
|
create(value: AXDateValue): AXDateTime;
|
9
9
|
name(): string;
|
10
10
|
dayOfMonth(date: Date): number;
|
@@ -1,24 +1,7 @@
|
|
1
|
-
import {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
return AXConfig.dataChangeSubject.asObservable();
|
9
|
-
}
|
10
|
-
static set(arg1, arg2) {
|
11
|
-
if (arg1 && typeof arg1 == 'string') {
|
12
|
-
set(AXConfig.dataModel, arg1, arg2);
|
13
|
-
AXConfig.dataChangeSubject.next(AXConfig.dataModel);
|
14
|
-
}
|
15
|
-
if (arg1 && typeof arg1 == 'object') {
|
16
|
-
merge(AXConfig.dataModel, arg1);
|
17
|
-
AXConfig.dataChangeSubject.next(AXConfig.dataModel);
|
18
|
-
}
|
19
|
-
}
|
20
|
-
static get(path, defaultValue) {
|
21
|
-
return get(AXConfig.dataModel, path, defaultValue);
|
22
|
-
}
|
23
|
-
}
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9jb25maWcvc3JjL2xpYi9jb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1QyxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRTNDLFdBQVc7QUFDWCxNQUFNLE9BQU8sUUFBUTthQUNKLGNBQVMsR0FBUSxFQUFFLENBQUM7YUFDcEIsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztJQUV0RCxNQUFNLEtBQUssUUFBUTtRQUNqQixPQUFPLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBSUQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFVLEVBQUUsSUFBVTtRQUMvQixJQUFJLElBQUksSUFBSSxPQUFPLElBQUksSUFBSSxRQUFRLEVBQUU7WUFDbkMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3JEO1FBQ0QsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksUUFBUSxFQUFFO1lBQ25DLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLFlBQWtCO1FBQ3pDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXQsIHNldCwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEFYQ29uZmlnIHtcbiAgcHJpdmF0ZSBzdGF0aWMgZGF0YU1vZGVsOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBzdGF0aWMgZGF0YUNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgc3RhdGljIGdldCBvbkNoYW5nZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBBWENvbmZpZy5kYXRhQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHN0YXRpYyBzZXQoY29uZmlnOiBhbnkpOiB2b2lkO1xuICBzdGF0aWMgc2V0KHBhdGg6IHN0cmluZywgdmFsdWU/OiBhbnkpOiB2b2lkO1xuICBzdGF0aWMgc2V0KGFyZzE/OiBhbnksIGFyZzI/OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoYXJnMSAmJiB0eXBlb2YgYXJnMSA9PSAnc3RyaW5nJykge1xuICAgICAgc2V0KEFYQ29uZmlnLmRhdGFNb2RlbCwgYXJnMSwgYXJnMik7XG4gICAgICBBWENvbmZpZy5kYXRhQ2hhbmdlU3ViamVjdC5uZXh0KEFYQ29uZmlnLmRhdGFNb2RlbCk7XG4gICAgfVxuICAgIGlmIChhcmcxICYmIHR5cGVvZiBhcmcxID09ICdvYmplY3QnKSB7XG4gICAgICBtZXJnZShBWENvbmZpZy5kYXRhTW9kZWwsIGFyZzEpO1xuICAgICAgQVhDb25maWcuZGF0YUNoYW5nZVN1YmplY3QubmV4dChBWENvbmZpZy5kYXRhTW9kZWwpO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBnZXQocGF0aDogc3RyaW5nLCBkZWZhdWx0VmFsdWU/OiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBnZXQoQVhDb25maWcuZGF0YU1vZGVsLCBwYXRoLCBkZWZhdWx0VmFsdWUpO1xuICB9XG59XG4iXX0=
|
1
|
+
import { InjectionToken } from '@angular/core';
|
2
|
+
export const AXGlobalDefaultConfig = {};
|
3
|
+
export const AX_GLOBAL_CONFIG = new InjectionToken('AX_GLOBAL_CONFIG', {
|
4
|
+
providedIn: 'root',
|
5
|
+
factory: () => AXGlobalDefaultConfig
|
6
|
+
});
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9jb25maWcvc3JjL2xpYi9jb25maWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNL0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQW1CLEVBRXBELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsa0JBQWtCLEVBQUU7SUFDckYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLHFCQUFxQjtDQUNyQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBBWEdsb2JhbENvbmZpZyA9IHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGNvbnN0IEFYR2xvYmFsRGVmYXVsdENvbmZpZzogQVhHbG9iYWxDb25maWcgPSB7XG5cbn07XG5cbmV4cG9ydCBjb25zdCBBWF9HTE9CQUxfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPEFYR2xvYmFsQ29uZmlnPignQVhfR0xPQkFMX0NPTkZJRycsIHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICBmYWN0b3J5OiAoKSA9PiBBWEdsb2JhbERlZmF1bHRDb25maWdcbn0pO1xuIl19
|
@@ -1,23 +1,27 @@
|
|
1
|
-
import {
|
1
|
+
import { Injectable, Injector } from '@angular/core';
|
2
|
+
import { AX_GLOBAL_CONFIG } from './configs';
|
3
|
+
import { get } from 'lodash-es';
|
2
4
|
import * as i0 from "@angular/core";
|
3
5
|
export class AXConfigService {
|
4
|
-
|
5
|
-
|
6
|
+
/**
|
7
|
+
* @ignore
|
8
|
+
*/
|
9
|
+
constructor(injector) {
|
10
|
+
this.injector = injector;
|
6
11
|
}
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
});
|
12
|
+
get(key, defaultValue) {
|
13
|
+
const v1 = this.injector.get(AX_GLOBAL_CONFIG);
|
14
|
+
const parts = key.split('.');
|
15
|
+
const tokenName = parts.slice(0, parts.length - 1).join('.');
|
16
|
+
const providerToken = get(v1, tokenName);
|
17
|
+
const v2 = this.injector.get(providerToken);
|
18
|
+
return get(v2, parts[parts.length - 1], defaultValue);
|
15
19
|
}
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.
|
17
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXConfigService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXConfigService, providedIn: 'root' }); }
|
18
22
|
}
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXConfigService, decorators: [{
|
20
24
|
type: Injectable,
|
21
25
|
args: [{ providedIn: 'root' }]
|
22
|
-
}] });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
26
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2NvbmZpZy9zcmMvbGliL2NvbmZpZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFrQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBR2hDLE1BQU0sT0FBTyxlQUFlO0lBRXhCOztPQUVHO0lBQ0gsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUV0QyxDQUFDO0lBRU0sR0FBRyxDQUFhLEdBQVcsRUFBRSxZQUFnQjtRQUNoRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0QsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxhQUF3QyxDQUFDLENBQUM7UUFDdkUsT0FBTyxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzFELENBQUM7OEdBaEJRLGVBQWU7a0hBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhfR0xPQkFMX0NPTkZJRyB9IGZyb20gJy4vY29uZmlncyc7XG5pbXBvcnQgeyBnZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFYQ29uZmlnU2VydmljZSB7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcblxuICAgIH1cblxuICAgIHB1YmxpYyBnZXQ8VCA9IHN0cmluZz4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IFQpIHtcbiAgICAgICAgY29uc3QgdjEgPSB0aGlzLmluamVjdG9yLmdldChBWF9HTE9CQUxfQ09ORklHKTtcbiAgICAgICAgY29uc3QgcGFydHMgPSBrZXkuc3BsaXQoJy4nKTtcbiAgICAgICAgY29uc3QgdG9rZW5OYW1lID0gcGFydHMuc2xpY2UoMCwgcGFydHMubGVuZ3RoIC0gMSkuam9pbignLicpO1xuICAgICAgICBjb25zdCBwcm92aWRlclRva2VuID0gZ2V0KHYxLCB0b2tlbk5hbWUpO1xuICAgICAgICBjb25zdCB2MiA9IHRoaXMuaW5qZWN0b3IuZ2V0KHByb3ZpZGVyVG9rZW4gYXMgSW5qZWN0aW9uVG9rZW48dW5rbm93bj4pO1xuICAgICAgICByZXR1cm4gZ2V0KHYyLCBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXSwgZGVmYXVsdFZhbHVlKTtcbiAgICB9XG5cbn0iXX0=
|
@@ -1,6 +1,8 @@
|
|
1
|
+
export * from './lib/calendar.service';
|
2
|
+
export * from './lib/dateTime.config';
|
1
3
|
export * from './lib/datetime.class';
|
2
4
|
export * from './lib/datetime.module';
|
3
5
|
export * from './lib/datetime.pipe';
|
4
6
|
export * from './lib/georgian.calendar';
|
5
7
|
export * from './lib/jalali.calendar';
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvZGF0ZVRpbWUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9jYWxlbmRhci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGVUaW1lLmNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRldGltZS5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRldGltZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZXRpbWUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9nZW9yZ2lhbi5jYWxlbmRhcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9qYWxhbGkuY2FsZW5kYXInO1xuIl19
|
@@ -0,0 +1,41 @@
|
|
1
|
+
import { Injectable, inject } from '@angular/core';
|
2
|
+
import { AXDateTime } from './datetime.class';
|
3
|
+
import { AX_DATETIME_CONFIG } from './dateTime.config';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export class AXCalendarService {
|
6
|
+
constructor() {
|
7
|
+
this._config = inject(AX_DATETIME_CONFIG);
|
8
|
+
}
|
9
|
+
get calendar() {
|
10
|
+
return this._config.calendars[this._config.calendar];
|
11
|
+
}
|
12
|
+
create(value, calendarName) {
|
13
|
+
const calendar = calendarName ? this.resolveCalendar(calendarName) : this.calendar;
|
14
|
+
if (value instanceof Date) {
|
15
|
+
return new AXDateTime(value, calendar);
|
16
|
+
}
|
17
|
+
else if (value?.year && value?.month) {
|
18
|
+
return calendar.create(value);
|
19
|
+
}
|
20
|
+
return this.now();
|
21
|
+
}
|
22
|
+
now(calendarName) {
|
23
|
+
const calendar = calendarName ? this.resolveCalendar(calendarName) : this.calendar;
|
24
|
+
return new AXDateTime(new Date(), calendar);
|
25
|
+
}
|
26
|
+
resolveCalendar(name) {
|
27
|
+
return this._config.calendars[name];
|
28
|
+
}
|
29
|
+
convert(value, calendarName) {
|
30
|
+
const calendar = calendarName ? this.resolveCalendar(calendarName) : this.calendar;
|
31
|
+
const date = value instanceof AXDateTime ? value.date : value;
|
32
|
+
return new AXDateTime(date, calendar);
|
33
|
+
}
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXCalendarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXCalendarService, providedIn: 'root' }); }
|
36
|
+
}
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.9", ngImport: i0, type: AXCalendarService, decorators: [{
|
38
|
+
type: Injectable,
|
39
|
+
args: [{ providedIn: 'root' }]
|
40
|
+
}] });
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9kYXRlVGltZS9zcmMvbGliL2NhbGVuZGFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLFVBQVUsRUFBZSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZFLE9BQU8sRUFBb0Isa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFHekUsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUdZLFlBQU8sR0FBcUIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FrQ2xFO0lBaENHLElBQVcsUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBSU0sTUFBTSxDQUFDLEtBQXlCLEVBQUUsWUFBcUI7UUFDMUQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25GLElBQUksS0FBSyxZQUFZLElBQUksRUFBRTtZQUN2QixPQUFPLElBQUksVUFBVSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztTQUMxQzthQUNJLElBQUksS0FBSyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsS0FBSyxFQUFFO1lBQ2xDLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFvQixDQUFDLENBQUE7U0FDL0M7UUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtJQUNyQixDQUFDO0lBRU0sR0FBRyxDQUFDLFlBQXFCO1FBQzVCLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNuRixPQUFPLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVNLGVBQWUsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLE9BQU8sQ0FBQyxLQUF3QixFQUFFLFlBQXFCO1FBQzFELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNuRixNQUFNLElBQUksR0FBRyxLQUFLLFlBQVksVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFhLENBQUM7UUFDdEUsT0FBTyxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs4R0FsQ1EsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FESixNQUFNOzsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhDYWxlbmRhciwgQVhEYXRlVGltZSwgQVhEYXRlVmFsdWUgfSBmcm9tICcuL2RhdGV0aW1lLmNsYXNzJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVDb25maWcsIEFYX0RBVEVUSU1FX0NPTkZJRyB9IGZyb20gJy4vZGF0ZVRpbWUuY29uZmlnJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBWENhbGVuZGFyU2VydmljZSB7XG5cbiAgICBwcml2YXRlIF9jb25maWc6IEFYRGF0ZVRpbWVDb25maWcgPSBpbmplY3QoQVhfREFURVRJTUVfQ09ORklHKTtcblxuICAgIHB1YmxpYyBnZXQgY2FsZW5kYXIoKTogQVhDYWxlbmRhciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuY2FsZW5kYXJzW3RoaXMuX2NvbmZpZy5jYWxlbmRhcl07XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZSh2YWx1ZTogQVhEYXRlVmFsdWUsIGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWU7XG4gICAgcHVibGljIGNyZWF0ZSh2YWx1ZTogRGF0ZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZTtcbiAgICBwdWJsaWMgY3JlYXRlKHZhbHVlOiBBWERhdGVWYWx1ZSB8IERhdGUsIGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWUge1xuICAgICAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZSA/IHRoaXMucmVzb2x2ZUNhbGVuZGFyKGNhbGVuZGFyTmFtZSkgOiB0aGlzLmNhbGVuZGFyO1xuICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUodmFsdWUsIGNhbGVuZGFyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWx1ZT8ueWVhciAmJiB2YWx1ZT8ubW9udGgpIHtcbiAgICAgICAgICAgIHJldHVybiBjYWxlbmRhci5jcmVhdGUodmFsdWUgYXMgQVhEYXRlVmFsdWUpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubm93KClcbiAgICB9XG5cbiAgICBwdWJsaWMgbm93KGNhbGVuZGFyTmFtZT86IHN0cmluZyk6IEFYRGF0ZVRpbWUge1xuICAgICAgICBjb25zdCBjYWxlbmRhciA9IGNhbGVuZGFyTmFtZSA/IHRoaXMucmVzb2x2ZUNhbGVuZGFyKGNhbGVuZGFyTmFtZSkgOiB0aGlzLmNhbGVuZGFyO1xuICAgICAgICByZXR1cm4gbmV3IEFYRGF0ZVRpbWUobmV3IERhdGUoKSwgY2FsZW5kYXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZXNvbHZlQ2FsZW5kYXIobmFtZTogc3RyaW5nKTogQVhDYWxlbmRhciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcuY2FsZW5kYXJzW25hbWVdO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb252ZXJ0KHZhbHVlOiBEYXRlIHwgQVhEYXRlVGltZSwgY2FsZW5kYXJOYW1lPzogc3RyaW5nKTogQVhEYXRlVGltZSB7XG4gICAgICAgIGNvbnN0IGNhbGVuZGFyID0gY2FsZW5kYXJOYW1lID8gdGhpcy5yZXNvbHZlQ2FsZW5kYXIoY2FsZW5kYXJOYW1lKSA6IHRoaXMuY2FsZW5kYXI7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB2YWx1ZSBpbnN0YW5jZW9mIEFYRGF0ZVRpbWUgPyB2YWx1ZS5kYXRlIDogdmFsdWUgYXMgRGF0ZTtcbiAgICAgICAgcmV0dXJuIG5ldyBBWERhdGVUaW1lKGRhdGUsIGNhbGVuZGFyKTtcbiAgICB9XG5cbn0iXX0=
|
@@ -0,0 +1,65 @@
|
|
1
|
+
import { InjectionToken, inject } from '@angular/core';
|
2
|
+
import { set } from 'lodash-es';
|
3
|
+
import { AX_GLOBAL_CONFIG } from '@acorex/core/config';
|
4
|
+
import { JalaliCalendar } from './jalali.calendar';
|
5
|
+
import { GeorgianCalendar } from './georgian.calendar';
|
6
|
+
export const AX_DATETIME_CONFIG = new InjectionToken('AX_DATETIME_CONFIG', {
|
7
|
+
providedIn: 'root',
|
8
|
+
factory: () => {
|
9
|
+
const global = inject(AX_GLOBAL_CONFIG);
|
10
|
+
set(global, "dateTime", AX_DATETIME_CONFIG);
|
11
|
+
return AXDateTimeDefaultConfig;
|
12
|
+
},
|
13
|
+
});
|
14
|
+
export const AXDateTimeDefaultConfig = {
|
15
|
+
calendar: 'georgian',
|
16
|
+
calendars: {
|
17
|
+
"georgian": new GeorgianCalendar({
|
18
|
+
dayNames: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'].map(d => ({ long: d, short: d.substring(0, 3), letter: d[0] })),
|
19
|
+
monthNames: [
|
20
|
+
'January',
|
21
|
+
'February',
|
22
|
+
'March',
|
23
|
+
'April',
|
24
|
+
'May',
|
25
|
+
'June',
|
26
|
+
'July',
|
27
|
+
'August',
|
28
|
+
'September',
|
29
|
+
'October',
|
30
|
+
'November',
|
31
|
+
'December',
|
32
|
+
].map(d => ({ long: d, short: d.substring(0, 3), letter: d[0] })),
|
33
|
+
weekend: [6, 7],
|
34
|
+
formats: {
|
35
|
+
dateInput: "yyyy/MM/dd",
|
36
|
+
timeInput: "HH:mm",
|
37
|
+
dateTimeInput: "yyyy/MM/dd HH:mm",
|
38
|
+
dateDisplay: "DDDD, d MMM yyyy",
|
39
|
+
timeDisplay: "HH:mm",
|
40
|
+
dateTimeDisplay: "DDDD, d MMM yyyy HH:mm"
|
41
|
+
}
|
42
|
+
}),
|
43
|
+
"jalali": new JalaliCalendar({
|
44
|
+
monthNames: 'فروردین_اردیبهشت_خرداد_تیر_مرداد_شهریور_مهر_آبان_آذر_دی_بهمن_اسفند'.split('_').map(d => ({ long: d, short: d, letter: d[0] })),
|
45
|
+
dayNames: 'شنبه_یکشنبه_دوشنبه_سه شنبه_چهارشنبه_پنج شنبه_جمعه'.split('_').map(d => ({ long: d, short: d[0], letter: d[0] })),
|
46
|
+
weekend: [7, 1],
|
47
|
+
formats: {
|
48
|
+
dateInput: "yyyy/MM/dd",
|
49
|
+
timeInput: "HH:mm",
|
50
|
+
dateTimeInput: "yyyy/MM/dd HH:mm",
|
51
|
+
dateDisplay: "DDDD, d MMM yyyy",
|
52
|
+
timeDisplay: "HH:mm",
|
53
|
+
dateTimeDisplay: "DDDD, d MMM yyyy HH:mm"
|
54
|
+
}
|
55
|
+
})
|
56
|
+
}
|
57
|
+
};
|
58
|
+
export function dateTimeConfig(config = {}) {
|
59
|
+
const result = {
|
60
|
+
...AXDateTimeDefaultConfig,
|
61
|
+
...config,
|
62
|
+
};
|
63
|
+
return result;
|
64
|
+
}
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVRpbWUuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL2RhdGVUaW1lL3NyYy9saWIvZGF0ZVRpbWUuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBVXZELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNoRCxvQkFBb0IsRUFDcEI7SUFDSSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ1YsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUM1QyxPQUFPLHVCQUF1QixDQUFDO0lBQ25DLENBQUM7Q0FDSixDQUNKLENBQUM7QUFHRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBcUI7SUFDckQsUUFBUSxFQUFFLFVBQVU7SUFDcEIsU0FBUyxFQUFFO1FBQ1AsVUFBVSxFQUFFLElBQUksZ0JBQWdCLENBQUM7WUFDN0IsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hKLFVBQVUsRUFBRTtnQkFDUixTQUFTO2dCQUNULFVBQVU7Z0JBQ1YsT0FBTztnQkFDUCxPQUFPO2dCQUNQLEtBQUs7Z0JBQ0wsTUFBTTtnQkFDTixNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsV0FBVztnQkFDWCxTQUFTO2dCQUNULFVBQVU7Z0JBQ1YsVUFBVTthQUNiLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDZixPQUFPLEVBQUU7Z0JBQ0wsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLFNBQVMsRUFBRSxPQUFPO2dCQUNsQixhQUFhLEVBQUUsa0JBQWtCO2dCQUNqQyxXQUFXLEVBQUUsa0JBQWtCO2dCQUMvQixXQUFXLEVBQUUsT0FBTztnQkFDcEIsZUFBZSxFQUFFLHdCQUF3QjthQUM1QztTQUNKLENBQUM7UUFDRixRQUFRLEVBQUUsSUFBSSxjQUFjLENBQ3hCO1lBQ0ksVUFBVSxFQUFFLG9FQUFvRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNJLFFBQVEsRUFBRSxtREFBbUQsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzSCxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2YsT0FBTyxFQUFFO2dCQUNMLFNBQVMsRUFBRSxZQUFZO2dCQUN2QixTQUFTLEVBQUUsT0FBTztnQkFDbEIsYUFBYSxFQUFFLGtCQUFrQjtnQkFDakMsV0FBVyxFQUFFLGtCQUFrQjtnQkFDL0IsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLGVBQWUsRUFBRSx3QkFBd0I7YUFDNUM7U0FDSixDQUNKO0tBQ0o7Q0FDSixDQUFDO0FBS0YsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFnQyxFQUFFO0lBQzdELE1BQU0sTUFBTSxHQUFHO1FBQ1gsR0FBRyx1QkFBdUI7UUFDMUIsR0FBRyxNQUFNO0tBQ1osQ0FBQztJQUNGLE9BQU8sTUFBTSxDQUFBO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzZXQgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhfR0xPQkFMX0NPTkZJRyB9IGZyb20gJ0BhY29yZXgvY29yZS9jb25maWcnO1xuaW1wb3J0IHsgQVhDYWxlbmRhciB9IGZyb20gJy4vZGF0ZXRpbWUuY2xhc3MnO1xuaW1wb3J0IHsgSmFsYWxpQ2FsZW5kYXIgfSBmcm9tICcuL2phbGFsaS5jYWxlbmRhcic7XG5pbXBvcnQgeyBHZW9yZ2lhbkNhbGVuZGFyIH0gZnJvbSAnLi9nZW9yZ2lhbi5jYWxlbmRhcic7XG5cblxuZXhwb3J0IGludGVyZmFjZSBBWERhdGVUaW1lQ29uZmlnIHtcbiAgICBjYWxlbmRhcjogc3RyaW5nLFxuICAgIGNhbGVuZGFyczoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBBWENhbGVuZGFyXG4gICAgfSxcbn1cblxuZXhwb3J0IGNvbnN0IEFYX0RBVEVUSU1FX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxBWERhdGVUaW1lQ29uZmlnPihcbiAgICAnQVhfREFURVRJTUVfQ09ORklHJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZ2xvYmFsID0gaW5qZWN0KEFYX0dMT0JBTF9DT05GSUcpO1xuICAgICAgICAgICAgc2V0KGdsb2JhbCwgXCJkYXRlVGltZVwiLCBBWF9EQVRFVElNRV9DT05GSUcpO1xuICAgICAgICAgICAgcmV0dXJuIEFYRGF0ZVRpbWVEZWZhdWx0Q29uZmlnO1xuICAgICAgICB9LFxuICAgIH1cbik7XG5cblxuZXhwb3J0IGNvbnN0IEFYRGF0ZVRpbWVEZWZhdWx0Q29uZmlnOiBBWERhdGVUaW1lQ29uZmlnID0ge1xuICAgIGNhbGVuZGFyOiAnZ2VvcmdpYW4nLFxuICAgIGNhbGVuZGFyczoge1xuICAgICAgICBcImdlb3JnaWFuXCI6IG5ldyBHZW9yZ2lhbkNhbGVuZGFyKHtcbiAgICAgICAgICAgIGRheU5hbWVzOiBbJ1N1bmRheScsICdNb25kYXknLCAnVHVlc2RheScsICdXZWRuZXNkYXknLCAnVGh1cnNkYXknLCAnRnJpZGF5JywgJ1NhdHVyZGF5J10ubWFwKGQgPT4gKHsgbG9uZzogZCwgc2hvcnQ6IGQuc3Vic3RyaW5nKDAsIDMpLCBsZXR0ZXI6IGRbMF0gfSkpLFxuICAgICAgICAgICAgbW9udGhOYW1lczogW1xuICAgICAgICAgICAgICAgICdKYW51YXJ5JyxcbiAgICAgICAgICAgICAgICAnRmVicnVhcnknLFxuICAgICAgICAgICAgICAgICdNYXJjaCcsXG4gICAgICAgICAgICAgICAgJ0FwcmlsJyxcbiAgICAgICAgICAgICAgICAnTWF5JyxcbiAgICAgICAgICAgICAgICAnSnVuZScsXG4gICAgICAgICAgICAgICAgJ0p1bHknLFxuICAgICAgICAgICAgICAgICdBdWd1c3QnLFxuICAgICAgICAgICAgICAgICdTZXB0ZW1iZXInLFxuICAgICAgICAgICAgICAgICdPY3RvYmVyJyxcbiAgICAgICAgICAgICAgICAnTm92ZW1iZXInLFxuICAgICAgICAgICAgICAgICdEZWNlbWJlcicsXG4gICAgICAgICAgICBdLm1hcChkID0+ICh7IGxvbmc6IGQsIHNob3J0OiBkLnN1YnN0cmluZygwLCAzKSwgbGV0dGVyOiBkWzBdIH0pKSxcbiAgICAgICAgICAgIHdlZWtlbmQ6IFs2LCA3XSxcbiAgICAgICAgICAgIGZvcm1hdHM6IHtcbiAgICAgICAgICAgICAgICBkYXRlSW5wdXQ6IFwieXl5eS9NTS9kZFwiLFxuICAgICAgICAgICAgICAgIHRpbWVJbnB1dDogXCJISDptbVwiLFxuICAgICAgICAgICAgICAgIGRhdGVUaW1lSW5wdXQ6IFwieXl5eS9NTS9kZCBISDptbVwiLFxuICAgICAgICAgICAgICAgIGRhdGVEaXNwbGF5OiBcIkREREQsIGQgTU1NIHl5eXlcIixcbiAgICAgICAgICAgICAgICB0aW1lRGlzcGxheTogXCJISDptbVwiLFxuICAgICAgICAgICAgICAgIGRhdGVUaW1lRGlzcGxheTogXCJERERELCBkIE1NTSB5eXl5IEhIOm1tXCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIFwiamFsYWxpXCI6IG5ldyBKYWxhbGlDYWxlbmRhcihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtb250aE5hbWVzOiAn2YHYsdmI2LHYr9uM2YZf2KfYsdiv24zYqNmH2LTYql/Yrtix2K/Yp9ivX9iq24zYsV/Zhdix2K/Yp9ivX9i02YfYsduM2YjYsV/ZhdmH2LFf2KLYqNin2YZf2KLYsNixX9iv24xf2KjZh9mF2YZf2KfYs9mB2YbYrycuc3BsaXQoJ18nKS5tYXAoZCA9PiAoeyBsb25nOiBkLCBzaG9ydDogZCwgbGV0dGVyOiBkWzBdIH0pKSxcbiAgICAgICAgICAgICAgICBkYXlOYW1lczogJ9i02YbYqNmHX9uM2qnYtNmG2KjZh1/Yr9mI2LTZhtio2Ydf2LPZhyDYtNmG2KjZh1/ahtmH2KfYsdi02YbYqNmHX9m+2YbYrCDYtNmG2KjZh1/YrNmF2LnZhycuc3BsaXQoJ18nKS5tYXAoZCA9PiAoeyBsb25nOiBkLCBzaG9ydDogZFswXSwgbGV0dGVyOiBkWzBdIH0pKSxcbiAgICAgICAgICAgICAgICB3ZWVrZW5kOiBbNywgMV0sXG4gICAgICAgICAgICAgICAgZm9ybWF0czoge1xuICAgICAgICAgICAgICAgICAgICBkYXRlSW5wdXQ6IFwieXl5eS9NTS9kZFwiLFxuICAgICAgICAgICAgICAgICAgICB0aW1lSW5wdXQ6IFwiSEg6bW1cIixcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVRpbWVJbnB1dDogXCJ5eXl5L01NL2RkIEhIOm1tXCIsXG4gICAgICAgICAgICAgICAgICAgIGRhdGVEaXNwbGF5OiBcIkREREQsIGQgTU1NIHl5eXlcIixcbiAgICAgICAgICAgICAgICAgICAgdGltZURpc3BsYXk6IFwiSEg6bW1cIixcbiAgICAgICAgICAgICAgICAgICAgZGF0ZVRpbWVEaXNwbGF5OiBcIkREREQsIGQgTU1NIHl5eXkgSEg6bW1cIlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgIH1cbn07XG5cblxuZXhwb3J0IHR5cGUgUGFydGlhbERhdGVUaW1lQ29uZmlnID0gUGFydGlhbDxBWERhdGVUaW1lQ29uZmlnPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVUaW1lQ29uZmlnKGNvbmZpZzogUGFydGlhbERhdGVUaW1lQ29uZmlnID0ge30pOiBBWERhdGVUaW1lQ29uZmlnIHtcbiAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgIC4uLkFYRGF0ZVRpbWVEZWZhdWx0Q29uZmlnLFxuICAgICAgICAuLi5jb25maWcsXG4gICAgfTtcbiAgICByZXR1cm4gcmVzdWx0XG59Il19
|