nxt-pick-datetime 18.0.0 → 19.0.0
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/fesm2022/nxt-pick-datetime-moment-adapter.mjs +23 -26
- package/fesm2022/nxt-pick-datetime-moment-adapter.mjs.map +1 -1
- package/fesm2022/nxt-pick-datetime-native-adapter.mjs +22 -24
- package/fesm2022/nxt-pick-datetime-native-adapter.mjs.map +1 -1
- package/fesm2022/nxt-pick-datetime.mjs +76 -74
- package/fesm2022/nxt-pick-datetime.mjs.map +1 -1
- package/lib/class/date-time.class.d.ts +1 -1
- package/moment-adapter/moment-adapter.module.d.ts +2 -0
- package/moment-adapter/public-api.d.ts +1 -1
- package/native-adapter/native-adapter.module.d.ts +2 -0
- package/native-adapter/public-api.d.ts +1 -1
- package/package.json +9 -14
- package/esm2022/lib/class/date-time-adapter.class.mjs +0 -97
- package/esm2022/lib/class/date-time-format.class.mjs +0 -4
- package/esm2022/lib/class/date-time.class.mjs +0 -95
- package/esm2022/lib/class/dialog-config.class.mjs +0 -47
- package/esm2022/lib/class/dialog-ref.class.mjs +0 -119
- package/esm2022/lib/date-time/calendar/calendar.component.mjs +0 -346
- package/esm2022/lib/date-time/calendar-body/calendar-body.component.mjs +0 -151
- package/esm2022/lib/date-time/calendar-month-view/calendar-month-view.component.mjs +0 -429
- package/esm2022/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.mjs +0 -358
- package/esm2022/lib/date-time/calendar-year-view/calendar-year-view.component.mjs +0 -362
- package/esm2022/lib/date-time/date-time-inline/date-time-inline.component.mjs +0 -275
- package/esm2022/lib/date-time/date-time-picker/date-time-picker.component.mjs +0 -541
- package/esm2022/lib/date-time/date-time-picker-container/date-time-picker-container.animations.mjs +0 -19
- package/esm2022/lib/date-time/date-time-picker-container/date-time-picker-container.component.mjs +0 -389
- package/esm2022/lib/date-time/date-time-picker-input.directive.mjs +0 -618
- package/esm2022/lib/date-time/date-time-picker-intl.service.mjs +0 -61
- package/esm2022/lib/date-time/date-time-picker-trigger.directive.mjs +0 -70
- package/esm2022/lib/date-time/date-time.module.mjs +0 -96
- package/esm2022/lib/date-time/number-fixed-len.pipe.mjs +0 -22
- package/esm2022/lib/date-time/timer/timer.component.mjs +0 -299
- package/esm2022/lib/date-time/timer-box/timer-box.component.mjs +0 -95
- package/esm2022/lib/dialog/dialog-container/dialog-container.component.mjs +0 -248
- package/esm2022/lib/dialog/dialog.module.mjs +0 -42
- package/esm2022/lib/dialog/dialog.service.mjs +0 -251
- package/esm2022/lib/utils/object.mjs +0 -24
- package/esm2022/moment-adapter/date-time-adapter.class.mjs +0 -220
- package/esm2022/moment-adapter/date-time-format.class.mjs +0 -13
- package/esm2022/moment-adapter/moment-adapter.module.mjs +0 -37
- package/esm2022/moment-adapter/nxt-pick-datetime-moment-adapter.mjs +0 -5
- package/esm2022/moment-adapter/public-api.mjs +0 -3
- package/esm2022/native-adapter/date-time-adapter.class.mjs +0 -366
- package/esm2022/native-adapter/date-time-format.class.mjs +0 -13
- package/esm2022/native-adapter/native-adapter.module.mjs +0 -37
- package/esm2022/native-adapter/nxt-pick-datetime-native-adapter.mjs +0 -5
- package/esm2022/native-adapter/public-api.mjs +0 -2
- package/esm2022/nxt-pick-datetime.mjs +0 -5
- package/esm2022/public-api.mjs +0 -14
|
@@ -72,5 +72,5 @@ export declare abstract class DateTimeDirective<T> {
|
|
|
72
72
|
constructor(dateTimeAdapter: DateTimeAdapter<T>, dateTimeFormats: DateTimeFormats);
|
|
73
73
|
protected getValidDate(obj: any): T | undefined;
|
|
74
74
|
static ɵfac: i0.ɵɵFactoryDeclaration<DateTimeDirective<any>, never>;
|
|
75
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DateTimeDirective<any>, never, never, { "showSecondsTimer": { "alias": "showSecondsTimer"; "required": false; }; "hour12Timer": { "alias": "hour12Timer"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "stepHour": { "alias": "stepHour"; "required": false; }; "stepMinute": { "alias": "stepMinute"; "required": false; }; "stepSecond": { "alias": "stepSecond"; "required": false; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "hideOtherMonths": { "alias": "hideOtherMonths"; "required": false; }; }, {}, never, never,
|
|
75
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DateTimeDirective<any>, never, never, { "showSecondsTimer": { "alias": "showSecondsTimer"; "required": false; }; "hour12Timer": { "alias": "hour12Timer"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "stepHour": { "alias": "stepHour"; "required": false; }; "stepMinute": { "alias": "stepMinute"; "required": false; }; "stepSecond": { "alias": "stepSecond"; "required": false; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; "hideOtherMonths": { "alias": "hideOtherMonths"; "required": false; }; }, {}, never, never, true, never>;
|
|
76
76
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { Provider } from '@angular/core';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
export declare function provideMomentDateTimeAdapter(): Provider[];
|
|
2
4
|
export declare class MomentDateTimeModule {
|
|
3
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<MomentDateTimeModule, never>;
|
|
4
6
|
static ɵmod: i0.ɵɵNgModuleDeclaration<MomentDateTimeModule, never, never, never>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { MomentDateTimeAdapterOptions, NXT_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from './date-time-adapter.class';
|
|
2
|
-
export { MomentDateTimeModule } from './moment-adapter.module';
|
|
2
|
+
export { MomentDateTimeModule, provideMomentDateTimeAdapter } from './moment-adapter.module';
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { Provider } from '@angular/core';
|
|
1
2
|
import * as i0 from "@angular/core";
|
|
2
3
|
import * as i1 from "@angular/cdk/platform";
|
|
4
|
+
export declare function provideNativeDateTimeAdapter(): Provider[];
|
|
3
5
|
export declare class NativeDateTimeModule {
|
|
4
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<NativeDateTimeModule, never>;
|
|
5
7
|
static ɵmod: i0.ɵɵNgModuleDeclaration<NativeDateTimeModule, never, [typeof i1.PlatformModule], never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { NativeDateTimeModule } from './native-adapter.module';
|
|
1
|
+
export { NativeDateTimeModule, provideNativeDateTimeAdapter } from './native-adapter.module';
|
package/package.json
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
"name": "nxt-pick-datetime",
|
|
3
3
|
"description": "Date time picker for Angular",
|
|
4
4
|
"bugs": "https://github.com/Liquid-JS/nxt-components/issues",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "19.0.0",
|
|
6
6
|
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
7
8
|
"repository": "https://github.com/Liquid-JS/nxt-components.git",
|
|
8
9
|
"homepage": "https://github.com/Liquid-JS/nxt-components/tree/master/packages/pick-datetime",
|
|
9
10
|
"keywords": [
|
|
@@ -19,17 +20,17 @@
|
|
|
19
20
|
"picker"
|
|
20
21
|
],
|
|
21
22
|
"peerDependencies": {
|
|
22
|
-
"@angular/animations": "^
|
|
23
|
-
"@angular/cdk": "^
|
|
24
|
-
"@angular/common": "^
|
|
25
|
-
"@angular/core": "^
|
|
26
|
-
"@angular/forms": "^
|
|
27
|
-
"@angular/localize": "^
|
|
23
|
+
"@angular/animations": "^19.0.0",
|
|
24
|
+
"@angular/cdk": "^19.0.0",
|
|
25
|
+
"@angular/common": "^19.0.0",
|
|
26
|
+
"@angular/core": "^19.0.0",
|
|
27
|
+
"@angular/forms": "^19.0.0",
|
|
28
|
+
"@angular/localize": "^19.0.0",
|
|
28
29
|
"moment": "^2.30.1",
|
|
29
30
|
"rxjs": "^7.8.1"
|
|
30
31
|
},
|
|
31
32
|
"dependencies": {
|
|
32
|
-
"tslib": "^2.
|
|
33
|
+
"tslib": "^2.8.1"
|
|
33
34
|
},
|
|
34
35
|
"exports": {
|
|
35
36
|
"./assets/picker.scss": {
|
|
@@ -40,20 +41,14 @@
|
|
|
40
41
|
},
|
|
41
42
|
".": {
|
|
42
43
|
"types": "./index.d.ts",
|
|
43
|
-
"esm2022": "./esm2022/nxt-pick-datetime.mjs",
|
|
44
|
-
"esm": "./esm2022/nxt-pick-datetime.mjs",
|
|
45
44
|
"default": "./fesm2022/nxt-pick-datetime.mjs"
|
|
46
45
|
},
|
|
47
46
|
"./moment-adapter": {
|
|
48
47
|
"types": "./moment-adapter/index.d.ts",
|
|
49
|
-
"esm2022": "./esm2022/moment-adapter/nxt-pick-datetime-moment-adapter.mjs",
|
|
50
|
-
"esm": "./esm2022/moment-adapter/nxt-pick-datetime-moment-adapter.mjs",
|
|
51
48
|
"default": "./fesm2022/nxt-pick-datetime-moment-adapter.mjs"
|
|
52
49
|
},
|
|
53
50
|
"./native-adapter": {
|
|
54
51
|
"types": "./native-adapter/index.d.ts",
|
|
55
|
-
"esm2022": "./esm2022/native-adapter/nxt-pick-datetime-native-adapter.mjs",
|
|
56
|
-
"esm": "./esm2022/native-adapter/nxt-pick-datetime-native-adapter.mjs",
|
|
57
52
|
"default": "./fesm2022/nxt-pick-datetime-native-adapter.mjs"
|
|
58
53
|
}
|
|
59
54
|
},
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
|
-
export class DateTimeAdapter {
|
|
3
|
-
constructor() {
|
|
4
|
-
/** A stream that emits when the locale changes */
|
|
5
|
-
this._localeChanges = new Subject();
|
|
6
|
-
/** total milliseconds in a day */
|
|
7
|
-
this.millisecondsInDay = 86400000;
|
|
8
|
-
/** total milliseconds in a minute */
|
|
9
|
-
this.milliseondsInMinute = 60000;
|
|
10
|
-
}
|
|
11
|
-
get localeChanges() {
|
|
12
|
-
return this._localeChanges;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Compare two given dates
|
|
16
|
-
* 1 if the first date is after the second,
|
|
17
|
-
* -1 if the first date is before the second
|
|
18
|
-
* 0 if dates are equal.
|
|
19
|
-
* */
|
|
20
|
-
compare(first, second) {
|
|
21
|
-
if (!this.isValid(first) || !this.isValid(second)) {
|
|
22
|
-
throw Error('JSNativeDate: Cannot compare invalid dates.');
|
|
23
|
-
}
|
|
24
|
-
const dateFirst = this.clone(first);
|
|
25
|
-
const dateSecond = this.clone(second);
|
|
26
|
-
const diff = this.getTime(dateFirst) - this.getTime(dateSecond);
|
|
27
|
-
if (diff < 0) {
|
|
28
|
-
return -1;
|
|
29
|
-
}
|
|
30
|
-
else if (diff > 0) {
|
|
31
|
-
return 1;
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
// Return 0 if diff is 0; return NaN if diff is NaN
|
|
35
|
-
return diff;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Check if two given dates are in the same year
|
|
40
|
-
* 1 if the first date's year is after the second,
|
|
41
|
-
* -1 if the first date's year is before the second
|
|
42
|
-
* 0 if two given dates are in the same year
|
|
43
|
-
* */
|
|
44
|
-
compareYear(first, second) {
|
|
45
|
-
if (!this.isValid(first) || !this.isValid(second)) {
|
|
46
|
-
throw Error('JSNativeDate: Cannot compare invalid dates.');
|
|
47
|
-
}
|
|
48
|
-
const yearLeft = this.getYear(first);
|
|
49
|
-
const yearRight = this.getYear(second);
|
|
50
|
-
const diff = yearLeft - yearRight;
|
|
51
|
-
if (diff < 0) {
|
|
52
|
-
return -1;
|
|
53
|
-
}
|
|
54
|
-
else if (diff > 0) {
|
|
55
|
-
return 1;
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
return 0;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Attempts to deserialize a value to a valid date object. This is different from parsing in that
|
|
63
|
-
* deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
|
|
64
|
-
* string). The default implementation does not allow any deserialization, it simply checks that
|
|
65
|
-
* the given value is already a valid date object or null. The `<mat-datepicker>` will call this
|
|
66
|
-
* method on all of it's `@Input()` properties that accept dates. It is therefore possible to
|
|
67
|
-
* support passing values from your backend directly to these properties by overriding this method
|
|
68
|
-
* to also deserialize the format used by your backend.
|
|
69
|
-
*/
|
|
70
|
-
deserialize(value) {
|
|
71
|
-
if (value == null || value == undefined ||
|
|
72
|
-
(this.isDateInstance(value) && this.isValid(value))) {
|
|
73
|
-
return value;
|
|
74
|
-
}
|
|
75
|
-
return this.invalid();
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Sets the locale used for all dates.
|
|
79
|
-
*/
|
|
80
|
-
setLocale(locale) {
|
|
81
|
-
this.locale = locale;
|
|
82
|
-
this._localeChanges.next();
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Clamp the given date between min and max dates.
|
|
86
|
-
*/
|
|
87
|
-
clampDate(date, min, max) {
|
|
88
|
-
if (min && this.compare(date, min) < 0) {
|
|
89
|
-
return min;
|
|
90
|
-
}
|
|
91
|
-
if (max && this.compare(date, max) > 0) {
|
|
92
|
-
return max;
|
|
93
|
-
}
|
|
94
|
-
return date;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9waWNrLWRhdGV0aW1lL3NyYy9saWIvY2xhc3MvZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQyxNQUFNLE9BQWdCLGVBQWU7SUFBckM7UUFJSSxrREFBa0Q7UUFDeEMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBSzlDLGtDQUFrQztRQUNmLHNCQUFpQixHQUFHLFFBQVEsQ0FBQTtRQUUvQyxxQ0FBcUM7UUFDbEIsd0JBQW1CLEdBQUcsS0FBSyxDQUFBO0lBc1FsRCxDQUFDO0lBOVFHLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUM5QixDQUFDO0lBa0xEOzs7OztTQUtLO0lBQ0wsT0FBTyxDQUFDLEtBQVMsRUFBRSxNQUFVO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hELE1BQU0sS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7UUFDOUQsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUVyQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7UUFFL0QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ2IsQ0FBQzthQUFNLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxDQUFBO1FBQ1osQ0FBQzthQUFNLENBQUM7WUFDSixtREFBbUQ7WUFDbkQsT0FBTyxJQUFJLENBQUE7UUFDZixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7OztTQUtLO0lBQ0wsV0FBVyxDQUFDLEtBQVMsRUFBRSxNQUFVO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2hELE1BQU0sS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7UUFDOUQsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDcEMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUV0QyxNQUFNLElBQUksR0FBRyxRQUFRLEdBQUcsU0FBUyxDQUFBO1FBRWpDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUNiLENBQUM7YUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNsQixPQUFPLENBQUMsQ0FBQTtRQUNaLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLENBQUE7UUFDWixDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsV0FBVyxDQUFDLEtBQVU7UUFDbEIsSUFDSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTO1lBQ25DLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3JELENBQUM7WUFDQyxPQUFPLEtBQUssQ0FBQTtRQUNoQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLE1BQVc7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUE7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsSUFBTyxFQUFFLEdBQU8sRUFBRSxHQUFPO1FBQy9CLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sR0FBRyxDQUFBO1FBQ2QsQ0FBQztRQUNELElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU8sR0FBRyxDQUFBO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZVRpbWVBZGFwdGVyPFQ+IHtcclxuICAgIC8qKiBUaGUgbG9jYWxlIHRvIHVzZSBmb3IgYWxsIGRhdGVzICovXHJcbiAgICBwcm90ZWN0ZWQgbG9jYWxlOiBhbnlcclxuXHJcbiAgICAvKiogQSBzdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHRoZSBsb2NhbGUgY2hhbmdlcyAqL1xyXG4gICAgcHJvdGVjdGVkIF9sb2NhbGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKVxyXG4gICAgZ2V0IGxvY2FsZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZUNoYW5nZXNcclxuICAgIH1cclxuXHJcbiAgICAvKiogdG90YWwgbWlsbGlzZWNvbmRzIGluIGEgZGF5ICovXHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWlsbGlzZWNvbmRzSW5EYXkgPSA4NjQwMDAwMFxyXG5cclxuICAgIC8qKiB0b3RhbCBtaWxsaXNlY29uZHMgaW4gYSBtaW51dGUgKi9cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBtaWxsaXNlb25kc0luTWludXRlID0gNjAwMDBcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZVxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBnZXRZZWFyKGRhdGU/OiBUKTogbnVtYmVyXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIG1vbnRoIG9mIHRoZSBnaXZlbiBkYXRlXHJcbiAgICAgKiAwIC0tIEphbnVhcnlcclxuICAgICAqIDExIC0tIERlY2VtYmVyXHJcbiAgICAgKiAqL1xyXG4gICAgYWJzdHJhY3QgZ2V0TW9udGgoZGF0ZT86IFQpOiBudW1iZXJcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgZGF5IG9mIHRoZSB3ZWVrIG9mIHRoZSBnaXZlbiBkYXRlXHJcbiAgICAgKiAwIC0tIFN1bmRheVxyXG4gICAgICogNiAtLSBTYXR1cmRheVxyXG4gICAgICogKi9cclxuICAgIGFic3RyYWN0IGdldERheShkYXRlPzogVCk6IG51bWJlclxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHRoZSBkYXkgbnVtIG9mIHRoZSBnaXZlbiBkYXRlXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGdldERhdGUoZGF0ZT86IFQpOiBudW1iZXJcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgaG91cnMgb2YgdGhlIGdpdmVuIGRhdGVcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgZ2V0SG91cnMoZGF0ZT86IFQpOiBudW1iZXJcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgbWludXRlcyBvZiB0aGUgZ2l2ZW4gZGF0ZVxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBnZXRNaW51dGVzKGRhdGU/OiBUKTogbnVtYmVyXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIHNlY29uZHMgb2YgdGhlIGdpdmVuIGRhdGVcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgZ2V0U2Vjb25kcyhkYXRlPzogVCk6IG51bWJlclxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHRoZSBtaWxsaXNlY29uZHMgdGltZXN0YW1wIG9mIHRoZSBnaXZlbiBkYXRlXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGdldFRpbWUoZGF0ZT86IFQpOiBudW1iZXJcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIG51bWJlciBvZiBkYXlzIGluIHRoZSBtb250aCBvZiB0aGUgZ2l2ZW4gZGF0ZS5cclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgZ2V0TnVtRGF5c0luTW9udGgoZGF0ZT86IFQpOiBudW1iZXJcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXHJcbiAgICAgKiBJZiBkYXRlTGVmdCBpcyBiZWZvcmUgZGF0ZVJpZ2h0LCBpdCB3b3VsZCByZXR1cm4gcG9zaXRpdmUgdmFsdWVcclxuICAgICAqIElmIGRhdGVMZWZ0IGlzIGFmdGVyIGRhdGVSaWdodCwgaXQgd291bGQgcmV0dXJuIG5lZ2F0aXZlIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhkYXRlTGVmdD86IFQsIGRhdGVSaWdodD86IFQpOiBudW1iZXIgfCB1bmRlZmluZWRcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgdGhlIG5hbWUgZm9yIHRoZSB5ZWFyIG9mIHRoZSBnaXZlbiBkYXRlLlxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBnZXRZZWFyTmFtZShkYXRlPzogVCk6IHN0cmluZ1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IGEgbGlzdCBvZiBtb250aCBuYW1lc1xyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBnZXRNb250aE5hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IGEgbGlzdCBvZiB3ZWVrIG5hbWVzXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhIGxpc3Qgb2YgbmFtZXMgZm9yIHRoZSBkYXRlcyBvZiB0aGUgbW9udGguXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGdldERhdGVOYW1lcygpOiBzdHJpbmdbXVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIGEgRGF0ZSBvYmplY3QgYXMgYSBzdHJpbmcsIHVzaW5nIHRoZSBJU08gc3RhbmRhcmRcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgdG9Jc284NjAxKGRhdGU6IFQpOiBzdHJpbmdcclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGlmIHRoZSBnaXZlIGRhdGVzIGFyZSBlcXVhbFxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBpc0VxdWFsKGRhdGVMZWZ0PzogVCwgZGF0ZVJpZ2h0PzogVCk6IGJvb2xlYW5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGlmIHRoZSBnaXZlIGRhdGVzIGFyZSB0aGUgc2FtZSBkYXlcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgaXNTYW1lRGF5KGRhdGVMZWZ0PzogVCwgZGF0ZVJpZ2h0PzogVCk6IGJvb2xlYW5cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBkYXRlIGlzIHZhbGlkLlxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBpc1ZhbGlkKGRhdGU/OiBUKTogYm9vbGVhblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBkYXRlIGluc3RhbmNlIHRoYXQgaXMgbm90IHZhbGlkLlxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBpbnZhbGlkKCk6IFRcclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBvYmplY3QgaXMgY29uc2lkZXJlZCBhIGRhdGUgaW5zdGFuY2UgYnkgdGhpcyBEYXRlVGltZUFkYXB0ZXIuXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHllYXJzIHRvIHRoZSBnaXZlbiBkYXRlXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGFkZENhbGVuZGFyWWVhcnMoZGF0ZTogVCB8IHVuZGVmaW5lZCwgYW1vdW50OiBudW1iZXIpOiBUXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgbW9udGhzIHRvIHRoZSBnaXZlbiBkYXRlXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IFQgfCB1bmRlZmluZWQsIGFtb3VudDogbnVtYmVyKTogVFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRheXMgdG8gdGhlIGdpdmVuIGRhdGVcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IFQgfCB1bmRlZmluZWQsIGFtb3VudDogbnVtYmVyKTogVFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0IHRoZSBob3VycyB0byB0aGUgZ2l2ZW4gZGF0ZS5cclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3Qgc2V0SG91cnMoZGF0ZTogVCB8IHVuZGVmaW5lZCwgYW1vdW50OiBudW1iZXIpOiBUXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgdGhlIG1pbnV0ZXMgdG8gdGhlIGdpdmVuIGRhdGUuXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IHNldE1pbnV0ZXMoZGF0ZTogVCB8IHVuZGVmaW5lZCwgYW1vdW50OiBudW1iZXIpOiBUXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgdGhlIHNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IHNldFNlY29uZHMoZGF0ZTogVCB8IHVuZGVmaW5lZCwgYW1vdW50OiBudW1iZXIpOiBUXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGEgZGF0ZSB3aXRoIHRoZSBnaXZlbiB5ZWFyLCBtb250aCwgZGF0ZSwgaG91ciwgbWludXRlIGFuZCBzZWNvbmQuIERvZXMgbm90IGFsbG93IG92ZXIvdW5kZXItZmxvdyBvZiB0aGVcclxuICAgICAqIG1vbnRoIGFuZCBkYXRlLlxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogVFxyXG4gICAgYWJzdHJhY3QgY3JlYXRlRGF0ZShcclxuICAgICAgICB5ZWFyOiBudW1iZXIsXHJcbiAgICAgICAgbW9udGg6IG51bWJlcixcclxuICAgICAgICBkYXRlOiBudW1iZXIsXHJcbiAgICAgICAgaG91cnM6IG51bWJlcixcclxuICAgICAgICBtaW51dGVzOiBudW1iZXIsXHJcbiAgICAgICAgc2Vjb25kczogbnVtYmVyXHJcbiAgICApOiBUXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbG9uZSB0aGUgZ2l2ZW4gZGF0ZVxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBjbG9uZShkYXRlPzogVCk6IFRcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCBhIG5ldyBtb21lbnRcclxuICAgICAqICovXHJcbiAgICBhYnN0cmFjdCBub3coKTogVFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9ybWF0cyBhIGRhdGUgYXMgYSBzdHJpbmcgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiBmb3JtYXQuXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGZvcm1hdChkYXRlOiBUIHwgdW5kZWZpbmVkLCBkaXNwbGF5Rm9ybWF0OiBhbnkpOiBzdHJpbmdcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhcnNlIGEgdXNlci1wcm92aWRlZCB2YWx1ZSB0byBhIERhdGUgT2JqZWN0XHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IHBhcnNlKHZhbHVlOiBhbnksIHBhcnNlRm9ybWF0OiBhbnkpOiBUIHwgdW5kZWZpbmVkXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb21wYXJlIHR3byBnaXZlbiBkYXRlc1xyXG4gICAgICogMSBpZiB0aGUgZmlyc3QgZGF0ZSBpcyBhZnRlciB0aGUgc2Vjb25kLFxyXG4gICAgICogLTEgaWYgdGhlIGZpcnN0IGRhdGUgaXMgYmVmb3JlIHRoZSBzZWNvbmRcclxuICAgICAqIDAgaWYgZGF0ZXMgYXJlIGVxdWFsLlxyXG4gICAgICogKi9cclxuICAgIGNvbXBhcmUoZmlyc3Q/OiBULCBzZWNvbmQ/OiBUKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZChmaXJzdCkgfHwgIXRoaXMuaXNWYWxpZChzZWNvbmQpKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdKU05hdGl2ZURhdGU6IENhbm5vdCBjb21wYXJlIGludmFsaWQgZGF0ZXMuJylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGRhdGVGaXJzdCA9IHRoaXMuY2xvbmUoZmlyc3QpXHJcbiAgICAgICAgY29uc3QgZGF0ZVNlY29uZCA9IHRoaXMuY2xvbmUoc2Vjb25kKVxyXG5cclxuICAgICAgICBjb25zdCBkaWZmID0gdGhpcy5nZXRUaW1lKGRhdGVGaXJzdCkgLSB0aGlzLmdldFRpbWUoZGF0ZVNlY29uZClcclxuXHJcbiAgICAgICAgaWYgKGRpZmYgPCAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiAtMVxyXG4gICAgICAgIH0gZWxzZSBpZiAoZGlmZiA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIDFcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBSZXR1cm4gMCBpZiBkaWZmIGlzIDA7IHJldHVybiBOYU4gaWYgZGlmZiBpcyBOYU5cclxuICAgICAgICAgICAgcmV0dXJuIGRpZmZcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0d28gZ2l2ZW4gZGF0ZXMgYXJlIGluIHRoZSBzYW1lIHllYXJcclxuICAgICAqIDEgaWYgdGhlIGZpcnN0IGRhdGUncyB5ZWFyIGlzIGFmdGVyIHRoZSBzZWNvbmQsXHJcbiAgICAgKiAtMSBpZiB0aGUgZmlyc3QgZGF0ZSdzIHllYXIgaXMgYmVmb3JlIHRoZSBzZWNvbmRcclxuICAgICAqIDAgaWYgdHdvIGdpdmVuIGRhdGVzIGFyZSBpbiB0aGUgc2FtZSB5ZWFyXHJcbiAgICAgKiAqL1xyXG4gICAgY29tcGFyZVllYXIoZmlyc3Q/OiBULCBzZWNvbmQ/OiBUKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZChmaXJzdCkgfHwgIXRoaXMuaXNWYWxpZChzZWNvbmQpKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdKU05hdGl2ZURhdGU6IENhbm5vdCBjb21wYXJlIGludmFsaWQgZGF0ZXMuJylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHllYXJMZWZ0ID0gdGhpcy5nZXRZZWFyKGZpcnN0KVxyXG4gICAgICAgIGNvbnN0IHllYXJSaWdodCA9IHRoaXMuZ2V0WWVhcihzZWNvbmQpXHJcblxyXG4gICAgICAgIGNvbnN0IGRpZmYgPSB5ZWFyTGVmdCAtIHllYXJSaWdodFxyXG5cclxuICAgICAgICBpZiAoZGlmZiA8IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIC0xXHJcbiAgICAgICAgfSBlbHNlIGlmIChkaWZmID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gMVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxyXG4gICAgICogZGVzZXJpYWxpemUgc2hvdWxkIG9ubHkgYWNjZXB0IG5vbi1hbWJpZ3VvdXMsIGxvY2FsZS1pbmRlcGVuZGVudCBmb3JtYXRzIChlLmcuIGEgSVNPIDg2MDFcclxuICAgICAqIHN0cmluZykuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGFsbG93IGFueSBkZXNlcmlhbGl6YXRpb24sIGl0IHNpbXBseSBjaGVja3MgdGhhdFxyXG4gICAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLiBUaGUgYDxtYXQtZGF0ZXBpY2tlcj5gIHdpbGwgY2FsbCB0aGlzXHJcbiAgICAgKiBtZXRob2Qgb24gYWxsIG9mIGl0J3MgYEBJbnB1dCgpYCBwcm9wZXJ0aWVzIHRoYXQgYWNjZXB0IGRhdGVzLiBJdCBpcyB0aGVyZWZvcmUgcG9zc2libGUgdG9cclxuICAgICAqIHN1cHBvcnQgcGFzc2luZyB2YWx1ZXMgZnJvbSB5b3VyIGJhY2tlbmQgZGlyZWN0bHkgdG8gdGhlc2UgcHJvcGVydGllcyBieSBvdmVycmlkaW5nIHRoaXMgbWV0aG9kXHJcbiAgICAgKiB0byBhbHNvIGRlc2VyaWFsaXplIHRoZSBmb3JtYXQgdXNlZCBieSB5b3VyIGJhY2tlbmQuXHJcbiAgICAgKi9cclxuICAgIGRlc2VyaWFsaXplKHZhbHVlOiBhbnkpOiBUIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgICAgICAgICh0aGlzLmlzRGF0ZUluc3RhbmNlKHZhbHVlKSAmJiB0aGlzLmlzVmFsaWQodmFsdWUpKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWVcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBsb2NhbGUgdXNlZCBmb3IgYWxsIGRhdGVzLlxyXG4gICAgICovXHJcbiAgICBzZXRMb2NhbGUobG9jYWxlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZVxyXG4gICAgICAgIHRoaXMuX2xvY2FsZUNoYW5nZXMubmV4dCgpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbGFtcCB0aGUgZ2l2ZW4gZGF0ZSBiZXR3ZWVuIG1pbiBhbmQgbWF4IGRhdGVzLlxyXG4gICAgICovXHJcbiAgICBjbGFtcERhdGUoZGF0ZTogVCwgbWluPzogVCwgbWF4PzogVCk6IFQge1xyXG4gICAgICAgIGlmIChtaW4gJiYgdGhpcy5jb21wYXJlKGRhdGUsIG1pbikgPCAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBtaW5cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG1heCAmJiB0aGlzLmNvbXBhcmUoZGF0ZSwgbWF4KSA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIG1heFxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZGF0ZVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
/** InjectionToken for date time picker that can be used to override default format */
|
|
3
|
-
export const NXT_DATE_TIME_FORMATS = new InjectionToken('NXT_DATE_TIME_FORMATS');
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWZvcm1hdC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BpY2stZGF0ZXRpbWUvc3JjL2xpYi9jbGFzcy9kYXRlLXRpbWUtZm9ybWF0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFZOUMsc0ZBQXNGO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFrQix1QkFBdUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRlVGltZUZvcm1hdHMge1xyXG4gICAgcGFyc2VJbnB1dDogYW55XHJcbiAgICBmdWxsUGlja2VySW5wdXQ6IGFueVxyXG4gICAgZGF0ZVBpY2tlcklucHV0OiBhbnlcclxuICAgIHRpbWVQaWNrZXJJbnB1dDogYW55XHJcbiAgICBtb250aFllYXJMYWJlbDogYW55XHJcbiAgICBkYXRlQTExeUxhYmVsOiBhbnlcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogYW55XHJcbn1cclxuXHJcbi8qKiBJbmplY3Rpb25Ub2tlbiBmb3IgZGF0ZSB0aW1lIHBpY2tlciB0aGF0IGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIGRlZmF1bHQgZm9ybWF0ICovXHJcbmV4cG9ydCBjb25zdCBOWFRfREFURV9USU1FX0ZPUk1BVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGF0ZVRpbWVGb3JtYXRzPignTlhUX0RBVEVfVElNRV9GT1JNQVRTJylcclxuIl19
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { Directive, Inject, Input } from '@angular/core';
|
|
2
|
-
import { NXT_DATE_TIME_FORMATS } from './date-time-format.class';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./date-time-adapter.class";
|
|
5
|
-
/** @internal */
|
|
6
|
-
let nextUniqueId = 0;
|
|
7
|
-
export class DateTimeDirective {
|
|
8
|
-
get formatString() {
|
|
9
|
-
return this.pickerType === 'both'
|
|
10
|
-
? this.dateTimeFormats.fullPickerInput
|
|
11
|
-
: this.pickerType === 'calendar'
|
|
12
|
-
? this.dateTimeFormats.datePickerInput
|
|
13
|
-
: this.dateTimeFormats.timePickerInput;
|
|
14
|
-
}
|
|
15
|
-
get disabled() {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
constructor(dateTimeAdapter, dateTimeFormats) {
|
|
19
|
-
this.dateTimeAdapter = dateTimeAdapter;
|
|
20
|
-
this.dateTimeFormats = dateTimeFormats;
|
|
21
|
-
/**
|
|
22
|
-
* When true, shows a timer to configure the seconds value
|
|
23
|
-
*/
|
|
24
|
-
this.showSecondsTimer = false;
|
|
25
|
-
/**
|
|
26
|
-
* When true, the timer will be in 12-hour format mode
|
|
27
|
-
*/
|
|
28
|
-
this.hour12Timer = false;
|
|
29
|
-
/**
|
|
30
|
-
* The view that the calendar should start on
|
|
31
|
-
*/
|
|
32
|
-
this.startView = 'month';
|
|
33
|
-
/**
|
|
34
|
-
* Hours to change per step
|
|
35
|
-
*/
|
|
36
|
-
this.stepHour = 1;
|
|
37
|
-
/**
|
|
38
|
-
* Minutes to change per step
|
|
39
|
-
*/
|
|
40
|
-
this.stepMinute = 1;
|
|
41
|
-
/**
|
|
42
|
-
* Seconds to change per step
|
|
43
|
-
*/
|
|
44
|
-
this.stepSecond = 1;
|
|
45
|
-
/**
|
|
46
|
-
* Set the first day of week
|
|
47
|
-
*
|
|
48
|
-
* Valid values are from 0 [Sunday] to 6 [Saturday]
|
|
49
|
-
*/
|
|
50
|
-
this.firstDayOfWeek = 0;
|
|
51
|
-
/**
|
|
52
|
-
* If true, don't show dates from preious / next month on the calendar month view
|
|
53
|
-
*/
|
|
54
|
-
this.hideOtherMonths = false;
|
|
55
|
-
this.id = `nxt-dt-picker-${nextUniqueId++}`;
|
|
56
|
-
/**
|
|
57
|
-
* Date Time Checker to check if the give dateTime is selectable
|
|
58
|
-
*/
|
|
59
|
-
this.dateTimeChecker = (dateTime) => (!!dateTime &&
|
|
60
|
-
(!this.dateTimeFilter || this.dateTimeFilter(dateTime)) &&
|
|
61
|
-
(!this.min || this.dateTimeAdapter.compare(dateTime, this.min) >= 0) &&
|
|
62
|
-
(!this.max || this.dateTimeAdapter.compare(dateTime, this.max) <= 0));
|
|
63
|
-
}
|
|
64
|
-
getValidDate(obj) {
|
|
65
|
-
return this.dateTimeAdapter.isDateInstance(obj) &&
|
|
66
|
-
this.dateTimeAdapter.isValid(obj)
|
|
67
|
-
? obj
|
|
68
|
-
: undefined;
|
|
69
|
-
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DateTimeDirective, deps: [{ token: i1.DateTimeAdapter }, { token: NXT_DATE_TIME_FORMATS }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
71
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: DateTimeDirective, inputs: { showSecondsTimer: "showSecondsTimer", hour12Timer: "hour12Timer", startView: "startView", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond", firstDayOfWeek: "firstDayOfWeek", hideOtherMonths: "hideOtherMonths" }, ngImport: i0 }); }
|
|
72
|
-
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DateTimeDirective, decorators: [{
|
|
74
|
-
type: Directive
|
|
75
|
-
}], ctorParameters: () => [{ type: i1.DateTimeAdapter }, { type: undefined, decorators: [{
|
|
76
|
-
type: Inject,
|
|
77
|
-
args: [NXT_DATE_TIME_FORMATS]
|
|
78
|
-
}] }], propDecorators: { showSecondsTimer: [{
|
|
79
|
-
type: Input
|
|
80
|
-
}], hour12Timer: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], startView: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}], stepHour: [{
|
|
85
|
-
type: Input
|
|
86
|
-
}], stepMinute: [{
|
|
87
|
-
type: Input
|
|
88
|
-
}], stepSecond: [{
|
|
89
|
-
type: Input
|
|
90
|
-
}], firstDayOfWeek: [{
|
|
91
|
-
type: Input
|
|
92
|
-
}], hideOtherMonths: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGljay1kYXRldGltZS9zcmMvbGliL2NsYXNzL2RhdGUtdGltZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXRFLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7O0FBRWpGLGdCQUFnQjtBQUNoQixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUE7QUFlcEIsTUFBTSxPQUFnQixpQkFBaUI7SUErRW5DLElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxNQUFNO1lBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWU7WUFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVTtnQkFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZTtnQkFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFBO0lBQ2xELENBQUM7SUFZRCxJQUFJLFFBQVE7UUFDUixPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBRUQsWUFDdUIsZUFBbUMsRUFFbkMsZUFBZ0M7UUFGaEMsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBRW5DLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQXZHdkQ7O1dBRUc7UUFDTSxxQkFBZ0IsR0FBRyxLQUFLLENBQUE7UUFFakM7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUU1Qjs7V0FFRztRQUNNLGNBQVMsR0FBYSxPQUFPLENBQUE7UUFFdEM7O1dBRUc7UUFDTSxhQUFRLEdBQUcsQ0FBQyxDQUFBO1FBRXJCOztXQUVHO1FBQ00sZUFBVSxHQUFHLENBQUMsQ0FBQTtRQUV2Qjs7V0FFRztRQUNNLGVBQVUsR0FBRyxDQUFDLENBQUE7UUFFdkI7Ozs7V0FJRztRQUNNLG1CQUFjLEdBQUcsQ0FBQyxDQUFBO1FBRTNCOztXQUVHO1FBQ00sb0JBQWUsR0FBRyxLQUFLLENBQUE7UUFFdkIsT0FBRSxHQUFHLGlCQUFpQixZQUFZLEVBQUUsRUFBRSxDQUFBO1FBNEMvQzs7V0FFRztRQUNILG9CQUFlLEdBQUcsQ0FBQyxRQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUMzQyxDQUFDLENBQUMsUUFBUTtZQUNWLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdkUsQ0FBQTtJQVVHLENBQUM7SUFFSyxZQUFZLENBQUMsR0FBUTtRQUMzQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQztZQUMzQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDakMsQ0FBQyxDQUFDLEdBQUc7WUFDTCxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQ25CLENBQUM7OEdBaEhpQixpQkFBaUIsaURBdUd2QixxQkFBcUI7a0dBdkdmLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEdEMsU0FBUzs7MEJBd0dELE1BQU07MkJBQUMscUJBQXFCO3lDQW5HeEIsZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFPRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IERhdGVUaW1lQWRhcHRlciB9IGZyb20gJy4vZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MnXHJcbmltcG9ydCB7IERhdGVUaW1lRm9ybWF0cywgTlhUX0RBVEVfVElNRV9GT1JNQVRTIH0gZnJvbSAnLi9kYXRlLXRpbWUtZm9ybWF0LmNsYXNzJ1xyXG5cclxuLyoqIEBpbnRlcm5hbCAqL1xyXG5sZXQgbmV4dFVuaXF1ZUlkID0gMFxyXG5cclxuZXhwb3J0IHR5cGUgUGlja2VyVHlwZSA9ICdib3RoJyB8ICdjYWxlbmRhcicgfCAndGltZXInXHJcblxyXG5leHBvcnQgdHlwZSBQaWNrZXJNb2RlID0gJ3BvcHVwJyB8ICdkaWFsb2cnIHwgJ2lubGluZSdcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdE1vZGUgPSAnc2luZ2xlJyB8ICdyYW5nZScgfCAncmFuZ2VGcm9tJyB8ICdyYW5nZVRvJ1xyXG5cclxuZXhwb3J0IHR5cGUgUmVuZGVySXRlbSA9ICd5ZWFyJyB8ICdtb250aCcgfCAnZGF0ZSdcclxuXHJcbmV4cG9ydCB0eXBlIFZpZXdUeXBlID0gJ21vbnRoJyB8ICd5ZWFyJyB8ICdtdWx0aS15ZWFycydcclxuXHJcbmV4cG9ydCB0eXBlIERhdGVGaWx0ZXI8VD4gPSAoZGF0ZT86IFQsIGZvclJlbmRlcj86IFJlbmRlckl0ZW0pID0+IGJvb2xlYW5cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZVRpbWVEaXJlY3RpdmU8VD4ge1xyXG4gICAgLyoqXHJcbiAgICAgKiBXaGVuIHRydWUsIHNob3dzIGEgdGltZXIgdG8gY29uZmlndXJlIHRoZSBzZWNvbmRzIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNob3dTZWNvbmRzVGltZXIgPSBmYWxzZVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hlbiB0cnVlLCB0aGUgdGltZXIgd2lsbCBiZSBpbiAxMi1ob3VyIGZvcm1hdCBtb2RlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGhvdXIxMlRpbWVyID0gZmFsc2VcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSB2aWV3IHRoYXQgdGhlIGNhbGVuZGFyIHNob3VsZCBzdGFydCBvblxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzdGFydFZpZXc6IFZpZXdUeXBlID0gJ21vbnRoJ1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSG91cnMgdG8gY2hhbmdlIHBlciBzdGVwXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHN0ZXBIb3VyID0gMVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWludXRlcyB0byBjaGFuZ2UgcGVyIHN0ZXBcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc3RlcE1pbnV0ZSA9IDFcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlY29uZHMgdG8gY2hhbmdlIHBlciBzdGVwXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHN0ZXBTZWNvbmQgPSAxXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXQgdGhlIGZpcnN0IGRheSBvZiB3ZWVrXHJcbiAgICAgKlxyXG4gICAgICogVmFsaWQgdmFsdWVzIGFyZSBmcm9tIDAgW1N1bmRheV0gdG8gNiBbU2F0dXJkYXldXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrID0gMFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSWYgdHJ1ZSwgZG9uJ3Qgc2hvdyBkYXRlcyBmcm9tIHByZWlvdXMgLyBuZXh0IG1vbnRoIG9uIHRoZSBjYWxlbmRhciBtb250aCB2aWV3XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGhpZGVPdGhlck1vbnRocyA9IGZhbHNlXHJcblxyXG4gICAgcmVhZG9ubHkgaWQgPSBgbnh0LWR0LXBpY2tlci0ke25leHRVbmlxdWVJZCsrfWBcclxuXHJcbiAgICBhYnN0cmFjdCBnZXQgc2VsZWN0ZWQoKTogVCB8IHVuZGVmaW5lZFxyXG5cclxuICAgIGFic3RyYWN0IGdldCBzZWxlY3RlZHMoKTogQXJyYXk8VCB8IHVuZGVmaW5lZD5cclxuXHJcbiAgICBhYnN0cmFjdCBnZXQgZGF0ZVRpbWVGaWx0ZXIoKTogRGF0ZUZpbHRlcjxUPiB8IHVuZGVmaW5lZFxyXG5cclxuICAgIGFic3RyYWN0IGdldCBtYXgoKTogVCB8IHVuZGVmaW5lZFxyXG5cclxuICAgIGFic3RyYWN0IGdldCBtaW4oKTogVCB8IHVuZGVmaW5lZFxyXG5cclxuICAgIGFic3RyYWN0IGdldCBzZWxlY3RNb2RlKCk6IFNlbGVjdE1vZGUgfCB1bmRlZmluZWRcclxuXHJcbiAgICBhYnN0cmFjdCBnZXQgc3RhcnRBdCgpOiBUIHwgdW5kZWZpbmVkXHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0IGlzT3BlbigpOiBib29sZWFuXHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0IHBpY2tlck1vZGUoKTogUGlja2VyTW9kZVxyXG5cclxuICAgIGFic3RyYWN0IGdldCBwaWNrZXJUeXBlKCk6IFBpY2tlclR5cGVcclxuXHJcbiAgICBhYnN0cmFjdCBnZXQgaXNJblNpbmdsZU1vZGUoKTogYm9vbGVhblxyXG5cclxuICAgIGFic3RyYWN0IGdldCBpc0luUmFuZ2VNb2RlKCk6IGJvb2xlYW5cclxuXHJcbiAgICBhYnN0cmFjdCBzZWxlY3QoZGF0ZTogVCB8IEFycmF5PFQgfCB1bmRlZmluZWQ+KTogdm9pZFxyXG5cclxuICAgIGFic3RyYWN0IHllYXJTZWxlY3RlZDogRXZlbnRFbWl0dGVyPFQ+XHJcblxyXG4gICAgYWJzdHJhY3QgbW9udGhTZWxlY3RlZDogRXZlbnRFbWl0dGVyPFQ+XHJcblxyXG4gICAgYWJzdHJhY3Qgc2VsZWN0WWVhcihub3JtYWxpemVkWWVhcjogVCk6IHZvaWRcclxuXHJcbiAgICBhYnN0cmFjdCBzZWxlY3RNb250aChub3JtYWxpemVkTW9udGg6IFQpOiB2b2lkXHJcblxyXG4gICAgZ2V0IGZvcm1hdFN0cmluZygpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlclR5cGUgPT09ICdib3RoJ1xyXG4gICAgICAgICAgICA/IHRoaXMuZGF0ZVRpbWVGb3JtYXRzLmZ1bGxQaWNrZXJJbnB1dFxyXG4gICAgICAgICAgICA6IHRoaXMucGlja2VyVHlwZSA9PT0gJ2NhbGVuZGFyJ1xyXG4gICAgICAgICAgICAgICAgPyB0aGlzLmRhdGVUaW1lRm9ybWF0cy5kYXRlUGlja2VySW5wdXRcclxuICAgICAgICAgICAgICAgIDogdGhpcy5kYXRlVGltZUZvcm1hdHMudGltZVBpY2tlcklucHV0XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEYXRlIFRpbWUgQ2hlY2tlciB0byBjaGVjayBpZiB0aGUgZ2l2ZSBkYXRlVGltZSBpcyBzZWxlY3RhYmxlXHJcbiAgICAgKi9cclxuICAgIGRhdGVUaW1lQ2hlY2tlciA9IChkYXRlVGltZTogVCB8IHVuZGVmaW5lZCkgPT4gKFxyXG4gICAgICAgICEhZGF0ZVRpbWUgJiZcclxuICAgICAgICAoIXRoaXMuZGF0ZVRpbWVGaWx0ZXIgfHwgdGhpcy5kYXRlVGltZUZpbHRlcihkYXRlVGltZSkpICYmXHJcbiAgICAgICAgKCF0aGlzLm1pbiB8fCB0aGlzLmRhdGVUaW1lQWRhcHRlci5jb21wYXJlKGRhdGVUaW1lLCB0aGlzLm1pbikgPj0gMCkgJiZcclxuICAgICAgICAoIXRoaXMubWF4IHx8IHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmNvbXBhcmUoZGF0ZVRpbWUsIHRoaXMubWF4KSA8PSAwKVxyXG4gICAgKVxyXG5cclxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gZmFsc2VcclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0ZVRpbWVBZGFwdGVyOiBEYXRlVGltZUFkYXB0ZXI8VD4sXHJcbiAgICAgICAgQEluamVjdChOWFRfREFURV9USU1FX0ZPUk1BVFMpXHJcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGVUaW1lRm9ybWF0czogRGF0ZVRpbWVGb3JtYXRzXHJcbiAgICApIHsgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRWYWxpZERhdGUob2JqOiBhbnkpOiBUIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRlVGltZUFkYXB0ZXIuaXNEYXRlSW5zdGFuY2Uob2JqKSAmJlxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUaW1lQWRhcHRlci5pc1ZhbGlkKG9iailcclxuICAgICAgICAgICAgPyBvYmpcclxuICAgICAgICAgICAgOiB1bmRlZmluZWRcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { NoopScrollStrategy } from '@angular/cdk/overlay';
|
|
2
|
-
/** @internal */
|
|
3
|
-
let uniqueId = 0;
|
|
4
|
-
export class DialogConfig {
|
|
5
|
-
constructor() {
|
|
6
|
-
/**
|
|
7
|
-
* Whether to focus the dialog when the dialog is isOpen
|
|
8
|
-
*/
|
|
9
|
-
this.autoFocus = true;
|
|
10
|
-
/** Whether the dialog has a backdrop */
|
|
11
|
-
this.hasBackdrop = true;
|
|
12
|
-
/** Whether the user can use escape or clicking outside to close a modal */
|
|
13
|
-
this.disableClose = false;
|
|
14
|
-
/**
|
|
15
|
-
* The ARIA role of the dialog element.
|
|
16
|
-
*/
|
|
17
|
-
this.role = 'dialog';
|
|
18
|
-
/**
|
|
19
|
-
* Custom class for the pane
|
|
20
|
-
*/
|
|
21
|
-
this.paneClass = '';
|
|
22
|
-
/**
|
|
23
|
-
* Custom class for the backdrop
|
|
24
|
-
*/
|
|
25
|
-
this.backdropClass = '';
|
|
26
|
-
/**
|
|
27
|
-
* Whether the dialog should close when the user goes backwards/forwards in history.
|
|
28
|
-
*/
|
|
29
|
-
this.closeOnNavigation = true;
|
|
30
|
-
/** Width of the dialog */
|
|
31
|
-
this.width = '';
|
|
32
|
-
/** Height of the dialog */
|
|
33
|
-
this.height = '';
|
|
34
|
-
/**
|
|
35
|
-
* The max-width of the overlay panel.
|
|
36
|
-
* If a number is provided, pixel units are assumed.
|
|
37
|
-
*/
|
|
38
|
-
this.maxWidth = '85vw';
|
|
39
|
-
/**
|
|
40
|
-
* The scroll strategy when the dialog is open
|
|
41
|
-
* Learn more this from https://material.angular.io/cdk/overlay/overview#scroll-strategies
|
|
42
|
-
*/
|
|
43
|
-
this.scrollStrategy = new NoopScrollStrategy();
|
|
44
|
-
this.id = `nxt-dialog-${uniqueId++}`;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BpY2stZGF0ZXRpbWUvc3JjL2xpYi9jbGFzcy9kaWFsb2ctY29uZmlnLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUd6RSxnQkFBZ0I7QUFDaEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0FBaUJoQixNQUFNLE9BQU8sWUFBWTtJQWdHckI7UUExRkE7O1dBRUc7UUFDSCxjQUFTLEdBQUcsSUFBSSxDQUFBO1FBRWhCLHdDQUF3QztRQUN4QyxnQkFBVyxHQUFHLElBQUksQ0FBQTtRQVVsQiwyRUFBMkU7UUFDM0UsaUJBQVksR0FBRyxLQUFLLENBQUE7UUFPcEI7O1dBRUc7UUFDSCxTQUFJLEdBQThCLFFBQVEsQ0FBQTtRQUUxQzs7V0FFRztRQUNILGNBQVMsR0FBdUIsRUFBRSxDQUFBO1FBT2xDOztXQUVHO1FBQ0gsa0JBQWEsR0FBdUIsRUFBRSxDQUFBO1FBRXRDOztXQUVHO1FBQ0gsc0JBQWlCLEdBQWEsSUFBSSxDQUFBO1FBRWxDLDBCQUEwQjtRQUMxQixVQUFLLEdBQVksRUFBRSxDQUFBO1FBRW5CLDJCQUEyQjtRQUMzQixXQUFNLEdBQVksRUFBRSxDQUFBO1FBY3BCOzs7V0FHRztRQUNILGFBQVEsR0FBcUIsTUFBTSxDQUFBO1FBV25DOzs7V0FHRztRQUNILG1CQUFjLEdBQW9CLElBQUksa0JBQWtCLEVBQUUsQ0FBQTtRQUt0RCxJQUFJLENBQUMsRUFBRSxHQUFHLGNBQWMsUUFBUSxFQUFFLEVBQUUsQ0FBQTtJQUN4QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb29wU2Nyb2xsU3RyYXRlZ3ksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXHJcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5cclxuLyoqIEBpbnRlcm5hbCAqL1xyXG5sZXQgdW5pcXVlSWQgPSAwXHJcblxyXG4vKiogUG9zc2libGUgb3ZlcnJpZGVzIGZvciBhIGRpYWxvZydzIHBvc2l0aW9uICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nUG9zaXRpb24ge1xyXG4gICAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgdG9wIHBvc2l0aW9uICovXHJcbiAgICB0b3A/OiBzdHJpbmdcclxuXHJcbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBkaWFsb2cncyBib3R0b20gcG9zaXRpb24gKi9cclxuICAgIGJvdHRvbT86IHN0cmluZ1xyXG5cclxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIGxlZnQgcG9zaXRpb24gKi9cclxuICAgIGxlZnQ/OiBzdHJpbmdcclxuXHJcbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBkaWFsb2cncyByaWdodCBwb3NpdGlvbiAqL1xyXG4gICAgcmlnaHQ/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbmZpZyB7XHJcbiAgICAvKipcclxuICAgICAqIElEIG9mIHRoZSBlbGVtZW50IHRoYXQgZGVzY3JpYmVzIHRoZSBkaWFsb2cuXHJcbiAgICAgKi9cclxuICAgIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZ1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBmb2N1cyB0aGUgZGlhbG9nIHdoZW4gdGhlIGRpYWxvZyBpcyBpc09wZW5cclxuICAgICAqL1xyXG4gICAgYXV0b0ZvY3VzID0gdHJ1ZVxyXG5cclxuICAgIC8qKiBXaGV0aGVyIHRoZSBkaWFsb2cgaGFzIGEgYmFja2Ryb3AgKi9cclxuICAgIGhhc0JhY2tkcm9wPz0gdHJ1ZVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3VzdG9tIHN0eWxlIGZvciB0aGUgYmFja2Ryb3BcclxuICAgICAqL1xyXG4gICAgYmFja2Ryb3BTdHlsZT86IGFueVxyXG5cclxuICAgIC8qKiBEYXRhIGJlaW5nIGluamVjdGVkIGludG8gdGhlIGNoaWxkIGNvbXBvbmVudCAqL1xyXG4gICAgZGF0YT86IGFueVxyXG5cclxuICAgIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGNhbiB1c2UgZXNjYXBlIG9yIGNsaWNraW5nIG91dHNpZGUgdG8gY2xvc2UgYSBtb2RhbCAqL1xyXG4gICAgZGlzYWJsZUNsb3NlPz0gZmFsc2VcclxuXHJcbiAgICAvKipcclxuICAgICAqIElEIGZvciB0aGUgbW9kYWwuIElmIG9taXR0ZWQsIGEgdW5pcXVlIG9uZSB3aWxsIGJlIGdlbmVyYXRlZC5cclxuICAgICAqL1xyXG4gICAgaWQ/OiBzdHJpbmdcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBBUklBIHJvbGUgb2YgdGhlIGRpYWxvZyBlbGVtZW50LlxyXG4gICAgICovXHJcbiAgICByb2xlPzogJ2RpYWxvZycgfCAnYWxlcnRkaWFsb2cnID0gJ2RpYWxvZydcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIHBhbmVcclxuICAgICAqL1xyXG4gICAgcGFuZUNsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnJ1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW91c2UgRXZlbnRcclxuICAgICAqL1xyXG4gICAgZXZlbnQ/OiBNb3VzZUV2ZW50XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDdXN0b20gY2xhc3MgZm9yIHRoZSBiYWNrZHJvcFxyXG4gICAgICovXHJcbiAgICBiYWNrZHJvcENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnJ1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCBjbG9zZSB3aGVuIHRoZSB1c2VyIGdvZXMgYmFja3dhcmRzL2ZvcndhcmRzIGluIGhpc3RvcnkuXHJcbiAgICAgKi9cclxuICAgIGNsb3NlT25OYXZpZ2F0aW9uPzogYm9vbGVhbiA9IHRydWVcclxuXHJcbiAgICAvKiogV2lkdGggb2YgdGhlIGRpYWxvZyAqL1xyXG4gICAgd2lkdGg/OiBzdHJpbmcgPSAnJ1xyXG5cclxuICAgIC8qKiBIZWlnaHQgb2YgdGhlIGRpYWxvZyAqL1xyXG4gICAgaGVpZ2h0Pzogc3RyaW5nID0gJydcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtaW4td2lkdGggb2YgdGhlIG92ZXJsYXkgcGFuZWwuXHJcbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXHJcbiAgICAgKi9cclxuICAgIG1pbldpZHRoPzogbnVtYmVyIHwgc3RyaW5nXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWluLWhlaWdodCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cclxuICAgICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cclxuICAgICAqL1xyXG4gICAgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWF4LXdpZHRoIG9mIHRoZSBvdmVybGF5IHBhbmVsLlxyXG4gICAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxyXG4gICAgICovXHJcbiAgICBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZyA9ICc4NXZ3J1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1heC1oZWlnaHQgb2YgdGhlIG92ZXJsYXkgcGFuZWwuXHJcbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXHJcbiAgICAgKi9cclxuICAgIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xyXG5cclxuICAgIC8qKiBQb3NpdGlvbiBvdmVycmlkZXMgKi9cclxuICAgIHBvc2l0aW9uPzogRGlhbG9nUG9zaXRpb25cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBzY3JvbGwgc3RyYXRlZ3kgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5cclxuICAgICAqIExlYXJuIG1vcmUgdGhpcyBmcm9tIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jZGsvb3ZlcmxheS9vdmVydmlldyNzY3JvbGwtc3RyYXRlZ2llc1xyXG4gICAgICovXHJcbiAgICBzY3JvbGxTdHJhdGVneT86IFNjcm9sbFN0cmF0ZWd5ID0gbmV3IE5vb3BTY3JvbGxTdHJhdGVneSgpXHJcblxyXG4gICAgdmlld0NvbnRhaW5lclJlZj86IFZpZXdDb250YWluZXJSZWZcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmlkID0gYG54dC1kaWFsb2ctJHt1bmlxdWVJZCsrfWBcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
|
-
import { filter, take } from 'rxjs/operators';
|
|
3
|
-
export class DialogRef {
|
|
4
|
-
constructor(overlayRef, container, id, location) {
|
|
5
|
-
this.overlayRef = overlayRef;
|
|
6
|
-
this.container = container;
|
|
7
|
-
this.id = id;
|
|
8
|
-
this._beforeClose$ = new Subject();
|
|
9
|
-
this._afterOpen$ = new Subject();
|
|
10
|
-
this._afterClosed$ = new Subject();
|
|
11
|
-
/** Whether the user is allowed to close the dialog */
|
|
12
|
-
this.disableClose = !!this.container.config?.disableClose;
|
|
13
|
-
this.container.animationStateChanged
|
|
14
|
-
.pipe(filter((event) => event.phaseName === 'done' && event.toState === 'enter'), take(1))
|
|
15
|
-
.subscribe(() => {
|
|
16
|
-
this._afterOpen$.next(undefined);
|
|
17
|
-
this._afterOpen$.complete();
|
|
18
|
-
});
|
|
19
|
-
this.container.animationStateChanged
|
|
20
|
-
.pipe(filter((event) => event.phaseName === 'done' && event.toState === 'exit'), take(1))
|
|
21
|
-
.subscribe(() => {
|
|
22
|
-
this.overlayRef.dispose();
|
|
23
|
-
this.locationChanged?.unsubscribe();
|
|
24
|
-
this.locationChanged = undefined;
|
|
25
|
-
this._afterClosed$.next(this.result);
|
|
26
|
-
this._afterClosed$.complete();
|
|
27
|
-
this.componentInstance = undefined;
|
|
28
|
-
});
|
|
29
|
-
this.overlayRef.keydownEvents()
|
|
30
|
-
.pipe(filter(event => event.code.toLowerCase() === 'escape' && !this.disableClose))
|
|
31
|
-
.subscribe(() => this.close());
|
|
32
|
-
if (location) {
|
|
33
|
-
this.locationChanged = location.subscribe(() => {
|
|
34
|
-
if (this.container.config?.closeOnNavigation) {
|
|
35
|
-
this.close();
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
close(dialogResult) {
|
|
41
|
-
this.result = dialogResult;
|
|
42
|
-
this.container.animationStateChanged
|
|
43
|
-
.pipe(filter((event) => event.phaseName === 'start'), take(1))
|
|
44
|
-
.subscribe(() => {
|
|
45
|
-
this._beforeClose$.next(dialogResult);
|
|
46
|
-
this._beforeClose$.complete();
|
|
47
|
-
this.overlayRef.detachBackdrop();
|
|
48
|
-
});
|
|
49
|
-
this.container.startExitAnimation();
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Gets an observable that emits when the overlay's backdrop has been clicked.
|
|
53
|
-
*/
|
|
54
|
-
backdropClick() {
|
|
55
|
-
return this.overlayRef.backdropClick();
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Gets an observable that emits when keydown events are targeted on the overlay.
|
|
59
|
-
*/
|
|
60
|
-
keydownEvents() {
|
|
61
|
-
return this.overlayRef.keydownEvents();
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Updates the dialog's position.
|
|
65
|
-
*
|
|
66
|
-
* @param position New dialog position.
|
|
67
|
-
*/
|
|
68
|
-
updatePosition(position) {
|
|
69
|
-
const strategy = this.getPositionStrategy();
|
|
70
|
-
if (position && (position.left || position.right)) {
|
|
71
|
-
if (position.left)
|
|
72
|
-
strategy.left(position.left);
|
|
73
|
-
else
|
|
74
|
-
strategy.right(position.right);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
strategy.centerHorizontally();
|
|
78
|
-
}
|
|
79
|
-
if (position && (position.top || position.bottom)) {
|
|
80
|
-
if (position.top)
|
|
81
|
-
strategy.top(position.top);
|
|
82
|
-
else
|
|
83
|
-
strategy.bottom(position.bottom);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
strategy.centerVertically();
|
|
87
|
-
}
|
|
88
|
-
this.overlayRef.updatePosition();
|
|
89
|
-
return this;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Updates the dialog's width and height.
|
|
93
|
-
*
|
|
94
|
-
* @param width New width of the dialog.
|
|
95
|
-
* @param height New height of the dialog.
|
|
96
|
-
*/
|
|
97
|
-
updateSize(width = 'auto', height = 'auto') {
|
|
98
|
-
this.overlayRef.updateSize({ width, height });
|
|
99
|
-
this.overlayRef.updatePosition();
|
|
100
|
-
return this;
|
|
101
|
-
}
|
|
102
|
-
isAnimating() {
|
|
103
|
-
return this.container.isAnimating;
|
|
104
|
-
}
|
|
105
|
-
afterOpen() {
|
|
106
|
-
return this._afterOpen$.asObservable();
|
|
107
|
-
}
|
|
108
|
-
beforeClose() {
|
|
109
|
-
return this._beforeClose$.asObservable();
|
|
110
|
-
}
|
|
111
|
-
afterClosed() {
|
|
112
|
-
return this._afterClosed$.asObservable();
|
|
113
|
-
}
|
|
114
|
-
/** Fetches the position strategy object from the overlay ref */
|
|
115
|
-
getPositionStrategy() {
|
|
116
|
-
return this.overlayRef.getConfig().positionStrategy;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BpY2stZGF0ZXRpbWUvc3JjL2xpYi9jbGFzcy9kaWFsb2ctcmVmLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxPQUFPLEVBQXFDLE1BQU0sTUFBTSxDQUFBO0FBQ2pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFJN0MsTUFBTSxPQUFPLFNBQVM7SUFxQmxCLFlBQ3FCLFVBQXNCLEVBQ3RCLFNBQW1DLEVBQzNDLEVBQVcsRUFDcEIsUUFBbUI7UUFIRixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGNBQVMsR0FBVCxTQUFTLENBQTBCO1FBQzNDLE9BQUUsR0FBRixFQUFFLENBQVM7UUFwQlAsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBRW5DLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQTtRQUVqQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUFVcEQsc0RBQXNEO1FBQ3RELGlCQUFZLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQTtRQVFoRCxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQjthQUMvQixJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFDMUYsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUE7UUFD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UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLGdCQUEwQyxDQUFBO0lBQ2pGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucydcclxuaW1wb3J0IHsgR2xvYmFsUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5J1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uTGlrZSBhcyBJU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2RpYWxvZy9kaWFsb2ctY29udGFpbmVyL2RpYWxvZy1jb250YWluZXIuY29tcG9uZW50J1xyXG5pbXBvcnQgeyBEaWFsb2dQb3NpdGlvbiB9IGZyb20gJy4vZGlhbG9nLWNvbmZpZy5jbGFzcydcclxuXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dSZWY8VD4ge1xyXG5cclxuICAgIHByaXZhdGUgcmVzdWx0OiBhbnlcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9iZWZvcmVDbG9zZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpXHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJPcGVuJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hZnRlckNsb3NlZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpXHJcblxyXG4gICAgLyoqIFN1YnNjcmlwdGlvbiB0byBjaGFuZ2VzIGluIHRoZSB1c2VyJ3MgbG9jYXRpb24gKi9cclxuICAgIHByaXZhdGUgbG9jYXRpb25DaGFuZ2VkPzogSVN1YnNjcmlwdGlvblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGluc3RhbmNlIG9mIGNvbXBvbmVudCBpc09wZW4gaW50byBtb2RhbFxyXG4gICAgICovXHJcbiAgICBjb21wb25lbnRJbnN0YW5jZT86IFRcclxuXHJcbiAgICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIGNsb3NlIHRoZSBkaWFsb2cgKi9cclxuICAgIGRpc2FibGVDbG9zZSA9ICEhdGhpcy5jb250YWluZXIuY29uZmlnPy5kaXNhYmxlQ2xvc2VcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjb250YWluZXI6IERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCxcclxuICAgICAgICByZWFkb25seSBpZD86IHN0cmluZyxcclxuICAgICAgICBsb2NhdGlvbj86IExvY2F0aW9uXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5hbmltYXRpb25TdGF0ZUNoYW5nZWRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnZG9uZScgJiYgZXZlbnQudG9TdGF0ZSA9PT0gJ2VudGVyJyksXHJcbiAgICAgICAgICAgICAgICB0YWtlKDEpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlck9wZW4kLm5leHQodW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWZ0ZXJPcGVuJC5jb21wbGV0ZSgpXHJcbiAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFuaW1hdGlvblN0YXRlQ2hhbmdlZFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSA9PiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnZXhpdCcpLFxyXG4gICAgICAgICAgICAgICAgdGFrZSgxKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbkNoYW5nZWQ/LnVuc3Vic2NyaWJlKClcclxuICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb25DaGFuZ2VkID0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlckNsb3NlZCQubmV4dCh0aGlzLnJlc3VsdClcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FmdGVyQ2xvc2VkJC5jb21wbGV0ZSgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKClcclxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50LmNvZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2VzY2FwZScgJiYgIXRoaXMuZGlzYWJsZUNsb3NlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpXHJcblxyXG4gICAgICAgIGlmIChsb2NhdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uQ2hhbmdlZCA9IGxvY2F0aW9uLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250YWluZXIuY29uZmlnPy5jbG9zZU9uTmF2aWdhdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbG9zZShkaWFsb2dSZXN1bHQ/OiBhbnkpIHtcclxuICAgICAgICB0aGlzLnJlc3VsdCA9IGRpYWxvZ1Jlc3VsdFxyXG5cclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5hbmltYXRpb25TdGF0ZUNoYW5nZWRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnc3RhcnQnKSxcclxuICAgICAgICAgICAgICAgIHRha2UoMSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2JlZm9yZUNsb3NlJC5uZXh0KGRpYWxvZ1Jlc3VsdClcclxuICAgICAgICAgICAgICAgIHRoaXMuX2JlZm9yZUNsb3NlJC5jb21wbGV0ZSgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoQmFja2Ryb3AoKVxyXG4gICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5zdGFydEV4aXRBbmltYXRpb24oKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiB0aGUgb3ZlcmxheSdzIGJhY2tkcm9wIGhhcyBiZWVuIGNsaWNrZWQuXHJcbiAgICAgKi9cclxuICAgIGJhY2tkcm9wQ2xpY2soKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKClcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4ga2V5ZG93biBldmVudHMgYXJlIHRhcmdldGVkIG9uIHRoZSBvdmVybGF5LlxyXG4gICAgICovXHJcbiAgICBrZXlkb3duRXZlbnRzKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBVcGRhdGVzIHRoZSBkaWFsb2cncyBwb3NpdGlvbi5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gcG9zaXRpb24gTmV3IGRpYWxvZyBwb3NpdGlvbi5cclxuICAgICAqL1xyXG4gICAgdXBkYXRlUG9zaXRpb24ocG9zaXRpb24/OiBEaWFsb2dQb3NpdGlvbik6IHRoaXMge1xyXG4gICAgICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5nZXRQb3NpdGlvblN0cmF0ZWd5KClcclxuXHJcbiAgICAgICAgaWYgKHBvc2l0aW9uICYmIChwb3NpdGlvbi5sZWZ0IHx8IHBvc2l0aW9uLnJpZ2h0KSkge1xyXG4gICAgICAgICAgICBpZiAocG9zaXRpb24ubGVmdClcclxuICAgICAgICAgICAgICAgIHN0cmF0ZWd5LmxlZnQocG9zaXRpb24ubGVmdClcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgc3RyYXRlZ3kucmlnaHQocG9zaXRpb24ucmlnaHQpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc3RyYXRlZ3kuY2VudGVySG9yaXpvbnRhbGx5KClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChwb3NpdGlvbiAmJiAocG9zaXRpb24udG9wIHx8IHBvc2l0aW9uLmJvdHRvbSkpIHtcclxuICAgICAgICAgICAgaWYgKHBvc2l0aW9uLnRvcClcclxuICAgICAgICAgICAgICAgIHN0cmF0ZWd5LnRvcChwb3NpdGlvbi50b3ApXHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHN0cmF0ZWd5LmJvdHRvbShwb3NpdGlvbi5ib3R0b20pXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc3RyYXRlZ3kuY2VudGVyVmVydGljYWxseSgpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB0aGUgZGlhbG9nJ3Mgd2lkdGggYW5kIGhlaWdodC5cclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0gd2lkdGggTmV3IHdpZHRoIG9mIHRoZSBkaWFsb2cuXHJcbiAgICAgKiBAcGFyYW0gaGVpZ2h0IE5ldyBoZWlnaHQgb2YgdGhlIGRpYWxvZy5cclxuICAgICAqL1xyXG4gICAgdXBkYXRlU2l6ZSh3aWR0aDogc3RyaW5nID0gJ2F1dG8nLCBoZWlnaHQ6IHN0cmluZyA9ICdhdXRvJyk6IHRoaXMge1xyXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgd2lkdGgsIGhlaWdodCB9KVxyXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvbigpXHJcbiAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgIH1cclxuXHJcbiAgICBpc0FuaW1hdGluZygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuaXNBbmltYXRpbmdcclxuICAgIH1cclxuXHJcbiAgICBhZnRlck9wZW4oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FmdGVyT3BlbiQuYXNPYnNlcnZhYmxlKClcclxuICAgIH1cclxuXHJcbiAgICBiZWZvcmVDbG9zZSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYmVmb3JlQ2xvc2UkLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICB9XHJcblxyXG4gICAgYWZ0ZXJDbG9zZWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FmdGVyQ2xvc2VkJC5hc09ic2VydmFibGUoKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBGZXRjaGVzIHRoZSBwb3NpdGlvbiBzdHJhdGVneSBvYmplY3QgZnJvbSB0aGUgb3ZlcmxheSByZWYgKi9cclxuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25TdHJhdGVneSgpOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVmLmdldENvbmZpZygpLnBvc2l0aW9uU3RyYXRlZ3kgYXMgR2xvYmFsUG9zaXRpb25TdHJhdGVneVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|