nxt-pick-datetime 16.0.0-alpha.1 → 16.0.0-alpha.8
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/{esm2020 → esm2022}/lib/class/date-time-adapter.class.mjs +96 -96
- package/{esm2020 → esm2022}/lib/class/date-time-format.class.mjs +3 -3
- package/esm2022/lib/class/date-time.class.mjs +96 -0
- package/{esm2020 → esm2022}/lib/class/dialog-config.class.mjs +46 -46
- package/{esm2020 → esm2022}/lib/class/dialog-ref.class.mjs +118 -118
- package/esm2022/lib/date-time/calendar/calendar.component.mjs +347 -0
- package/esm2022/lib/date-time/calendar-body/calendar-body.component.mjs +152 -0
- package/esm2022/lib/date-time/calendar-month-view/calendar-month-view.component.mjs +430 -0
- package/esm2022/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.mjs +359 -0
- package/esm2022/lib/date-time/calendar-year-view/calendar-year-view.component.mjs +363 -0
- package/esm2022/lib/date-time/date-time-inline/date-time-inline.component.mjs +276 -0
- package/esm2022/lib/date-time/date-time-picker/date-time-picker.component.mjs +542 -0
- package/{esm2020 → esm2022}/lib/date-time/date-time-picker-container/date-time-picker-container.animations.mjs +18 -18
- package/esm2022/lib/date-time/date-time-picker-container/date-time-picker-container.component.mjs +390 -0
- package/esm2022/lib/date-time/date-time-picker-input.directive.mjs +619 -0
- package/esm2022/lib/date-time/date-time-picker-intl.service.mjs +62 -0
- package/esm2022/lib/date-time/date-time-picker-trigger.directive.mjs +71 -0
- package/esm2022/lib/date-time/date-time.module.mjs +97 -0
- package/esm2022/lib/date-time/number-fixed-len.pipe.mjs +23 -0
- package/esm2022/lib/date-time/timer/timer.component.mjs +300 -0
- package/esm2022/lib/date-time/timer-box/timer-box.component.mjs +96 -0
- package/esm2022/lib/dialog/dialog-container/dialog-container.component.mjs +249 -0
- package/esm2022/lib/dialog/dialog.module.mjs +43 -0
- package/esm2022/lib/dialog/dialog.service.mjs +252 -0
- package/esm2022/lib/utils/object.mjs +24 -0
- package/esm2022/moment-adapter/date-time-adapter.class.mjs +221 -0
- package/{esm2020 → esm2022}/moment-adapter/date-time-format.class.mjs +12 -12
- package/esm2022/moment-adapter/moment-adapter.module.mjs +38 -0
- package/{esm2020 → esm2022}/moment-adapter/nxt-pick-datetime-moment-adapter.mjs +4 -4
- package/{esm2020 → esm2022}/moment-adapter/public-api.mjs +2 -2
- package/esm2022/native-adapter/date-time-adapter.class.mjs +367 -0
- package/{esm2020 → esm2022}/native-adapter/date-time-format.class.mjs +12 -12
- package/esm2022/native-adapter/native-adapter.module.mjs +38 -0
- package/{esm2020 → esm2022}/native-adapter/nxt-pick-datetime-native-adapter.mjs +4 -4
- package/{esm2020 → esm2022}/native-adapter/public-api.mjs +1 -1
- package/{esm2020 → esm2022}/nxt-pick-datetime.mjs +4 -4
- package/{esm2020 → esm2022}/public-api.mjs +13 -13
- package/{fesm2020 → fesm2022}/nxt-pick-datetime-moment-adapter.mjs +257 -257
- package/{fesm2020 → fesm2022}/nxt-pick-datetime-moment-adapter.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/nxt-pick-datetime-native-adapter.mjs +402 -402
- package/{fesm2020 → fesm2022}/nxt-pick-datetime-native-adapter.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/nxt-pick-datetime.mjs +4858 -4860
- package/{fesm2020 → fesm2022}/nxt-pick-datetime.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/class/date-time-adapter.class.d.ts +176 -176
- package/lib/class/date-time-format.class.d.ts +12 -12
- package/lib/class/date-time.class.d.ts +76 -76
- package/lib/class/dialog-config.class.d.ts +90 -90
- package/lib/class/dialog-ref.class.d.ts +50 -50
- package/lib/date-time/calendar/calendar.component.d.ts +147 -147
- package/lib/date-time/calendar-body/calendar-body.component.d.ts +79 -79
- package/lib/date-time/calendar-month-view/calendar-month-view.component.d.ts +139 -139
- package/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +115 -115
- package/lib/date-time/calendar-year-view/calendar-year-view.component.d.ts +123 -123
- package/lib/date-time/date-time-inline/date-time-inline.component.d.ts +106 -106
- package/lib/date-time/date-time-picker/date-time-picker.component.d.ts +172 -172
- package/lib/date-time/date-time-picker-container/date-time-picker-container.animations.d.ts +6 -6
- package/lib/date-time/date-time-picker-container/date-time-picker-container.component.d.ts +129 -129
- package/lib/date-time/date-time-picker-input.directive.d.ts +167 -167
- package/lib/date-time/date-time-picker-intl.service.d.ts +51 -51
- package/lib/date-time/date-time-picker-trigger.directive.d.ts +22 -22
- package/lib/date-time/date-time.module.d.ts +23 -23
- package/lib/date-time/number-fixed-len.pipe.d.ts +8 -8
- package/lib/date-time/timer/timer.component.d.ts +131 -131
- package/lib/date-time/timer-box/timer-box.component.d.ts +37 -37
- package/lib/dialog/dialog-container/dialog-container.component.d.ts +69 -69
- package/lib/dialog/dialog.module.d.ts +12 -12
- package/lib/dialog/dialog.service.d.ts +78 -78
- package/lib/utils/object.d.ts +9 -10
- package/moment-adapter/date-time-adapter.class.d.ts +64 -64
- package/moment-adapter/date-time-format.class.d.ts +5 -5
- package/moment-adapter/index.d.ts +5 -5
- package/moment-adapter/moment-adapter.module.d.ts +6 -6
- package/moment-adapter/public-api.d.ts +2 -2
- package/native-adapter/date-time-adapter.class.d.ts +72 -72
- package/native-adapter/date-time-format.class.d.ts +5 -5
- package/native-adapter/index.d.ts +5 -5
- package/native-adapter/native-adapter.module.d.ts +7 -7
- package/native-adapter/public-api.d.ts +1 -1
- package/package.json +18 -28
- package/public-api.d.ts +14 -14
- package/esm2020/lib/class/date-time.class.mjs +0 -95
- package/esm2020/lib/date-time/calendar/calendar.component.mjs +0 -346
- package/esm2020/lib/date-time/calendar-body/calendar-body.component.mjs +0 -151
- package/esm2020/lib/date-time/calendar-month-view/calendar-month-view.component.mjs +0 -429
- package/esm2020/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.mjs +0 -358
- package/esm2020/lib/date-time/calendar-year-view/calendar-year-view.component.mjs +0 -362
- package/esm2020/lib/date-time/date-time-inline/date-time-inline.component.mjs +0 -275
- package/esm2020/lib/date-time/date-time-picker/date-time-picker.component.mjs +0 -541
- package/esm2020/lib/date-time/date-time-picker-container/date-time-picker-container.component.mjs +0 -389
- package/esm2020/lib/date-time/date-time-picker-input.directive.mjs +0 -618
- package/esm2020/lib/date-time/date-time-picker-intl.service.mjs +0 -61
- package/esm2020/lib/date-time/date-time-picker-trigger.directive.mjs +0 -70
- package/esm2020/lib/date-time/date-time.module.mjs +0 -96
- package/esm2020/lib/date-time/number-fixed-len.pipe.mjs +0 -22
- package/esm2020/lib/date-time/timer/timer.component.mjs +0 -299
- package/esm2020/lib/date-time/timer-box/timer-box.component.mjs +0 -95
- package/esm2020/lib/dialog/dialog-container/dialog-container.component.mjs +0 -248
- package/esm2020/lib/dialog/dialog.module.mjs +0 -42
- package/esm2020/lib/dialog/dialog.service.mjs +0 -252
- package/esm2020/lib/utils/object.mjs +0 -25
- package/esm2020/moment-adapter/date-time-adapter.class.mjs +0 -220
- package/esm2020/moment-adapter/moment-adapter.module.mjs +0 -37
- package/esm2020/native-adapter/date-time-adapter.class.mjs +0 -366
- package/esm2020/native-adapter/native-adapter.module.mjs +0 -37
- package/fesm2015/nxt-pick-datetime-moment-adapter.mjs +0 -274
- package/fesm2015/nxt-pick-datetime-moment-adapter.mjs.map +0 -1
- package/fesm2015/nxt-pick-datetime-native-adapter.mjs +0 -420
- package/fesm2015/nxt-pick-datetime-native-adapter.mjs.map +0 -1
- package/fesm2015/nxt-pick-datetime.mjs +0 -5014
- package/fesm2015/nxt-pick-datetime.mjs.map +0 -1
|
@@ -1,97 +1,97 @@
|
|
|
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
|
-
}
|
|
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
97
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9waWNrLWRhdGV0aW1lL3NyYy9saWIvY2xhc3MvZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQyxNQUFNLE9BQWdCLGVBQWU7SUFBckM7UUFJSSxrREFBa0Q7UUFDeEMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFBO1FBSzlDLGtDQUFrQztRQUNmLHNCQUFpQixHQUFHLFFBQVEsQ0FBQTtRQUUvQyxxQ0FBcUM7UUFDbEIsd0JBQW1CLEdBQUcsS0FBSyxDQUFBO0lBc1FsRCxDQUFDO0lBOVFHLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUM5QixDQUFDO0lBa0xEOzs7OztTQUtLO0lBQ0wsT0FBTyxDQUFDLEtBQVMsRUFBRSxNQUFVO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvQyxNQUFNLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO1NBQzdEO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXJDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUUvRCxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQyxDQUFBO1NBQ1o7YUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUE7U0FDWDthQUFNO1lBQ0gsbURBQW1EO1lBQ25ELE9BQU8sSUFBSSxDQUFBO1NBQ2Q7SUFDTCxDQUFDO0lBRUQ7Ozs7O1NBS0s7SUFDTCxXQUFXLENBQUMsS0FBUyxFQUFFLE1BQVU7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9DLE1BQU0sS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7U0FDN0Q7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFdEMsTUFBTSxJQUFJLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQTtRQUVqQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQyxDQUFBO1NBQ1o7YUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUE7U0FDWDthQUFNO1lBQ0gsT0FBTyxDQUFDLENBQUE7U0FDWDtJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFdBQVcsQ0FBQyxLQUFVO1FBQ2xCLElBQ0ksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksU0FBUztZQUNuQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNyRDtZQUNFLE9BQU8sS0FBSyxDQUFBO1NBQ2Y7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsTUFBVztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFPLEVBQUUsR0FBTyxFQUFFLEdBQU87UUFDL0IsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sR0FBRyxDQUFBO1NBQ2I7UUFDRCxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxHQUFHLENBQUE7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRlVGltZUFkYXB0ZXI8VD4ge1xuICAgIC8qKiBUaGUgbG9jYWxlIHRvIHVzZSBmb3IgYWxsIGRhdGVzICovXG4gICAgcHJvdGVjdGVkIGxvY2FsZTogYW55XG5cbiAgICAvKiogQSBzdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHRoZSBsb2NhbGUgY2hhbmdlcyAqL1xuICAgIHByb3RlY3RlZCBfbG9jYWxlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcbiAgICBnZXQgbG9jYWxlQ2hhbmdlcygpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZUNoYW5nZXNcbiAgICB9XG5cbiAgICAvKiogdG90YWwgbWlsbGlzZWNvbmRzIGluIGEgZGF5ICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1pbGxpc2Vjb25kc0luRGF5ID0gODY0MDAwMDBcblxuICAgIC8qKiB0b3RhbCBtaWxsaXNlY29uZHMgaW4gYSBtaW51dGUgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWlsbGlzZW9uZHNJbk1pbnV0ZSA9IDYwMDAwXG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHllYXIgb2YgdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXRZZWFyKGRhdGU/OiBUKTogbnVtYmVyXG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIG1vbnRoIG9mIHRoZSBnaXZlbiBkYXRlXG4gICAgICogMCAtLSBKYW51YXJ5XG4gICAgICogMTEgLS0gRGVjZW1iZXJcbiAgICAgKiAqL1xuICAgIGFic3RyYWN0IGdldE1vbnRoKGRhdGU/OiBUKTogbnVtYmVyXG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGRheSBvZiB0aGUgd2VlayBvZiB0aGUgZ2l2ZW4gZGF0ZVxuICAgICAqIDAgLS0gU3VuZGF5XG4gICAgICogNiAtLSBTYXR1cmRheVxuICAgICAqICovXG4gICAgYWJzdHJhY3QgZ2V0RGF5KGRhdGU/OiBUKTogbnVtYmVyXG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGRheSBudW0gb2YgdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXREYXRlKGRhdGU/OiBUKTogbnVtYmVyXG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGhvdXJzIG9mIHRoZSBnaXZlbiBkYXRlXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0SG91cnMoZGF0ZT86IFQpOiBudW1iZXJcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgbWludXRlcyBvZiB0aGUgZ2l2ZW4gZGF0ZVxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldE1pbnV0ZXMoZGF0ZT86IFQpOiBudW1iZXJcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgc2Vjb25kcyBvZiB0aGUgZ2l2ZW4gZGF0ZVxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldFNlY29uZHMoZGF0ZT86IFQpOiBudW1iZXJcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgbWlsbGlzZWNvbmRzIHRpbWVzdGFtcCBvZiB0aGUgZ2l2ZW4gZGF0ZVxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldFRpbWUoZGF0ZT86IFQpOiBudW1iZXJcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG51bWJlciBvZiBkYXlzIGluIHRoZSBtb250aCBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXROdW1EYXlzSW5Nb250aChkYXRlPzogVCk6IG51bWJlclxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAgICAgKiBJZiBkYXRlTGVmdCBpcyBiZWZvcmUgZGF0ZVJpZ2h0LCBpdCB3b3VsZCByZXR1cm4gcG9zaXRpdmUgdmFsdWVcbiAgICAgKiBJZiBkYXRlTGVmdCBpcyBhZnRlciBkYXRlUmlnaHQsIGl0IHdvdWxkIHJldHVybiBuZWdhdGl2ZSB2YWx1ZVxuICAgICAqL1xuICAgIGFic3RyYWN0IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhkYXRlTGVmdD86IFQsIGRhdGVSaWdodD86IFQpOiBudW1iZXIgfCB1bmRlZmluZWRcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG5hbWUgZm9yIHRoZSB5ZWFyIG9mIHRoZSBnaXZlbiBkYXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldFllYXJOYW1lKGRhdGU/OiBUKTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBHZXQgYSBsaXN0IG9mIG1vbnRoIG5hbWVzXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0TW9udGhOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW11cblxuICAgIC8qKlxuICAgICAqIEdldCBhIGxpc3Qgb2Ygd2VlayBuYW1lc1xuICAgICAqL1xuICAgIGFic3RyYWN0IGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIGxpc3Qgb2YgbmFtZXMgZm9yIHRoZSBkYXRlcyBvZiB0aGUgbW9udGguXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdXG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSBEYXRlIG9iamVjdCBhcyBhIHN0cmluZywgdXNpbmcgdGhlIElTTyBzdGFuZGFyZFxuICAgICAqL1xuICAgIGFic3RyYWN0IHRvSXNvODYwMShkYXRlOiBUKTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZ2l2ZSBkYXRlcyBhcmUgZXF1YWxcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBpc0VxdWFsKGRhdGVMZWZ0PzogVCwgZGF0ZVJpZ2h0PzogVCk6IGJvb2xlYW5cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBnaXZlIGRhdGVzIGFyZSB0aGUgc2FtZSBkYXlcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBpc1NhbWVEYXkoZGF0ZUxlZnQ/OiBULCBkYXRlUmlnaHQ/OiBUKTogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGRhdGUgaXMgdmFsaWQuXG4gICAgICovXG4gICAgYWJzdHJhY3QgaXNWYWxpZChkYXRlPzogVCk6IGJvb2xlYW5cblxuICAgIC8qKlxuICAgICAqIEdldHMgZGF0ZSBpbnN0YW5jZSB0aGF0IGlzIG5vdCB2YWxpZC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBpbnZhbGlkKCk6IFRcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiBvYmplY3QgaXMgY29uc2lkZXJlZCBhIGRhdGUgaW5zdGFuY2UgYnkgdGhpcyBEYXRlVGltZUFkYXB0ZXIuXG4gICAgICovXG4gICAgYWJzdHJhY3QgaXNEYXRlSW5zdGFuY2Uob2JqOiBhbnkpOiBib29sZWFuXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgeWVhcnMgdG8gdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBhZGRDYWxlbmRhclllYXJzKGRhdGU6IFQgfCB1bmRlZmluZWQsIGFtb3VudDogbnVtYmVyKTogVFxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1vbnRocyB0byB0aGUgZ2l2ZW4gZGF0ZVxuICAgICAqL1xuICAgIGFic3RyYWN0IGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IFQgfCB1bmRlZmluZWQsIGFtb3VudDogbnVtYmVyKTogVFxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRheXMgdG8gdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBhZGRDYWxlbmRhckRheXMoZGF0ZTogVCB8IHVuZGVmaW5lZCwgYW1vdW50OiBudW1iZXIpOiBUXG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGhvdXJzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IHNldEhvdXJzKGRhdGU6IFQgfCB1bmRlZmluZWQsIGFtb3VudDogbnVtYmVyKTogVFxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBtaW51dGVzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IHNldE1pbnV0ZXMoZGF0ZTogVCB8IHVuZGVmaW5lZCwgYW1vdW50OiBudW1iZXIpOiBUXG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIHNlY29uZHMgdG8gdGhlIGdpdmVuIGRhdGUuXG4gICAgICovXG4gICAgYWJzdHJhY3Qgc2V0U2Vjb25kcyhkYXRlOiBUIHwgdW5kZWZpbmVkLCBhbW91bnQ6IG51bWJlcik6IFRcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBkYXRlIHdpdGggdGhlIGdpdmVuIHllYXIsIG1vbnRoLCBkYXRlLCBob3VyLCBtaW51dGUgYW5kIHNlY29uZC4gRG9lcyBub3QgYWxsb3cgb3Zlci91bmRlci1mbG93IG9mIHRoZVxuICAgICAqIG1vbnRoIGFuZCBkYXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGNyZWF0ZURhdGUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIpOiBUXG4gICAgYWJzdHJhY3QgY3JlYXRlRGF0ZShcbiAgICAgICAgeWVhcjogbnVtYmVyLFxuICAgICAgICBtb250aDogbnVtYmVyLFxuICAgICAgICBkYXRlOiBudW1iZXIsXG4gICAgICAgIGhvdXJzOiBudW1iZXIsXG4gICAgICAgIG1pbnV0ZXM6IG51bWJlcixcbiAgICAgICAgc2Vjb25kczogbnVtYmVyXG4gICAgKTogVFxuXG4gICAgLyoqXG4gICAgICogQ2xvbmUgdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBjbG9uZShkYXRlPzogVCk6IFRcblxuICAgIC8qKlxuICAgICAqIEdldCBhIG5ldyBtb21lbnRcbiAgICAgKiAqL1xuICAgIGFic3RyYWN0IG5vdygpOiBUXG5cbiAgICAvKipcbiAgICAgKiBGb3JtYXRzIGEgZGF0ZSBhcyBhIHN0cmluZyBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIGZvcm1hdC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBmb3JtYXQoZGF0ZTogVCB8IHVuZGVmaW5lZCwgZGlzcGxheUZvcm1hdDogYW55KTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBQYXJzZSBhIHVzZXItcHJvdmlkZWQgdmFsdWUgdG8gYSBEYXRlIE9iamVjdFxuICAgICAqL1xuICAgIGFic3RyYWN0IHBhcnNlKHZhbHVlOiBhbnksIHBhcnNlRm9ybWF0OiBhbnkpOiBUIHwgdW5kZWZpbmVkXG5cbiAgICAvKipcbiAgICAgKiBDb21wYXJlIHR3byBnaXZlbiBkYXRlc1xuICAgICAqIDEgaWYgdGhlIGZpcnN0IGRhdGUgaXMgYWZ0ZXIgdGhlIHNlY29uZCxcbiAgICAgKiAtMSBpZiB0aGUgZmlyc3QgZGF0ZSBpcyBiZWZvcmUgdGhlIHNlY29uZFxuICAgICAqIDAgaWYgZGF0ZXMgYXJlIGVxdWFsLlxuICAgICAqICovXG4gICAgY29tcGFyZShmaXJzdD86IFQsIHNlY29uZD86IFQpOiBudW1iZXIge1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZChmaXJzdCkgfHwgIXRoaXMuaXNWYWxpZChzZWNvbmQpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignSlNOYXRpdmVEYXRlOiBDYW5ub3QgY29tcGFyZSBpbnZhbGlkIGRhdGVzLicpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRlRmlyc3QgPSB0aGlzLmNsb25lKGZpcnN0KVxuICAgICAgICBjb25zdCBkYXRlU2Vjb25kID0gdGhpcy5jbG9uZShzZWNvbmQpXG5cbiAgICAgICAgY29uc3QgZGlmZiA9IHRoaXMuZ2V0VGltZShkYXRlRmlyc3QpIC0gdGhpcy5nZXRUaW1lKGRhdGVTZWNvbmQpXG5cbiAgICAgICAgaWYgKGRpZmYgPCAwKSB7XG4gICAgICAgICAgICByZXR1cm4gLTFcbiAgICAgICAgfSBlbHNlIGlmIChkaWZmID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIDFcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFJldHVybiAwIGlmIGRpZmYgaXMgMDsgcmV0dXJuIE5hTiBpZiBkaWZmIGlzIE5hTlxuICAgICAgICAgICAgcmV0dXJuIGRpZmZcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHR3byBnaXZlbiBkYXRlcyBhcmUgaW4gdGhlIHNhbWUgeWVhclxuICAgICAqIDEgaWYgdGhlIGZpcnN0IGRhdGUncyB5ZWFyIGlzIGFmdGVyIHRoZSBzZWNvbmQsXG4gICAgICogLTEgaWYgdGhlIGZpcnN0IGRhdGUncyB5ZWFyIGlzIGJlZm9yZSB0aGUgc2Vjb25kXG4gICAgICogMCBpZiB0d28gZ2l2ZW4gZGF0ZXMgYXJlIGluIHRoZSBzYW1lIHllYXJcbiAgICAgKiAqL1xuICAgIGNvbXBhcmVZZWFyKGZpcnN0PzogVCwgc2Vjb25kPzogVCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGZpcnN0KSB8fCAhdGhpcy5pc1ZhbGlkKHNlY29uZCkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdKU05hdGl2ZURhdGU6IENhbm5vdCBjb21wYXJlIGludmFsaWQgZGF0ZXMuJylcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHllYXJMZWZ0ID0gdGhpcy5nZXRZZWFyKGZpcnN0KVxuICAgICAgICBjb25zdCB5ZWFyUmlnaHQgPSB0aGlzLmdldFllYXIoc2Vjb25kKVxuXG4gICAgICAgIGNvbnN0IGRpZmYgPSB5ZWFyTGVmdCAtIHllYXJSaWdodFxuXG4gICAgICAgIGlmIChkaWZmIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIC0xXG4gICAgICAgIH0gZWxzZSBpZiAoZGlmZiA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAxXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxuICAgICAqIGRlc2VyaWFsaXplIHNob3VsZCBvbmx5IGFjY2VwdCBub24tYW1iaWd1b3VzLCBsb2NhbGUtaW5kZXBlbmRlbnQgZm9ybWF0cyAoZS5nLiBhIElTTyA4NjAxXG4gICAgICogc3RyaW5nKS4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZG9lcyBub3QgYWxsb3cgYW55IGRlc2VyaWFsaXphdGlvbiwgaXQgc2ltcGx5IGNoZWNrcyB0aGF0XG4gICAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLiBUaGUgYDxtYXQtZGF0ZXBpY2tlcj5gIHdpbGwgY2FsbCB0aGlzXG4gICAgICogbWV0aG9kIG9uIGFsbCBvZiBpdCdzIGBASW5wdXQoKWAgcHJvcGVydGllcyB0aGF0IGFjY2VwdCBkYXRlcy4gSXQgaXMgdGhlcmVmb3JlIHBvc3NpYmxlIHRvXG4gICAgICogc3VwcG9ydCBwYXNzaW5nIHZhbHVlcyBmcm9tIHlvdXIgYmFja2VuZCBkaXJlY3RseSB0byB0aGVzZSBwcm9wZXJ0aWVzIGJ5IG92ZXJyaWRpbmcgdGhpcyBtZXRob2RcbiAgICAgKiB0byBhbHNvIGRlc2VyaWFsaXplIHRoZSBmb3JtYXQgdXNlZCBieSB5b3VyIGJhY2tlbmQuXG4gICAgICovXG4gICAgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IFQgfCB1bmRlZmluZWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgKHRoaXMuaXNEYXRlSW5zdGFuY2UodmFsdWUpICYmIHRoaXMuaXNWYWxpZCh2YWx1ZSkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgbG9jYWxlIHVzZWQgZm9yIGFsbCBkYXRlcy5cbiAgICAgKi9cbiAgICBzZXRMb2NhbGUobG9jYWxlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sb2NhbGUgPSBsb2NhbGVcbiAgICAgICAgdGhpcy5fbG9jYWxlQ2hhbmdlcy5uZXh0KClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGFtcCB0aGUgZ2l2ZW4gZGF0ZSBiZXR3ZWVuIG1pbiBhbmQgbWF4IGRhdGVzLlxuICAgICAqL1xuICAgIGNsYW1wRGF0ZShkYXRlOiBULCBtaW4/OiBULCBtYXg/OiBUKTogVCB7XG4gICAgICAgIGlmIChtaW4gJiYgdGhpcy5jb21wYXJlKGRhdGUsIG1pbikgPCAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbWluXG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1heCAmJiB0aGlzLmNvbXBhcmUoZGF0ZSwgbWF4KSA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiBtYXhcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0ZVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
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');
|
|
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
4
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWZvcm1hdC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BpY2stZGF0ZXRpbWUvc3JjL2xpYi9jbGFzcy9kYXRlLXRpbWUtZm9ybWF0LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFZOUMsc0ZBQXNGO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFrQix1QkFBdUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVUaW1lRm9ybWF0cyB7XG4gICAgcGFyc2VJbnB1dDogYW55XG4gICAgZnVsbFBpY2tlcklucHV0OiBhbnlcbiAgICBkYXRlUGlja2VySW5wdXQ6IGFueVxuICAgIHRpbWVQaWNrZXJJbnB1dDogYW55XG4gICAgbW9udGhZZWFyTGFiZWw6IGFueVxuICAgIGRhdGVBMTF5TGFiZWw6IGFueVxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogYW55XG59XG5cbi8qKiBJbmplY3Rpb25Ub2tlbiBmb3IgZGF0ZSB0aW1lIHBpY2tlciB0aGF0IGNhbiBiZSB1c2VkIHRvIG92ZXJyaWRlIGRlZmF1bHQgZm9ybWF0ICovXG5leHBvcnQgY29uc3QgTlhUX0RBVEVfVElNRV9GT1JNQVRTID0gbmV3IEluamVjdGlvblRva2VuPERhdGVUaW1lRm9ybWF0cz4oJ05YVF9EQVRFX1RJTUVfRk9STUFUUycpXG4iXX0=
|
|
@@ -0,0 +1,96 @@
|
|
|
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
|
+
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: "16.0.0", 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: "16.0.0", type: DateTimeDirective, inputs: { showSecondsTimer: "showSecondsTimer", hour12Timer: "hour12Timer", startView: "startView", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond", firstDayOfWeek: "firstDayOfWeek", hideOtherMonths: "hideOtherMonths" }, ngImport: i0 }); }
|
|
72
|
+
}
|
|
73
|
+
export { DateTimeDirective };
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: DateTimeDirective, decorators: [{
|
|
75
|
+
type: Directive
|
|
76
|
+
}], ctorParameters: function () { return [{ type: i1.DateTimeAdapter }, { type: undefined, decorators: [{
|
|
77
|
+
type: Inject,
|
|
78
|
+
args: [NXT_DATE_TIME_FORMATS]
|
|
79
|
+
}] }]; }, propDecorators: { showSecondsTimer: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], hour12Timer: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], startView: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}], stepHour: [{
|
|
86
|
+
type: Input
|
|
87
|
+
}], stepMinute: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], stepSecond: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], firstDayOfWeek: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], hideOtherMonths: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}] } });
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcGljay1kYXRldGltZS9zcmMvbGliL2NsYXNzL2RhdGUtdGltZS5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXRFLE9BQU8sRUFBbUIscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7O0FBRWpGLGdCQUFnQjtBQUNoQixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUE7QUFjcEIsTUFDc0IsaUJBQWlCO0lBK0VuQyxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssTUFBTTtZQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlO1lBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVU7Z0JBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWU7Z0JBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQTtJQUNsRCxDQUFDO0lBWUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxLQUFLLENBQUE7SUFDaEIsQ0FBQztJQUVELFlBQ3VCLGVBQW1DLEVBRW5DLGVBQWdDO1FBRmhDLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUVuQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUF2R3ZEOztXQUVHO1FBQ00scUJBQWdCLEdBQUcsS0FBSyxDQUFBO1FBRWpDOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxLQUFLLENBQUE7UUFFNUI7O1dBRUc7UUFDTSxjQUFTLEdBQWEsT0FBTyxDQUFBO1FBRXRDOztXQUVHO1FBQ00sYUFBUSxHQUFHLENBQUMsQ0FBQTtRQUVyQjs7V0FFRztRQUNNLGVBQVUsR0FBRyxDQUFDLENBQUE7UUFFdkI7O1dBRUc7UUFDTSxlQUFVLEdBQUcsQ0FBQyxDQUFBO1FBRXZCOzs7O1dBSUc7UUFDTSxtQkFBYyxHQUFHLENBQUMsQ0FBQTtRQUUzQjs7V0FFRztRQUNNLG9CQUFlLEdBQUcsS0FBSyxDQUFBO1FBRXZCLE9BQUUsR0FBRyxpQkFBaUIsWUFBWSxFQUFFLEVBQUUsQ0FBQTtRQTRDL0M7O1dBRUc7UUFDSCxvQkFBZSxHQUFHLENBQUMsUUFBdUIsRUFBRSxFQUFFLENBQUMsQ0FDM0MsQ0FBQyxDQUFDLFFBQVE7WUFDVixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3ZFLENBQUE7SUFVRyxDQUFDO0lBRUssWUFBWSxDQUFDLEdBQVE7UUFDM0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7WUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUNuQixDQUFDOzhHQWhIaUIsaUJBQWlCLGlEQXVHdkIscUJBQXFCO2tHQXZHZixpQkFBaUI7O1NBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQUR0QyxTQUFTOzswQkF3R0QsTUFBTTsyQkFBQyxxQkFBcUI7NENBbkd4QixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxVQUFVO3NCQUFsQixLQUFLO2dCQU9HLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IERhdGVUaW1lQWRhcHRlciB9IGZyb20gJy4vZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MnXG5pbXBvcnQgeyBEYXRlVGltZUZvcm1hdHMsIE5YVF9EQVRFX1RJTUVfRk9STUFUUyB9IGZyb20gJy4vZGF0ZS10aW1lLWZvcm1hdC5jbGFzcydcblxuLyoqIEBpbnRlcm5hbCAqL1xubGV0IG5leHRVbmlxdWVJZCA9IDBcblxuZXhwb3J0IHR5cGUgUGlja2VyVHlwZSA9ICdib3RoJyB8ICdjYWxlbmRhcicgfCAndGltZXInXG5cbmV4cG9ydCB0eXBlIFBpY2tlck1vZGUgPSAncG9wdXAnIHwgJ2RpYWxvZycgfCAnaW5saW5lJ1xuXG5leHBvcnQgdHlwZSBTZWxlY3RNb2RlID0gJ3NpbmdsZScgfCAncmFuZ2UnIHwgJ3JhbmdlRnJvbScgfCAncmFuZ2VUbydcblxuZXhwb3J0IHR5cGUgUmVuZGVySXRlbSA9ICd5ZWFyJyB8ICdtb250aCcgfCAnZGF0ZSdcblxuZXhwb3J0IHR5cGUgVmlld1R5cGUgPSAnbW9udGgnIHwgJ3llYXInIHwgJ211bHRpLXllYXJzJ1xuXG5leHBvcnQgdHlwZSBEYXRlRmlsdGVyPFQ+ID0gKGRhdGU/OiBULCBmb3JSZW5kZXI/OiBSZW5kZXJJdGVtKSA9PiBib29sZWFuXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGVUaW1lRGlyZWN0aXZlPFQ+IHtcbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUsIHNob3dzIGEgdGltZXIgdG8gY29uZmlndXJlIHRoZSBzZWNvbmRzIHZhbHVlXG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd1NlY29uZHNUaW1lciA9IGZhbHNlXG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUsIHRoZSB0aW1lciB3aWxsIGJlIGluIDEyLWhvdXIgZm9ybWF0IG1vZGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBob3VyMTJUaW1lciA9IGZhbHNlXG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmlldyB0aGF0IHRoZSBjYWxlbmRhciBzaG91bGQgc3RhcnQgb25cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdGFydFZpZXc6IFZpZXdUeXBlID0gJ21vbnRoJ1xuXG4gICAgLyoqXG4gICAgICogSG91cnMgdG8gY2hhbmdlIHBlciBzdGVwXG4gICAgICovXG4gICAgQElucHV0KCkgc3RlcEhvdXIgPSAxXG5cbiAgICAvKipcbiAgICAgKiBNaW51dGVzIHRvIGNoYW5nZSBwZXIgc3RlcFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0ZXBNaW51dGUgPSAxXG5cbiAgICAvKipcbiAgICAgKiBTZWNvbmRzIHRvIGNoYW5nZSBwZXIgc3RlcFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0ZXBTZWNvbmQgPSAxXG5cbiAgICAvKipcbiAgICAgKiBTZXQgdGhlIGZpcnN0IGRheSBvZiB3ZWVrXG4gICAgICpcbiAgICAgKiBWYWxpZCB2YWx1ZXMgYXJlIGZyb20gMCBbU3VuZGF5XSB0byA2IFtTYXR1cmRheV1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBmaXJzdERheU9mV2VlayA9IDBcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIGRvbid0IHNob3cgZGF0ZXMgZnJvbSBwcmVpb3VzIC8gbmV4dCBtb250aCBvbiB0aGUgY2FsZW5kYXIgbW9udGggdmlld1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGhpZGVPdGhlck1vbnRocyA9IGZhbHNlXG5cbiAgICByZWFkb25seSBpZCA9IGBueHQtZHQtcGlja2VyLSR7bmV4dFVuaXF1ZUlkKyt9YFxuXG4gICAgYWJzdHJhY3QgZ2V0IHNlbGVjdGVkKCk6IFQgfCB1bmRlZmluZWRcblxuICAgIGFic3RyYWN0IGdldCBzZWxlY3RlZHMoKTogQXJyYXk8VCB8IHVuZGVmaW5lZD5cblxuICAgIGFic3RyYWN0IGdldCBkYXRlVGltZUZpbHRlcigpOiBEYXRlRmlsdGVyPFQ+IHwgdW5kZWZpbmVkXG5cbiAgICBhYnN0cmFjdCBnZXQgbWF4KCk6IFQgfCB1bmRlZmluZWRcblxuICAgIGFic3RyYWN0IGdldCBtaW4oKTogVCB8IHVuZGVmaW5lZFxuXG4gICAgYWJzdHJhY3QgZ2V0IHNlbGVjdE1vZGUoKTogU2VsZWN0TW9kZSB8IHVuZGVmaW5lZFxuXG4gICAgYWJzdHJhY3QgZ2V0IHN0YXJ0QXQoKTogVCB8IHVuZGVmaW5lZFxuXG4gICAgYWJzdHJhY3QgZ2V0IGlzT3BlbigpOiBib29sZWFuXG5cbiAgICBhYnN0cmFjdCBnZXQgcGlja2VyTW9kZSgpOiBQaWNrZXJNb2RlXG5cbiAgICBhYnN0cmFjdCBnZXQgcGlja2VyVHlwZSgpOiBQaWNrZXJUeXBlXG5cbiAgICBhYnN0cmFjdCBnZXQgaXNJblNpbmdsZU1vZGUoKTogYm9vbGVhblxuXG4gICAgYWJzdHJhY3QgZ2V0IGlzSW5SYW5nZU1vZGUoKTogYm9vbGVhblxuXG4gICAgYWJzdHJhY3Qgc2VsZWN0KGRhdGU6IFQgfCBBcnJheTxUIHwgdW5kZWZpbmVkPik6IHZvaWRcblxuICAgIGFic3RyYWN0IHllYXJTZWxlY3RlZDogRXZlbnRFbWl0dGVyPFQ+XG5cbiAgICBhYnN0cmFjdCBtb250aFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8VD5cblxuICAgIGFic3RyYWN0IHNlbGVjdFllYXIobm9ybWFsaXplZFllYXI6IFQpOiB2b2lkXG5cbiAgICBhYnN0cmFjdCBzZWxlY3RNb250aChub3JtYWxpemVkTW9udGg6IFQpOiB2b2lkXG5cbiAgICBnZXQgZm9ybWF0U3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2tlclR5cGUgPT09ICdib3RoJ1xuICAgICAgICAgICAgPyB0aGlzLmRhdGVUaW1lRm9ybWF0cy5mdWxsUGlja2VySW5wdXRcbiAgICAgICAgICAgIDogdGhpcy5waWNrZXJUeXBlID09PSAnY2FsZW5kYXInXG4gICAgICAgICAgICAgICAgPyB0aGlzLmRhdGVUaW1lRm9ybWF0cy5kYXRlUGlja2VySW5wdXRcbiAgICAgICAgICAgICAgICA6IHRoaXMuZGF0ZVRpbWVGb3JtYXRzLnRpbWVQaWNrZXJJbnB1dFxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERhdGUgVGltZSBDaGVja2VyIHRvIGNoZWNrIGlmIHRoZSBnaXZlIGRhdGVUaW1lIGlzIHNlbGVjdGFibGVcbiAgICAgKi9cbiAgICBkYXRlVGltZUNoZWNrZXIgPSAoZGF0ZVRpbWU6IFQgfCB1bmRlZmluZWQpID0+IChcbiAgICAgICAgISFkYXRlVGltZSAmJlxuICAgICAgICAoIXRoaXMuZGF0ZVRpbWVGaWx0ZXIgfHwgdGhpcy5kYXRlVGltZUZpbHRlcihkYXRlVGltZSkpICYmXG4gICAgICAgICghdGhpcy5taW4gfHwgdGhpcy5kYXRlVGltZUFkYXB0ZXIuY29tcGFyZShkYXRlVGltZSwgdGhpcy5taW4pID49IDApICYmXG4gICAgICAgICghdGhpcy5tYXggfHwgdGhpcy5kYXRlVGltZUFkYXB0ZXIuY29tcGFyZShkYXRlVGltZSwgdGhpcy5tYXgpIDw9IDApXG4gICAgKVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGVUaW1lQWRhcHRlcjogRGF0ZVRpbWVBZGFwdGVyPFQ+LFxuICAgICAgICBASW5qZWN0KE5YVF9EQVRFX1RJTUVfRk9STUFUUylcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGVUaW1lRm9ybWF0czogRGF0ZVRpbWVGb3JtYXRzXG4gICAgKSB7IH1cblxuICAgIHByb3RlY3RlZCBnZXRWYWxpZERhdGUob2JqOiBhbnkpOiBUIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmlzRGF0ZUluc3RhbmNlKG9iaikgJiZcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmlzVmFsaWQob2JqKVxuICAgICAgICAgICAgPyBvYmpcbiAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgfVxufVxuIl19
|
|
@@ -1,47 +1,47 @@
|
|
|
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
|
-
}
|
|
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
47
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BpY2stZGF0ZXRpbWUvc3JjL2xpYi9jbGFzcy9kaWFsb2ctY29uZmlnLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQTtBQUd6RSxnQkFBZ0I7QUFDaEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0FBaUJoQixNQUFNLE9BQU8sWUFBWTtJQWdHckI7UUExRkE7O1dBRUc7UUFDSCxjQUFTLEdBQUcsSUFBSSxDQUFBO1FBRWhCLHdDQUF3QztRQUN4QyxnQkFBVyxHQUFHLElBQUksQ0FBQTtRQVVsQiwyRUFBMkU7UUFDM0UsaUJBQVksR0FBRyxLQUFLLENBQUE7UUFPcEI7O1dBRUc7UUFDSCxTQUFJLEdBQThCLFFBQVEsQ0FBQTtRQUUxQzs7V0FFRztRQUNILGNBQVMsR0FBdUIsRUFBRSxDQUFBO1FBT2xDOztXQUVHO1FBQ0gsa0JBQWEsR0FBdUIsRUFBRSxDQUFBO1FBRXRDOztXQUVHO1FBQ0gsc0JBQWlCLEdBQWEsSUFBSSxDQUFBO1FBRWxDLDBCQUEwQjtRQUMxQixVQUFLLEdBQVksRUFBRSxDQUFBO1FBRW5CLDJCQUEyQjtRQUMzQixXQUFNLEdBQVksRUFBRSxDQUFBO1FBY3BCOzs7V0FHRztRQUNILGFBQVEsR0FBcUIsTUFBTSxDQUFBO1FBV25DOzs7V0FHRztRQUNILG1CQUFjLEdBQW9CLElBQUksa0JBQWtCLEVBQUUsQ0FBQTtRQUt0RCxJQUFJLENBQUMsRUFBRSxHQUFHLGNBQWMsUUFBUSxFQUFFLEVBQUUsQ0FBQTtJQUN4QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb29wU2Nyb2xsU3RyYXRlZ3ksIFNjcm9sbFN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuLyoqIEBpbnRlcm5hbCAqL1xubGV0IHVuaXF1ZUlkID0gMFxuXG4vKiogUG9zc2libGUgb3ZlcnJpZGVzIGZvciBhIGRpYWxvZydzIHBvc2l0aW9uICovXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ1Bvc2l0aW9uIHtcbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBkaWFsb2cncyB0b3AgcG9zaXRpb24gKi9cbiAgICB0b3A/OiBzdHJpbmdcblxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIGJvdHRvbSBwb3NpdGlvbiAqL1xuICAgIGJvdHRvbT86IHN0cmluZ1xuXG4gICAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgbGVmdCBwb3NpdGlvbiAqL1xuICAgIGxlZnQ/OiBzdHJpbmdcblxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIHJpZ2h0IHBvc2l0aW9uICovXG4gICAgcmlnaHQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNsYXNzIERpYWxvZ0NvbmZpZyB7XG4gICAgLyoqXG4gICAgICogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGRpYWxvZy5cbiAgICAgKi9cbiAgICBhcmlhRGVzY3JpYmVkQnk/OiBzdHJpbmdcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gZm9jdXMgdGhlIGRpYWxvZyB3aGVuIHRoZSBkaWFsb2cgaXMgaXNPcGVuXG4gICAgICovXG4gICAgYXV0b0ZvY3VzID0gdHJ1ZVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGRpYWxvZyBoYXMgYSBiYWNrZHJvcCAqL1xuICAgIGhhc0JhY2tkcm9wPz0gdHJ1ZVxuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHN0eWxlIGZvciB0aGUgYmFja2Ryb3BcbiAgICAgKi9cbiAgICBiYWNrZHJvcFN0eWxlPzogYW55XG5cbiAgICAvKiogRGF0YSBiZWluZyBpbmplY3RlZCBpbnRvIHRoZSBjaGlsZCBjb21wb25lbnQgKi9cbiAgICBkYXRhPzogYW55XG5cbiAgICAvKiogV2hldGhlciB0aGUgdXNlciBjYW4gdXNlIGVzY2FwZSBvciBjbGlja2luZyBvdXRzaWRlIHRvIGNsb3NlIGEgbW9kYWwgKi9cbiAgICBkaXNhYmxlQ2xvc2U/PSBmYWxzZVxuXG4gICAgLyoqXG4gICAgICogSUQgZm9yIHRoZSBtb2RhbC4gSWYgb21pdHRlZCwgYSB1bmlxdWUgb25lIHdpbGwgYmUgZ2VuZXJhdGVkLlxuICAgICAqL1xuICAgIGlkPzogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBUaGUgQVJJQSByb2xlIG9mIHRoZSBkaWFsb2cgZWxlbWVudC5cbiAgICAgKi9cbiAgICByb2xlPzogJ2RpYWxvZycgfCAnYWxlcnRkaWFsb2cnID0gJ2RpYWxvZydcblxuICAgIC8qKlxuICAgICAqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIHBhbmVcbiAgICAgKi9cbiAgICBwYW5lQ2xhc3M/OiBzdHJpbmcgfCBzdHJpbmdbXSA9ICcnXG5cbiAgICAvKipcbiAgICAgKiBNb3VzZSBFdmVudFxuICAgICAqL1xuICAgIGV2ZW50PzogTW91c2VFdmVudFxuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGNsYXNzIGZvciB0aGUgYmFja2Ryb3BcbiAgICAgKi9cbiAgICBiYWNrZHJvcENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnJ1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCBjbG9zZSB3aGVuIHRoZSB1c2VyIGdvZXMgYmFja3dhcmRzL2ZvcndhcmRzIGluIGhpc3RvcnkuXG4gICAgICovXG4gICAgY2xvc2VPbk5hdmlnYXRpb24/OiBib29sZWFuID0gdHJ1ZVxuXG4gICAgLyoqIFdpZHRoIG9mIHRoZSBkaWFsb2cgKi9cbiAgICB3aWR0aD86IHN0cmluZyA9ICcnXG5cbiAgICAvKiogSGVpZ2h0IG9mIHRoZSBkaWFsb2cgKi9cbiAgICBoZWlnaHQ/OiBzdHJpbmcgPSAnJ1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1pbi13aWR0aCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICovXG4gICAgbWluV2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcblxuICAgIC8qKlxuICAgICAqIFRoZSBtaW4taGVpZ2h0IG9mIHRoZSBvdmVybGF5IHBhbmVsLlxuICAgICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKi9cbiAgICBtaW5IZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmdcblxuICAgIC8qKlxuICAgICAqIFRoZSBtYXgtd2lkdGggb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgICAqL1xuICAgIG1heFdpZHRoPzogbnVtYmVyIHwgc3RyaW5nID0gJzg1dncnXG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4LWhlaWdodCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICovXG4gICAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgICAvKiogUG9zaXRpb24gb3ZlcnJpZGVzICovXG4gICAgcG9zaXRpb24/OiBEaWFsb2dQb3NpdGlvblxuXG4gICAgLyoqXG4gICAgICogVGhlIHNjcm9sbCBzdHJhdGVneSB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlblxuICAgICAqIExlYXJuIG1vcmUgdGhpcyBmcm9tIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jZGsvb3ZlcmxheS9vdmVydmlldyNzY3JvbGwtc3RyYXRlZ2llc1xuICAgICAqL1xuICAgIHNjcm9sbFN0cmF0ZWd5PzogU2Nyb2xsU3RyYXRlZ3kgPSBuZXcgTm9vcFNjcm9sbFN0cmF0ZWd5KClcblxuICAgIHZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmXG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5pZCA9IGBueHQtZGlhbG9nLSR7dW5pcXVlSWQrK31gXG4gICAgfVxufVxuIl19
|