nxt-pick-datetime 11.0.0 → 13.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +221 -221
  2. package/assets/picker.scss +668 -668
  3. package/esm2020/lib/class/date-time-adapter.class.mjs +112 -0
  4. package/esm2020/lib/class/date-time-format.class.mjs +4 -0
  5. package/esm2020/lib/class/date-time.class.mjs +161 -0
  6. package/esm2020/lib/class/dialog-config.class.mjs +56 -0
  7. package/esm2020/lib/class/dialog-ref.class.mjs +121 -0
  8. package/esm2020/lib/date-time/calendar/calendar.component.mjs +345 -0
  9. package/esm2020/lib/date-time/calendar-body/calendar-body.component.mjs +145 -0
  10. package/esm2020/lib/date-time/calendar-month-view/calendar-month-view.component.mjs +438 -0
  11. package/esm2020/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.mjs +359 -0
  12. package/esm2020/lib/date-time/calendar-year-view/calendar-year-view.component.mjs +369 -0
  13. package/esm2020/lib/date-time/date-time-inline/date-time-inline.component.mjs +264 -0
  14. package/esm2020/lib/date-time/date-time-picker/date-time-picker.component.mjs +529 -0
  15. package/esm2020/lib/date-time/date-time-picker-container/date-time-picker-container.animations.mjs +18 -0
  16. package/esm2020/lib/date-time/date-time-picker-container/date-time-picker-container.component.mjs +390 -0
  17. package/esm2020/lib/date-time/date-time-picker-input.directive.mjs +624 -0
  18. package/esm2020/lib/date-time/date-time-picker-intl.service.mjs +61 -0
  19. package/esm2020/lib/date-time/date-time-picker-trigger.directive.mjs +68 -0
  20. package/esm2020/lib/date-time/date-time.module.mjs +88 -0
  21. package/esm2020/lib/date-time/number-fixed-len.pipe.mjs +25 -0
  22. package/esm2020/lib/date-time/timer/timer.component.mjs +292 -0
  23. package/esm2020/lib/date-time/timer-box/timer-box.component.mjs +88 -0
  24. package/esm2020/lib/dialog/dialog-container/dialog-container.component.mjs +243 -0
  25. package/esm2020/lib/dialog/dialog.module.mjs +34 -0
  26. package/esm2020/lib/dialog/dialog.service.mjs +240 -0
  27. package/esm2020/lib/utils/object.mjs +23 -0
  28. package/esm2020/moment-adapter/date-time-adapter.class.mjs +215 -0
  29. package/{esm2015/moment-adapter/date-time-format.class.js → esm2020/moment-adapter/date-time-format.class.mjs} +1 -1
  30. package/esm2020/moment-adapter/moment-adapter.module.mjs +41 -0
  31. package/esm2020/moment-adapter/nxt-pick-datetime-moment-adapter.mjs +5 -0
  32. package/{esm2015/moment-adapter/public-api.js → esm2020/moment-adapter/public-api.mjs} +1 -1
  33. package/esm2020/native-adapter/date-time-adapter.class.mjs +344 -0
  34. package/{esm2015/native-adapter/date-time-format.class.js → esm2020/native-adapter/date-time-format.class.mjs} +1 -1
  35. package/esm2020/native-adapter/native-adapter.module.mjs +35 -0
  36. package/esm2020/native-adapter/nxt-pick-datetime-native-adapter.mjs +5 -0
  37. package/{esm2015/native-adapter/public-api.js → esm2020/native-adapter/public-api.mjs} +1 -1
  38. package/esm2020/nxt-pick-datetime.mjs +5 -0
  39. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  40. package/fesm2015/nxt-pick-datetime-moment-adapter.mjs +269 -0
  41. package/fesm2015/nxt-pick-datetime-moment-adapter.mjs.map +1 -0
  42. package/fesm2015/{nxt-pick-datetime-native-adapter.js → nxt-pick-datetime-native-adapter.mjs} +41 -27
  43. package/fesm2015/nxt-pick-datetime-native-adapter.mjs.map +1 -0
  44. package/fesm2015/nxt-pick-datetime.mjs +4974 -0
  45. package/fesm2015/nxt-pick-datetime.mjs.map +1 -0
  46. package/{fesm2015/nxt-pick-datetime-moment-adapter.js → fesm2020/nxt-pick-datetime-moment-adapter.mjs} +48 -27
  47. package/fesm2020/nxt-pick-datetime-moment-adapter.mjs.map +1 -0
  48. package/fesm2020/nxt-pick-datetime-native-adapter.mjs +390 -0
  49. package/fesm2020/nxt-pick-datetime-native-adapter.mjs.map +1 -0
  50. package/{fesm2015/nxt-pick-datetime.js → fesm2020/nxt-pick-datetime.mjs} +2207 -1967
  51. package/fesm2020/nxt-pick-datetime.mjs.map +1 -0
  52. package/lib/class/date-time.class.d.ts +3 -0
  53. package/lib/class/dialog-ref.class.d.ts +2 -0
  54. package/lib/date-time/calendar/calendar.component.d.ts +3 -0
  55. package/lib/date-time/calendar-body/calendar-body.component.d.ts +3 -0
  56. package/lib/date-time/calendar-month-view/calendar-month-view.component.d.ts +3 -0
  57. package/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +3 -0
  58. package/lib/date-time/calendar-year-view/calendar-year-view.component.d.ts +3 -0
  59. package/lib/date-time/date-time-inline/date-time-inline.component.d.ts +3 -0
  60. package/lib/date-time/date-time-picker/date-time-picker.component.d.ts +3 -0
  61. package/lib/date-time/date-time-picker-container/date-time-picker-container.component.d.ts +3 -0
  62. package/lib/date-time/date-time-picker-input.directive.d.ts +3 -0
  63. package/lib/date-time/date-time-picker-intl.service.d.ts +3 -0
  64. package/lib/date-time/date-time-picker-trigger.directive.d.ts +3 -0
  65. package/lib/date-time/date-time.module.d.ts +21 -0
  66. package/lib/date-time/number-fixed-len.pipe.d.ts +3 -0
  67. package/lib/date-time/timer/timer.component.d.ts +3 -0
  68. package/lib/date-time/timer-box/timer-box.component.d.ts +3 -0
  69. package/lib/dialog/dialog-container/dialog-container.component.d.ts +5 -2
  70. package/lib/dialog/dialog.module.d.ts +9 -0
  71. package/lib/dialog/dialog.service.d.ts +6 -2
  72. package/moment-adapter/date-time-adapter.class.d.ts +3 -0
  73. package/moment-adapter/moment-adapter.module.d.ts +7 -0
  74. package/moment-adapter/nxt-pick-datetime-moment-adapter.d.ts +1 -3
  75. package/moment-adapter/package.json +6 -7
  76. package/native-adapter/date-time-adapter.class.d.ts +3 -0
  77. package/native-adapter/native-adapter.module.d.ts +8 -0
  78. package/native-adapter/nxt-pick-datetime-native-adapter.d.ts +1 -3
  79. package/native-adapter/package.json +6 -7
  80. package/nxt-pick-datetime.d.ts +1 -14
  81. package/package.json +44 -13
  82. package/bundles/nxt-pick-datetime-moment-adapter.umd.js +0 -579
  83. package/bundles/nxt-pick-datetime-moment-adapter.umd.js.map +0 -1
  84. package/bundles/nxt-pick-datetime-moment-adapter.umd.min.js +0 -16
  85. package/bundles/nxt-pick-datetime-moment-adapter.umd.min.js.map +0 -1
  86. package/bundles/nxt-pick-datetime-native-adapter.umd.js +0 -706
  87. package/bundles/nxt-pick-datetime-native-adapter.umd.js.map +0 -1
  88. package/bundles/nxt-pick-datetime-native-adapter.umd.min.js +0 -16
  89. package/bundles/nxt-pick-datetime-native-adapter.umd.min.js.map +0 -1
  90. package/bundles/nxt-pick-datetime.umd.js +0 -5809
  91. package/bundles/nxt-pick-datetime.umd.js.map +0 -1
  92. package/bundles/nxt-pick-datetime.umd.min.js +0 -17
  93. package/bundles/nxt-pick-datetime.umd.min.js.map +0 -1
  94. package/esm2015/lib/class/date-time-adapter.class.js +0 -112
  95. package/esm2015/lib/class/date-time-format.class.js +0 -4
  96. package/esm2015/lib/class/date-time.class.js +0 -151
  97. package/esm2015/lib/class/dialog-config.class.js +0 -56
  98. package/esm2015/lib/class/dialog-ref.class.js +0 -113
  99. package/esm2015/lib/date-time/calendar/calendar.component.js +0 -331
  100. package/esm2015/lib/date-time/calendar-body/calendar-body.component.js +0 -144
  101. package/esm2015/lib/date-time/calendar-month-view/calendar-month-view.component.js +0 -425
  102. package/esm2015/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.js +0 -347
  103. package/esm2015/lib/date-time/calendar-year-view/calendar-year-view.component.js +0 -356
  104. package/esm2015/lib/date-time/date-time-inline/date-time-inline.component.js +0 -246
  105. package/esm2015/lib/date-time/date-time-picker/date-time-picker.component.js +0 -511
  106. package/esm2015/lib/date-time/date-time-picker-container/date-time-picker-container.animations.js +0 -18
  107. package/esm2015/lib/date-time/date-time-picker-container/date-time-picker-container.component.js +0 -373
  108. package/esm2015/lib/date-time/date-time-picker-input.directive.js +0 -592
  109. package/esm2015/lib/date-time/date-time-picker-intl.service.js +0 -59
  110. package/esm2015/lib/date-time/date-time-picker-trigger.directive.js +0 -63
  111. package/esm2015/lib/date-time/date-time.module.js +0 -60
  112. package/esm2015/lib/date-time/number-fixed-len.pipe.js +0 -21
  113. package/esm2015/lib/date-time/timer/timer.component.js +0 -287
  114. package/esm2015/lib/date-time/timer-box/timer-box.component.js +0 -77
  115. package/esm2015/lib/dialog/dialog-container/dialog-container.component.js +0 -202
  116. package/esm2015/lib/dialog/dialog.module.js +0 -26
  117. package/esm2015/lib/dialog/dialog.service.js +0 -225
  118. package/esm2015/lib/utils/object.js +0 -23
  119. package/esm2015/moment-adapter/date-time-adapter.class.js +0 -206
  120. package/esm2015/moment-adapter/moment-adapter.module.js +0 -28
  121. package/esm2015/moment-adapter/nxt-pick-datetime-moment-adapter.js +0 -8
  122. package/esm2015/native-adapter/date-time-adapter.class.js +0 -342
  123. package/esm2015/native-adapter/native-adapter.module.js +0 -26
  124. package/esm2015/native-adapter/nxt-pick-datetime-native-adapter.js +0 -8
  125. package/esm2015/nxt-pick-datetime.js +0 -19
  126. package/fesm2015/nxt-pick-datetime-moment-adapter.js.map +0 -1
  127. package/fesm2015/nxt-pick-datetime-native-adapter.js.map +0 -1
  128. package/fesm2015/nxt-pick-datetime.js.map +0 -1
  129. package/moment-adapter/nxt-pick-datetime-moment-adapter.metadata.json +0 -1
  130. package/native-adapter/nxt-pick-datetime-native-adapter.metadata.json +0 -1
  131. package/nxt-pick-datetime.metadata.json +0 -1
@@ -1,112 +0,0 @@
1
- import { inject, InjectionToken, LOCALE_ID } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- /** InjectionToken for date time picker that can be used to override default locale code. */
4
- export const OWL_DATE_TIME_LOCALE = new InjectionToken('OWL_DATE_TIME_LOCALE', {
5
- providedIn: 'root',
6
- factory: OWL_DATE_TIME_LOCALE_FACTORY
7
- });
8
- /** @docs-private */
9
- export function OWL_DATE_TIME_LOCALE_FACTORY() {
10
- return inject(LOCALE_ID);
11
- }
12
- /** Provider for OWL_DATE_TIME_LOCALE injection token. */
13
- export const OWL_DATE_TIME_LOCALE_PROVIDER = {
14
- provide: OWL_DATE_TIME_LOCALE,
15
- useExisting: LOCALE_ID
16
- };
17
- export class DateTimeAdapter {
18
- constructor() {
19
- /** A stream that emits when the locale changes. */
20
- this._localeChanges = new Subject();
21
- /** total milliseconds in a day. */
22
- this.millisecondsInDay = 86400000;
23
- /** total milliseconds in a minute. */
24
- this.milliseondsInMinute = 60000;
25
- }
26
- get localeChanges() {
27
- return this._localeChanges;
28
- }
29
- /**
30
- * Compare two given dates
31
- * 1 if the first date is after the second,
32
- * -1 if the first date is before the second
33
- * 0 if dates are equal.
34
- * */
35
- compare(first, second) {
36
- if (!this.isValid(first) || !this.isValid(second)) {
37
- throw Error('JSNativeDate: Cannot compare invalid dates.');
38
- }
39
- const dateFirst = this.clone(first);
40
- const dateSecond = this.clone(second);
41
- const diff = this.getTime(dateFirst) - this.getTime(dateSecond);
42
- if (diff < 0) {
43
- return -1;
44
- }
45
- else if (diff > 0) {
46
- return 1;
47
- }
48
- else {
49
- // Return 0 if diff is 0; return NaN if diff is NaN
50
- return diff;
51
- }
52
- }
53
- /**
54
- * Check if two given dates are in the same year
55
- * 1 if the first date's year is after the second,
56
- * -1 if the first date's year is before the second
57
- * 0 if two given dates are in the same year
58
- * */
59
- compareYear(first, second) {
60
- if (!this.isValid(first) || !this.isValid(second)) {
61
- throw Error('JSNativeDate: Cannot compare invalid dates.');
62
- }
63
- const yearLeft = this.getYear(first);
64
- const yearRight = this.getYear(second);
65
- const diff = yearLeft - yearRight;
66
- if (diff < 0) {
67
- return -1;
68
- }
69
- else if (diff > 0) {
70
- return 1;
71
- }
72
- else {
73
- return 0;
74
- }
75
- }
76
- /**
77
- * Attempts to deserialize a value to a valid date object. This is different from parsing in that
78
- * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
79
- * string). The default implementation does not allow any deserialization, it simply checks that
80
- * the given value is already a valid date object or null. The `<mat-datepicker>` will call this
81
- * method on all of it's `@Input()` properties that accept dates. It is therefore possible to
82
- * support passing values from your backend directly to these properties by overriding this method
83
- * to also deserialize the format used by your backend.
84
- */
85
- deserialize(value) {
86
- if (value == null ||
87
- (this.isDateInstance(value) && this.isValid(value))) {
88
- return value;
89
- }
90
- return this.invalid();
91
- }
92
- /**
93
- * Sets the locale used for all dates.
94
- */
95
- setLocale(locale) {
96
- this.locale = locale;
97
- this._localeChanges.next();
98
- }
99
- /**
100
- * Clamp the given date between min and max dates.
101
- */
102
- clampDate(date, min, max) {
103
- if (min && this.compare(date, min) < 0) {
104
- return min;
105
- }
106
- if (max && this.compare(date, max) > 0) {
107
- return max;
108
- }
109
- return date;
110
- }
111
- }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vcHJvamVjdHMvbnh0LXBpY2stZGF0ZXRpbWUvc3JjLyIsInNvdXJjZXMiOlsibGliL2NsYXNzL2RhdGUtdGltZS1hZGFwdGVyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNqRSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTFDLDRGQUE0RjtBQUM1RixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FDbEQsc0JBQXNCLEVBQ3RCO0lBQ0ksVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLDRCQUE0QjtDQUN4QyxDQUNKLENBQUE7QUFFRCxvQkFBb0I7QUFDcEIsTUFBTSxVQUFVLDRCQUE0QjtJQUN4QyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUM1QixDQUFDO0FBRUQseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHO0lBQ3pDLE9BQU8sRUFBRSxvQkFBb0I7SUFDN0IsV0FBVyxFQUFFLFNBQVM7Q0FDekIsQ0FBQTtBQUVELE1BQU0sT0FBZ0IsZUFBZTtJQUFyQztRQUlJLG1EQUFtRDtRQUN6QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUFLOUMsbUNBQW1DO1FBQ2hCLHNCQUFpQixHQUFHLFFBQVEsQ0FBQTtRQUUvQyxzQ0FBc0M7UUFDbkIsd0JBQW1CLEdBQUcsS0FBSyxDQUFBO0lBc1FsRCxDQUFDO0lBOVFHLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUM5QixDQUFDO0lBa0xEOzs7OztTQUtLO0lBQ0wsT0FBTyxDQUFDLEtBQVEsRUFBRSxNQUFTO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvQyxNQUFNLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO1NBQzdEO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXJDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUUvRCxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQyxDQUFBO1NBQ1o7YUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUE7U0FDWDthQUFNO1lBQ0gsbURBQW1EO1lBQ25ELE9BQU8sSUFBSSxDQUFBO1NBQ2Q7SUFDTCxDQUFDO0lBRUQ7Ozs7O1NBS0s7SUFDTCxXQUFXLENBQUMsS0FBUSxFQUFFLE1BQVM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9DLE1BQU0sS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7U0FDN0Q7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFdEMsTUFBTSxJQUFJLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQTtRQUVqQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQyxDQUFBO1NBQ1o7YUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUE7U0FDWDthQUFNO1lBQ0gsT0FBTyxDQUFDLENBQUE7U0FDWDtJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFdBQVcsQ0FBQyxLQUFVO1FBQ2xCLElBQ0ksS0FBSyxJQUFJLElBQUk7WUFDYixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNyRDtZQUNFLE9BQU8sS0FBSyxDQUFBO1NBQ2Y7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsTUFBVztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFPLEVBQUUsR0FBYyxFQUFFLEdBQWM7UUFDN0MsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sR0FBRyxDQUFBO1NBQ2I7UUFDRCxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxHQUFHLENBQUE7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgTE9DQUxFX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnXHJcblxyXG4vKiogSW5qZWN0aW9uVG9rZW4gZm9yIGRhdGUgdGltZSBwaWNrZXIgdGhhdCBjYW4gYmUgdXNlZCB0byBvdmVycmlkZSBkZWZhdWx0IGxvY2FsZSBjb2RlLiAqL1xyXG5leHBvcnQgY29uc3QgT1dMX0RBVEVfVElNRV9MT0NBTEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPihcclxuICAgICdPV0xfREFURV9USU1FX0xPQ0FMRScsXHJcbiAgICB7XHJcbiAgICAgICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG4gICAgICAgIGZhY3Rvcnk6IE9XTF9EQVRFX1RJTUVfTE9DQUxFX0ZBQ1RPUllcclxuICAgIH1cclxuKVxyXG5cclxuLyoqIEBkb2NzLXByaXZhdGUgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIE9XTF9EQVRFX1RJTUVfTE9DQUxFX0ZBQ1RPUlkoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBpbmplY3QoTE9DQUxFX0lEKVxyXG59XHJcblxyXG4vKiogUHJvdmlkZXIgZm9yIE9XTF9EQVRFX1RJTUVfTE9DQUxFIGluamVjdGlvbiB0b2tlbi4gKi9cclxuZXhwb3J0IGNvbnN0IE9XTF9EQVRFX1RJTUVfTE9DQUxFX1BST1ZJREVSID0ge1xyXG4gICAgcHJvdmlkZTogT1dMX0RBVEVfVElNRV9MT0NBTEUsXHJcbiAgICB1c2VFeGlzdGluZzogTE9DQUxFX0lEXHJcbn1cclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYXRlVGltZUFkYXB0ZXI8VD4ge1xyXG4gICAgLyoqIFRoZSBsb2NhbGUgdG8gdXNlIGZvciBhbGwgZGF0ZXMuICovXHJcbiAgICBwcm90ZWN0ZWQgbG9jYWxlOiBhbnlcclxuXHJcbiAgICAvKiogQSBzdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHRoZSBsb2NhbGUgY2hhbmdlcy4gKi9cclxuICAgIHByb3RlY3RlZCBfbG9jYWxlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KClcclxuICAgIGdldCBsb2NhbGVDaGFuZ2VzKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVDaGFuZ2VzXHJcbiAgICB9XHJcblxyXG4gICAgLyoqIHRvdGFsIG1pbGxpc2Vjb25kcyBpbiBhIGRheS4gKi9cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBtaWxsaXNlY29uZHNJbkRheSA9IDg2NDAwMDAwXHJcblxyXG4gICAgLyoqIHRvdGFsIG1pbGxpc2Vjb25kcyBpbiBhIG1pbnV0ZS4gKi9cclxuICAgIHByb3RlY3RlZCByZWFkb25seSBtaWxsaXNlb25kc0luTWludXRlID0gNjAwMDBcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZVxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBnZXRZZWFyKGRhdGU6IFQpOiBudW1iZXJcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgbW9udGggb2YgdGhlIGdpdmVuIGRhdGVcclxuICAgICAqIDAgLS0gSmFudWFyeVxyXG4gICAgICogMTEgLS0gRGVjZW1iZXJcclxuICAgICAqICovXHJcbiAgICBhYnN0cmFjdCBnZXRNb250aChkYXRlOiBUKTogbnVtYmVyXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIGRheSBvZiB0aGUgd2VlayBvZiB0aGUgZ2l2ZW4gZGF0ZVxyXG4gICAgICogMCAtLSBTdW5kYXlcclxuICAgICAqIDYgLS0gU2F0dXJkYXlcclxuICAgICAqICovXHJcbiAgICBhYnN0cmFjdCBnZXREYXkoZGF0ZTogVCk6IG51bWJlclxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHRoZSBkYXkgbnVtIG9mIHRoZSBnaXZlbiBkYXRlXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGdldERhdGUoZGF0ZTogVCk6IG51bWJlclxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IHRoZSBob3VycyBvZiB0aGUgZ2l2ZW4gZGF0ZVxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBnZXRIb3VycyhkYXRlOiBUKTogbnVtYmVyXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIG1pbnV0ZXMgb2YgdGhlIGdpdmVuIGRhdGVcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgZ2V0TWludXRlcyhkYXRlOiBUKTogbnVtYmVyXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIHNlY29uZHMgb2YgdGhlIGdpdmVuIGRhdGVcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgZ2V0U2Vjb25kcyhkYXRlOiBUKTogbnVtYmVyXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXQgdGhlIG1pbGxpc2Vjb25kcyB0aW1lc3RhbXAgb2YgdGhlIGdpdmVuIGRhdGVcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgZ2V0VGltZShkYXRlOiBUKTogbnVtYmVyXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiB0aGUgbW9udGggb2YgdGhlIGdpdmVuIGRhdGUuXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGdldE51bURheXNJbk1vbnRoKGRhdGU6IFQpOiBudW1iZXJcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCB0aGUgbnVtYmVyIG9mIGNhbGVuZGFyIGRheXMgYmV0d2VlbiB0aGUgZ2l2ZW4gZGF0ZXMuXHJcbiAgICAgKiBJZiBkYXRlTGVmdCBpcyBiZWZvcmUgZGF0ZVJpZ2h0LCBpdCB3b3VsZCByZXR1cm4gcG9zaXRpdmUgdmFsdWVcclxuICAgICAqIElmIGRhdGVMZWZ0IGlzIGFmdGVyIGRhdGVSaWdodCwgaXQgd291bGQgcmV0dXJuIG5lZ2F0aXZlIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhkYXRlTGVmdDogVCwgZGF0ZVJpZ2h0OiBUKTogbnVtYmVyXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBHZXRzIHRoZSBuYW1lIGZvciB0aGUgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZS5cclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgZ2V0WWVhck5hbWUoZGF0ZTogVCk6IHN0cmluZ1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IGEgbGlzdCBvZiBtb250aCBuYW1lc1xyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBnZXRNb250aE5hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0IGEgbGlzdCBvZiB3ZWVrIG5hbWVzXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhIGxpc3Qgb2YgbmFtZXMgZm9yIHRoZSBkYXRlcyBvZiB0aGUgbW9udGguXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGdldERhdGVOYW1lcygpOiBzdHJpbmdbXVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJuIGEgRGF0ZSBvYmplY3QgYXMgYSBzdHJpbmcsIHVzaW5nIHRoZSBJU08gc3RhbmRhcmRcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgdG9Jc284NjAxKGRhdGU6IFQpOiBzdHJpbmdcclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGlmIHRoZSBnaXZlIGRhdGVzIGFyZSBlcXVhbFxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBpc0VxdWFsKGRhdGVMZWZ0OiBULCBkYXRlUmlnaHQ6IFQpOiBib29sZWFuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVjayBpZiB0aGUgZ2l2ZSBkYXRlcyBhcmUgdGhlIHNhbWUgZGF5XHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGlzU2FtZURheShkYXRlTGVmdDogVCwgZGF0ZVJpZ2h0OiBUKTogYm9vbGVhblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGRhdGUgaXMgdmFsaWQuXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGlzVmFsaWQoZGF0ZTogVCk6IGJvb2xlYW5cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgZGF0ZSBpbnN0YW5jZSB0aGF0IGlzIG5vdCB2YWxpZC5cclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgaW52YWxpZCgpOiBUXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGNvbnNpZGVyZWQgYSBkYXRlIGluc3RhbmNlIGJ5IHRoaXMgRGF0ZVRpbWVBZGFwdGVyLlxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBpc0RhdGVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW5cclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB5ZWFycyB0byB0aGUgZ2l2ZW4gZGF0ZVxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBhZGRDYWxlbmRhclllYXJzKGRhdGU6IFQsIGFtb3VudDogbnVtYmVyKTogVFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIG1vbnRocyB0byB0aGUgZ2l2ZW4gZGF0ZVxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBhZGRDYWxlbmRhck1vbnRocyhkYXRlOiBULCBhbW91bnQ6IG51bWJlcik6IFRcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkYXlzIHRvIHRoZSBnaXZlbiBkYXRlXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGFkZENhbGVuZGFyRGF5cyhkYXRlOiBULCBhbW91bnQ6IG51bWJlcik6IFRcclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldCB0aGUgaG91cnMgdG8gdGhlIGdpdmVuIGRhdGUuXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IHNldEhvdXJzKGRhdGU6IFQsIGFtb3VudDogbnVtYmVyKTogVFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0IHRoZSBtaW51dGVzIHRvIHRoZSBnaXZlbiBkYXRlLlxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBzZXRNaW51dGVzKGRhdGU6IFQsIGFtb3VudDogbnVtYmVyKTogVFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogU2V0IHRoZSBzZWNvbmRzIHRvIHRoZSBnaXZlbiBkYXRlLlxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBzZXRTZWNvbmRzKGRhdGU6IFQsIGFtb3VudDogbnVtYmVyKTogVFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhIGRhdGUgd2l0aCB0aGUgZ2l2ZW4geWVhciwgbW9udGgsIGRhdGUsIGhvdXIsIG1pbnV0ZSBhbmQgc2Vjb25kLiBEb2VzIG5vdCBhbGxvdyBvdmVyL3VuZGVyLWZsb3cgb2YgdGhlXHJcbiAgICAgKiBtb250aCBhbmQgZGF0ZS5cclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgY3JlYXRlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IFRcclxuICAgIGFic3RyYWN0IGNyZWF0ZURhdGUoXHJcbiAgICAgICAgeWVhcjogbnVtYmVyLFxyXG4gICAgICAgIG1vbnRoOiBudW1iZXIsXHJcbiAgICAgICAgZGF0ZTogbnVtYmVyLFxyXG4gICAgICAgIGhvdXJzOiBudW1iZXIsXHJcbiAgICAgICAgbWludXRlczogbnVtYmVyLFxyXG4gICAgICAgIHNlY29uZHM6IG51bWJlclxyXG4gICAgKTogVFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xvbmUgdGhlIGdpdmVuIGRhdGVcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgY2xvbmUoZGF0ZTogVCk6IFRcclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldCBhIG5ldyBtb21lbnRcclxuICAgICAqICovXHJcbiAgICBhYnN0cmFjdCBub3coKTogVFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRm9ybWF0cyBhIGRhdGUgYXMgYSBzdHJpbmcgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiBmb3JtYXQuXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGZvcm1hdChkYXRlOiBULCBkaXNwbGF5Rm9ybWF0OiBhbnkpOiBzdHJpbmdcclxuXHJcbiAgICAvKipcclxuICAgICAqIFBhcnNlIGEgdXNlci1wcm92aWRlZCB2YWx1ZSB0byBhIERhdGUgT2JqZWN0XHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IHBhcnNlKHZhbHVlOiBhbnksIHBhcnNlRm9ybWF0OiBhbnkpOiBUIHwgbnVsbFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29tcGFyZSB0d28gZ2l2ZW4gZGF0ZXNcclxuICAgICAqIDEgaWYgdGhlIGZpcnN0IGRhdGUgaXMgYWZ0ZXIgdGhlIHNlY29uZCxcclxuICAgICAqIC0xIGlmIHRoZSBmaXJzdCBkYXRlIGlzIGJlZm9yZSB0aGUgc2Vjb25kXHJcbiAgICAgKiAwIGlmIGRhdGVzIGFyZSBlcXVhbC5cclxuICAgICAqICovXHJcbiAgICBjb21wYXJlKGZpcnN0OiBULCBzZWNvbmQ6IFQpOiBudW1iZXIge1xyXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGZpcnN0KSB8fCAhdGhpcy5pc1ZhbGlkKHNlY29uZCkpIHtcclxuICAgICAgICAgICAgdGhyb3cgRXJyb3IoJ0pTTmF0aXZlRGF0ZTogQ2Fubm90IGNvbXBhcmUgaW52YWxpZCBkYXRlcy4nKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZGF0ZUZpcnN0ID0gdGhpcy5jbG9uZShmaXJzdClcclxuICAgICAgICBjb25zdCBkYXRlU2Vjb25kID0gdGhpcy5jbG9uZShzZWNvbmQpXHJcblxyXG4gICAgICAgIGNvbnN0IGRpZmYgPSB0aGlzLmdldFRpbWUoZGF0ZUZpcnN0KSAtIHRoaXMuZ2V0VGltZShkYXRlU2Vjb25kKVxyXG5cclxuICAgICAgICBpZiAoZGlmZiA8IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIC0xXHJcbiAgICAgICAgfSBlbHNlIGlmIChkaWZmID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gMVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFJldHVybiAwIGlmIGRpZmYgaXMgMDsgcmV0dXJuIE5hTiBpZiBkaWZmIGlzIE5hTlxyXG4gICAgICAgICAgICByZXR1cm4gZGlmZlxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIENoZWNrIGlmIHR3byBnaXZlbiBkYXRlcyBhcmUgaW4gdGhlIHNhbWUgeWVhclxyXG4gICAgICogMSBpZiB0aGUgZmlyc3QgZGF0ZSdzIHllYXIgaXMgYWZ0ZXIgdGhlIHNlY29uZCxcclxuICAgICAqIC0xIGlmIHRoZSBmaXJzdCBkYXRlJ3MgeWVhciBpcyBiZWZvcmUgdGhlIHNlY29uZFxyXG4gICAgICogMCBpZiB0d28gZ2l2ZW4gZGF0ZXMgYXJlIGluIHRoZSBzYW1lIHllYXJcclxuICAgICAqICovXHJcbiAgICBjb21wYXJlWWVhcihmaXJzdDogVCwgc2Vjb25kOiBUKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZChmaXJzdCkgfHwgIXRoaXMuaXNWYWxpZChzZWNvbmQpKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdKU05hdGl2ZURhdGU6IENhbm5vdCBjb21wYXJlIGludmFsaWQgZGF0ZXMuJylcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHllYXJMZWZ0ID0gdGhpcy5nZXRZZWFyKGZpcnN0KVxyXG4gICAgICAgIGNvbnN0IHllYXJSaWdodCA9IHRoaXMuZ2V0WWVhcihzZWNvbmQpXHJcblxyXG4gICAgICAgIGNvbnN0IGRpZmYgPSB5ZWFyTGVmdCAtIHllYXJSaWdodFxyXG5cclxuICAgICAgICBpZiAoZGlmZiA8IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIC0xXHJcbiAgICAgICAgfSBlbHNlIGlmIChkaWZmID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gMVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAwXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxyXG4gICAgICogZGVzZXJpYWxpemUgc2hvdWxkIG9ubHkgYWNjZXB0IG5vbi1hbWJpZ3VvdXMsIGxvY2FsZS1pbmRlcGVuZGVudCBmb3JtYXRzIChlLmcuIGEgSVNPIDg2MDFcclxuICAgICAqIHN0cmluZykuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGFsbG93IGFueSBkZXNlcmlhbGl6YXRpb24sIGl0IHNpbXBseSBjaGVja3MgdGhhdFxyXG4gICAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLiBUaGUgYDxtYXQtZGF0ZXBpY2tlcj5gIHdpbGwgY2FsbCB0aGlzXHJcbiAgICAgKiBtZXRob2Qgb24gYWxsIG9mIGl0J3MgYEBJbnB1dCgpYCBwcm9wZXJ0aWVzIHRoYXQgYWNjZXB0IGRhdGVzLiBJdCBpcyB0aGVyZWZvcmUgcG9zc2libGUgdG9cclxuICAgICAqIHN1cHBvcnQgcGFzc2luZyB2YWx1ZXMgZnJvbSB5b3VyIGJhY2tlbmQgZGlyZWN0bHkgdG8gdGhlc2UgcHJvcGVydGllcyBieSBvdmVycmlkaW5nIHRoaXMgbWV0aG9kXHJcbiAgICAgKiB0byBhbHNvIGRlc2VyaWFsaXplIHRoZSBmb3JtYXQgdXNlZCBieSB5b3VyIGJhY2tlbmQuXHJcbiAgICAgKi9cclxuICAgIGRlc2VyaWFsaXplKHZhbHVlOiBhbnkpOiBUIHwgbnVsbCB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB2YWx1ZSA9PSBudWxsIHx8XHJcbiAgICAgICAgICAgICh0aGlzLmlzRGF0ZUluc3RhbmNlKHZhbHVlKSAmJiB0aGlzLmlzVmFsaWQodmFsdWUpKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWVcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTZXRzIHRoZSBsb2NhbGUgdXNlZCBmb3IgYWxsIGRhdGVzLlxyXG4gICAgICovXHJcbiAgICBzZXRMb2NhbGUobG9jYWxlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZVxyXG4gICAgICAgIHRoaXMuX2xvY2FsZUNoYW5nZXMubmV4dCgpXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbGFtcCB0aGUgZ2l2ZW4gZGF0ZSBiZXR3ZWVuIG1pbiBhbmQgbWF4IGRhdGVzLlxyXG4gICAgICovXHJcbiAgICBjbGFtcERhdGUoZGF0ZTogVCwgbWluPzogVCB8IG51bGwsIG1heD86IFQgfCBudWxsKTogVCB7XHJcbiAgICAgICAgaWYgKG1pbiAmJiB0aGlzLmNvbXBhcmUoZGF0ZSwgbWluKSA8IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIG1pblxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobWF4ICYmIHRoaXMuY29tcGFyZShkYXRlLCBtYXgpID4gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gbWF4XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkYXRlXHJcbiAgICB9XHJcbn1cclxuIl19
@@ -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 OWL_DATE_TIME_FORMATS = new InjectionToken('OWL_DATE_TIME_FORMATS');
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWZvcm1hdC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9ueHQtcGljay1kYXRldGltZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3MvZGF0ZS10aW1lLWZvcm1hdC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBWTlDLHVGQUF1RjtBQUN2RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsdUJBQXVCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgT3dsRGF0ZVRpbWVGb3JtYXRzIHtcclxuICAgIHBhcnNlSW5wdXQ6IGFueSxcclxuICAgIGZ1bGxQaWNrZXJJbnB1dDogYW55LFxyXG4gICAgZGF0ZVBpY2tlcklucHV0OiBhbnksXHJcbiAgICB0aW1lUGlja2VySW5wdXQ6IGFueSxcclxuICAgIG1vbnRoWWVhckxhYmVsOiBhbnksXHJcbiAgICBkYXRlQTExeUxhYmVsOiBhbnksXHJcbiAgICBtb250aFllYXJBMTF5TGFiZWw6IGFueSxcclxufVxyXG5cclxuLyoqIEluamVjdGlvblRva2VuIGZvciBkYXRlIHRpbWUgcGlja2VyIHRoYXQgY2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgZGVmYXVsdCBmb3JtYXQuICovXHJcbmV4cG9ydCBjb25zdCBPV0xfREFURV9USU1FX0ZPUk1BVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48T3dsRGF0ZVRpbWVGb3JtYXRzPignT1dMX0RBVEVfVElNRV9GT1JNQVRTJylcclxuIl19
@@ -1,151 +0,0 @@
1
- import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
2
- import { Directive, Inject, Input, Optional } from '@angular/core';
3
- import { DateTimeAdapter } from './date-time-adapter.class';
4
- import { OWL_DATE_TIME_FORMATS } from './date-time-format.class';
5
- let nextUniqueId = 0;
6
- export class OwlDateTimeDirective {
7
- constructor(dateTimeAdapter, dateTimeFormats) {
8
- this.dateTimeAdapter = dateTimeAdapter;
9
- this.dateTimeFormats = dateTimeFormats;
10
- /**
11
- * Whether to show the second's timer
12
- */
13
- this._showSecondsTimer = false;
14
- /**
15
- * Whether the timer is in hour12 format
16
- */
17
- this._hour12Timer = false;
18
- /**
19
- * The view that the calendar should start in.
20
- */
21
- this.startView = 'month';
22
- /**
23
- * Hours to change per step
24
- */
25
- this._stepHour = 1;
26
- /**
27
- * Minutes to change per step
28
- */
29
- this._stepMinute = 1;
30
- /**
31
- * Seconds to change per step
32
- */
33
- this._stepSecond = 1;
34
- /**
35
- * Set the first day of week
36
- */
37
- this._firstDayOfWeek = 0;
38
- /**
39
- * Whether to hide dates in other months at the start or end of the current month.
40
- */
41
- this._hideOtherMonths = false;
42
- /**
43
- * Date Time Checker to check if the give dateTime is selectable
44
- */
45
- this.dateTimeChecker = (dateTime) => {
46
- return (!!dateTime &&
47
- (!this.dateTimeFilter || this.dateTimeFilter(dateTime)) &&
48
- (!this.minDateTime ||
49
- this.dateTimeAdapter.compare(dateTime, this.minDateTime) >=
50
- 0) &&
51
- (!this.maxDateTime ||
52
- this.dateTimeAdapter.compare(dateTime, this.maxDateTime) <= 0));
53
- };
54
- if (!this.dateTimeAdapter) {
55
- throw Error(`OwlDateTimePicker: No provider found for DateTimeAdapter. You must import one of the following ` +
56
- `modules at your application root: OwlNativeDateTimeModule, OwlMomentDateTimeModule, or provide a ` +
57
- `custom implementation.`);
58
- }
59
- if (!this.dateTimeFormats) {
60
- throw Error(`OwlDateTimePicker: No provider found for OWL_DATE_TIME_FORMATS. You must import one of the following ` +
61
- `modules at your application root: OwlNativeDateTimeModule, OwlMomentDateTimeModule, or provide a ` +
62
- `custom implementation.`);
63
- }
64
- this._id = `owl-dt-picker-${nextUniqueId++}`;
65
- }
66
- get showSecondsTimer() {
67
- return this._showSecondsTimer;
68
- }
69
- set showSecondsTimer(val) {
70
- this._showSecondsTimer = coerceBooleanProperty(val);
71
- }
72
- get hour12Timer() {
73
- return this._hour12Timer;
74
- }
75
- set hour12Timer(val) {
76
- this._hour12Timer = coerceBooleanProperty(val);
77
- }
78
- get stepHour() {
79
- return this._stepHour;
80
- }
81
- set stepHour(val) {
82
- this._stepHour = coerceNumberProperty(val, 1);
83
- }
84
- get stepMinute() {
85
- return this._stepMinute;
86
- }
87
- set stepMinute(val) {
88
- this._stepMinute = coerceNumberProperty(val, 1);
89
- }
90
- get stepSecond() {
91
- return this._stepSecond;
92
- }
93
- set stepSecond(val) {
94
- this._stepSecond = coerceNumberProperty(val, 1);
95
- }
96
- get firstDayOfWeek() {
97
- return this._firstDayOfWeek;
98
- }
99
- set firstDayOfWeek(value) {
100
- value = coerceNumberProperty(value, 0);
101
- if (value > 6 || value < 0) {
102
- this._firstDayOfWeek = 0;
103
- }
104
- else {
105
- this._firstDayOfWeek = value;
106
- }
107
- }
108
- get hideOtherMonths() {
109
- return this._hideOtherMonths;
110
- }
111
- set hideOtherMonths(val) {
112
- this._hideOtherMonths = coerceBooleanProperty(val);
113
- }
114
- get id() {
115
- return this._id;
116
- }
117
- get formatString() {
118
- return this.pickerType === 'both'
119
- ? this.dateTimeFormats.fullPickerInput
120
- : this.pickerType === 'calendar'
121
- ? this.dateTimeFormats.datePickerInput
122
- : this.dateTimeFormats.timePickerInput;
123
- }
124
- get disabled() {
125
- return false;
126
- }
127
- getValidDate(obj) {
128
- return this.dateTimeAdapter.isDateInstance(obj) &&
129
- this.dateTimeAdapter.isValid(obj)
130
- ? obj
131
- : null;
132
- }
133
- }
134
- OwlDateTimeDirective.decorators = [
135
- { type: Directive }
136
- ];
137
- OwlDateTimeDirective.ctorParameters = () => [
138
- { type: DateTimeAdapter, decorators: [{ type: Optional }] },
139
- { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [OWL_DATE_TIME_FORMATS,] }] }
140
- ];
141
- OwlDateTimeDirective.propDecorators = {
142
- showSecondsTimer: [{ type: Input }],
143
- hour12Timer: [{ type: Input }],
144
- startView: [{ type: Input }],
145
- stepHour: [{ type: Input }],
146
- stepMinute: [{ type: Input }],
147
- stepSecond: [{ type: Input }],
148
- firstDayOfWeek: [{ type: Input }],
149
- hideOtherMonths: [{ type: Input }]
150
- };
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNsYXNzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL254dC1waWNrLWRhdGV0aW1lL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jbGFzcy9kYXRlLXRpbWUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sRUFBc0IscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUVwRixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUE7QUFhcEIsTUFBTSxPQUFnQixvQkFBb0I7SUF5S3RDLFlBQzBCLGVBQW1DLEVBRy9DLGVBQW1DO1FBSHZCLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUcvQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUE1S2pEOztXQUVHO1FBQ0ssc0JBQWlCLEdBQUcsS0FBSyxDQUFBO1FBVWpDOztXQUVHO1FBQ0ssaUJBQVksR0FBRyxLQUFLLENBQUE7UUFVNUI7O1dBRUc7UUFFSCxjQUFTLEdBQXFDLE9BQU8sQ0FBQTtRQUVyRDs7V0FFRztRQUNLLGNBQVMsR0FBRyxDQUFDLENBQUE7UUFVckI7O1dBRUc7UUFDSyxnQkFBVyxHQUFHLENBQUMsQ0FBQTtRQVV2Qjs7V0FFRztRQUNLLGdCQUFXLEdBQUcsQ0FBQyxDQUFBO1FBVXZCOztXQUVHO1FBQ0ssb0JBQWUsR0FBRyxDQUFDLENBQUE7UUFlM0I7O1dBRUc7UUFDSyxxQkFBZ0IsR0FBRyxLQUFLLENBQUE7UUF5RGhDOztXQUVHO1FBQ0ksb0JBQWUsR0FBRyxDQUFDLFFBQVcsRUFBRSxFQUFFO1lBQ3JDLE9BQU8sQ0FDSCxDQUFDLENB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LENBQUM7SUFHRCxJQUFJLEVBQUU7UUFDRixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUE7SUFDbkIsQ0FBQztJQW9DRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssTUFBTTtZQUM3QixDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlO1lBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVU7Z0JBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWU7Z0JBQ3RDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQTtJQUNsRCxDQUFDO0lBaUJELElBQUksUUFBUTtRQUNSLE9BQU8sS0FBSyxDQUFBO0lBQ2hCLENBQUM7SUEyQlMsWUFBWSxDQUFDLEdBQVE7UUFDM0IsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7WUFDM0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1lBQ2pDLENBQUMsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDLElBQUksQ0FBQTtJQUNkLENBQUM7OztZQXhNSixTQUFTOzs7WUFmRCxlQUFlLHVCQTBMZixRQUFROzRDQUNSLFFBQVEsWUFDUixNQUFNLFNBQUMscUJBQXFCOzs7K0JBdktoQyxLQUFLOzBCQWFMLEtBQUs7d0JBWUwsS0FBSzt1QkFPTCxLQUFLO3lCQWFMLEtBQUs7eUJBYUwsS0FBSzs2QkFhTCxLQUFLOzhCQWtCTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbidcclxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgRGF0ZVRpbWVBZGFwdGVyIH0gZnJvbSAnLi9kYXRlLXRpbWUtYWRhcHRlci5jbGFzcydcclxuaW1wb3J0IHsgT3dsRGF0ZVRpbWVGb3JtYXRzLCBPV0xfREFURV9USU1FX0ZPUk1BVFMgfSBmcm9tICcuL2RhdGUtdGltZS1mb3JtYXQuY2xhc3MnXHJcblxyXG5sZXQgbmV4dFVuaXF1ZUlkID0gMFxyXG5cclxuZXhwb3J0IHR5cGUgUGlja2VyVHlwZSA9ICdib3RoJyB8ICdjYWxlbmRhcicgfCAndGltZXInXHJcblxyXG5leHBvcnQgdHlwZSBQaWNrZXJNb2RlID0gJ3BvcHVwJyB8ICdkaWFsb2cnIHwgJ2lubGluZSdcclxuXHJcbmV4cG9ydCB0eXBlIFNlbGVjdE1vZGUgPSAnc2luZ2xlJyB8ICdyYW5nZScgfCAncmFuZ2VGcm9tJyB8ICdyYW5nZVRvJ1xyXG5cclxuZXhwb3J0IHR5cGUgUmVuZGVySXRlbSA9ICd5ZWFyJyB8ICdtb250aCcgfCAnZGF0ZSdcclxuXHJcbmV4cG9ydCB0eXBlIERhdGVGaWx0ZXI8VD4gPSAoZGF0ZTogVCwgZm9yUmVuZGVyPzogUmVuZGVySXRlbSkgPT4gYm9vbGVhblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBPd2xEYXRlVGltZURpcmVjdGl2ZTxUPiB7XHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgdG8gc2hvdyB0aGUgc2Vjb25kJ3MgdGltZXJcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfc2hvd1NlY29uZHNUaW1lciA9IGZhbHNlXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dTZWNvbmRzVGltZXIoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dTZWNvbmRzVGltZXJcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc2hvd1NlY29uZHNUaW1lcih2YWw6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zaG93U2Vjb25kc1RpbWVyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbClcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgdGhlIHRpbWVyIGlzIGluIGhvdXIxMiBmb3JtYXRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfaG91cjEyVGltZXIgPSBmYWxzZVxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBob3VyMTJUaW1lcigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faG91cjEyVGltZXJcclxuICAgIH1cclxuXHJcbiAgICBzZXQgaG91cjEyVGltZXIodmFsOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faG91cjEyVGltZXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIHZpZXcgdGhhdCB0aGUgY2FsZW5kYXIgc2hvdWxkIHN0YXJ0IGluLlxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc3RhcnRWaWV3OiAnbW9udGgnIHwgJ3llYXInIHwgJ211bHRpLXllYXJzJyA9ICdtb250aCdcclxuXHJcbiAgICAvKipcclxuICAgICAqIEhvdXJzIHRvIGNoYW5nZSBwZXIgc3RlcFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9zdGVwSG91ciA9IDFcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc3RlcEhvdXIoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RlcEhvdXJcclxuICAgIH1cclxuXHJcbiAgICBzZXQgc3RlcEhvdXIodmFsOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLl9zdGVwSG91ciA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbCwgMSlcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1pbnV0ZXMgdG8gY2hhbmdlIHBlciBzdGVwXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3N0ZXBNaW51dGUgPSAxXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHN0ZXBNaW51dGUoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RlcE1pbnV0ZVxyXG4gICAgfVxyXG5cclxuICAgIHNldCBzdGVwTWludXRlKHZhbDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fc3RlcE1pbnV0ZSA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbCwgMSlcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNlY29uZHMgdG8gY2hhbmdlIHBlciBzdGVwXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3N0ZXBTZWNvbmQgPSAxXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHN0ZXBTZWNvbmQoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RlcFNlY29uZFxyXG4gICAgfVxyXG5cclxuICAgIHNldCBzdGVwU2Vjb25kKHZhbDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5fc3RlcFNlY29uZCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbCwgMSlcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldCB0aGUgZmlyc3QgZGF5IG9mIHdlZWtcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfZmlyc3REYXlPZldlZWsgPSAwXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGZpcnN0RGF5T2ZXZWVrKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9maXJzdERheU9mV2Vla1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBmaXJzdERheU9mV2Vlayh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgdmFsdWUgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSwgMClcclxuICAgICAgICBpZiAodmFsdWUgPiA2IHx8IHZhbHVlIDwgMCkge1xyXG4gICAgICAgICAgICB0aGlzLl9maXJzdERheU9mV2VlayA9IDBcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLl9maXJzdERheU9mV2VlayA9IHZhbHVlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogV2hldGhlciB0byBoaWRlIGRhdGVzIGluIG90aGVyIG1vbnRocyBhdCB0aGUgc3RhcnQgb3IgZW5kIG9mIHRoZSBjdXJyZW50IG1vbnRoLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9oaWRlT3RoZXJNb250aHMgPSBmYWxzZVxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBoaWRlT3RoZXJNb250aHMoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGVPdGhlck1vbnRoc1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBoaWRlT3RoZXJNb250aHModmFsOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5faGlkZU90aGVyTW9udGhzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbClcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9pZDogc3RyaW5nXHJcbiAgICBnZXQgaWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5faWRcclxuICAgIH1cclxuXHJcbiAgICBhYnN0cmFjdCBnZXQgc2VsZWN0ZWQoKTogVCB8IG51bGw7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0IHNlbGVjdGVkcygpOiBUW10gfCBudWxsO1xyXG5cclxuICAgIGFic3RyYWN0IGdldCBkYXRlVGltZUZpbHRlcigpOiAoZGF0ZTogVCB8IG51bGwpID0+IGJvb2xlYW47XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0IG1heERhdGVUaW1lKCk6IFQgfCBudWxsO1xyXG5cclxuICAgIGFic3RyYWN0IGdldCBtaW5EYXRlVGltZSgpOiBUIHwgbnVsbDtcclxuXHJcbiAgICBhYnN0cmFjdCBnZXQgc2VsZWN0TW9kZSgpOiBTZWxlY3RNb2RlO1xyXG5cclxuICAgIGFic3RyYWN0IGdldCBzdGFydEF0KCk6IFQgfCBudWxsO1xyXG5cclxuICAgIGFic3RyYWN0IGdldCBvcGVuZWQoKTogYm9vbGVhbjtcclxuXHJcbiAgICBhYnN0cmFjdCBnZXQgcGlja2VyTW9kZSgpOiBQaWNrZXJNb2RlO1xyXG5cclxuICAgIGFic3RyYWN0IGdldCBwaWNrZXJUeXBlKCk6IFBpY2tlclR5cGU7XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0IGlzSW5TaW5nbGVNb2RlKCk6IGJvb2xlYW47XHJcblxyXG4gICAgYWJzdHJhY3QgZ2V0IGlzSW5SYW5nZU1vZGUoKTogYm9vbGVhbjtcclxuXHJcbiAgICBhYnN0cmFjdCBzZWxlY3QoZGF0ZTogVCB8IFRbXSk6IHZvaWRcclxuXHJcbiAgICBhYnN0cmFjdCB5ZWFyU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxUPlxyXG5cclxuICAgIGFic3RyYWN0IG1vbnRoU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxUPlxyXG5cclxuICAgIGFic3RyYWN0IHNlbGVjdFllYXIobm9ybWFsaXplZFllYXI6IFQpOiB2b2lkXHJcblxyXG4gICAgYWJzdHJhY3Qgc2VsZWN0TW9udGgobm9ybWFsaXplZE1vbnRoOiBUKTogdm9pZFxyXG5cclxuICAgIGdldCBmb3JtYXRTdHJpbmcoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5waWNrZXJUeXBlID09PSAnYm90aCdcclxuICAgICAgICAgICAgPyB0aGlzLmRhdGVUaW1lRm9ybWF0cy5mdWxsUGlja2VySW5wdXRcclxuICAgICAgICAgICAgOiB0aGlzLnBpY2tlclR5cGUgPT09ICdjYWxlbmRhcidcclxuICAgICAgICAgICAgICAgID8gdGhpcy5kYXRlVGltZUZvcm1hdHMuZGF0ZVBpY2tlcklucHV0XHJcbiAgICAgICAgICAgICAgICA6IHRoaXMuZGF0ZVRpbWVGb3JtYXRzLnRpbWVQaWNrZXJJbnB1dFxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGF0ZSBUaW1lIENoZWNrZXIgdG8gY2hlY2sgaWYgdGhlIGdpdmUgZGF0ZVRpbWUgaXMgc2VsZWN0YWJsZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZGF0ZVRpbWVDaGVja2VyID0gKGRhdGVUaW1lOiBUKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgISFkYXRlVGltZSAmJlxyXG4gICAgICAgICAgICAoIXRoaXMuZGF0ZVRpbWVGaWx0ZXIgfHwgdGhpcy5kYXRlVGltZUZpbHRlcihkYXRlVGltZSkpICYmXHJcbiAgICAgICAgICAgICghdGhpcy5taW5EYXRlVGltZSB8fFxyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlVGltZUFkYXB0ZXIuY29tcGFyZShkYXRlVGltZSwgdGhpcy5taW5EYXRlVGltZSkgPj1cclxuICAgICAgICAgICAgICAgIDApICYmXHJcbiAgICAgICAgICAgICghdGhpcy5tYXhEYXRlVGltZSB8fFxyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlVGltZUFkYXB0ZXIuY29tcGFyZShkYXRlVGltZSwgdGhpcy5tYXhEYXRlVGltZSkgPD0gMClcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBkYXRlVGltZUFkYXB0ZXI6IERhdGVUaW1lQWRhcHRlcjxUPixcclxuICAgICAgICBAT3B0aW9uYWwoKVxyXG4gICAgICAgIEBJbmplY3QoT1dMX0RBVEVfVElNRV9GT1JNQVRTKVxyXG4gICAgICAgIHByb3RlY3RlZCBkYXRlVGltZUZvcm1hdHM6IE93bERhdGVUaW1lRm9ybWF0c1xyXG4gICAgKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmRhdGVUaW1lQWRhcHRlcikge1xyXG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcclxuICAgICAgICAgICAgICAgIGBPd2xEYXRlVGltZVBpY2tlcjogTm8gcHJvdmlkZXIgZm91bmQgZm9yIERhdGVUaW1lQWRhcHRlci4gWW91IG11c3QgaW1wb3J0IG9uZSBvZiB0aGUgZm9sbG93aW5nIGAgK1xyXG4gICAgICAgICAgICAgICAgYG1vZHVsZXMgYXQgeW91ciBhcHBsaWNhdGlvbiByb290OiBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSwgT3dsTW9tZW50RGF0ZVRpbWVNb2R1bGUsIG9yIHByb3ZpZGUgYSBgICtcclxuICAgICAgICAgICAgICAgIGBjdXN0b20gaW1wbGVtZW50YXRpb24uYFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuZGF0ZVRpbWVGb3JtYXRzKSB7XHJcbiAgICAgICAgICAgIHRocm93IEVycm9yKFxyXG4gICAgICAgICAgICAgICAgYE93bERhdGVUaW1lUGlja2VyOiBObyBwcm92aWRlciBmb3VuZCBmb3IgT1dMX0RBVEVfVElNRV9GT1JNQVRTLiBZb3UgbXVzdCBpbXBvcnQgb25lIG9mIHRoZSBmb2xsb3dpbmcgYCArXHJcbiAgICAgICAgICAgICAgICBgbW9kdWxlcyBhdCB5b3VyIGFwcGxpY2F0aW9uIHJvb3Q6IE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlLCBPd2xNb21lbnREYXRlVGltZU1vZHVsZSwgb3IgcHJvdmlkZSBhIGAgK1xyXG4gICAgICAgICAgICAgICAgYGN1c3RvbSBpbXBsZW1lbnRhdGlvbi5gXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX2lkID0gYG93bC1kdC1waWNrZXItJHtuZXh0VW5pcXVlSWQrK31gXHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGdldFZhbGlkRGF0ZShvYmo6IGFueSk6IFQgfCBudWxsIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kYXRlVGltZUFkYXB0ZXIuaXNEYXRlSW5zdGFuY2Uob2JqKSAmJlxyXG4gICAgICAgICAgICB0aGlzLmRhdGVUaW1lQWRhcHRlci5pc1ZhbGlkKG9iailcclxuICAgICAgICAgICAgPyBvYmpcclxuICAgICAgICAgICAgOiBudWxsXHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,56 +0,0 @@
1
- import { NoopScrollStrategy } from '@angular/cdk/overlay';
2
- let uniqueId = 0;
3
- export class OwlDialogConfig {
4
- constructor() {
5
- /**
6
- * ID of the element that describes the dialog.
7
- */
8
- this.ariaDescribedBy = null;
9
- /**
10
- * Whether to focus the dialog when the dialog is opened
11
- */
12
- this.autoFocus = true;
13
- /** Whether the dialog has a backdrop. */
14
- this.hasBackdrop = true;
15
- /** Data being injected into the child component. */
16
- this.data = null;
17
- /** Whether the user can use escape or clicking outside to close a modal. */
18
- this.disableClose = false;
19
- /**
20
- * The ARIA role of the dialog element.
21
- */
22
- this.role = 'dialog';
23
- /**
24
- * Custom class for the pane
25
- * */
26
- this.paneClass = '';
27
- /**
28
- * Mouse Event
29
- * */
30
- this.event = null;
31
- /**
32
- * Custom class for the backdrop
33
- * */
34
- this.backdropClass = '';
35
- /**
36
- * Whether the dialog should close when the user goes backwards/forwards in history.
37
- * */
38
- this.closeOnNavigation = true;
39
- /** Width of the dialog. */
40
- this.width = '';
41
- /** Height of the dialog. */
42
- this.height = '';
43
- /**
44
- * The max-width of the overlay panel.
45
- * If a number is provided, pixel units are assumed.
46
- * */
47
- this.maxWidth = '85vw';
48
- /**
49
- * The scroll strategy when the dialog is open
50
- * Learn more this from https://material.angular.io/cdk/overlay/overview#scroll-strategies
51
- * */
52
- this.scrollStrategy = new NoopScrollStrategy();
53
- this.id = `owl-dialog-${uniqueId++}`;
54
- }
55
- }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9ueHQtcGljay1kYXRldGltZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3MvZGlhbG9nLWNvbmZpZy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUE7QUFHekUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0FBaUJoQixNQUFNLE9BQU8sZUFBZTtJQWdHeEI7UUEvRkE7O1dBRUc7UUFDSSxvQkFBZSxHQUFtQixJQUFJLENBQUE7UUFFN0M7O1dBRUc7UUFDSSxjQUFTLEdBQUksSUFBSSxDQUFBO1FBRXhCLHlDQUF5QztRQUNsQyxnQkFBVyxHQUFJLElBQUksQ0FBQTtRQU8xQixvREFBb0Q7UUFDN0MsU0FBSSxHQUFTLElBQUksQ0FBQTtRQUV4Qiw0RUFBNEU7UUFDckUsaUJBQVksR0FBSSxLQUFLLENBQUE7UUFPNUI7O1dBRUc7UUFDSSxTQUFJLEdBQThCLFFBQVEsQ0FBQTtRQUVqRDs7YUFFSztRQUNFLGNBQVMsR0FBdUIsRUFBRSxDQUFBO1FBRXpDOzthQUVLO1FBQ0UsVUFBSyxHQUFnQixJQUFJLENBQUE7UUFFaEM7O2FBRUs7UUFDRSxrQkFBYSxHQUF1QixFQUFFLENBQUE7UUFFN0M7O2FBRUs7UUFDRSxzQkFBaUIsR0FBYSxJQUFJLENBQUE7UUFFekMsMkJBQTJCO1FBQ3BCLFVBQUssR0FBWSxFQUFFLENBQUE7UUFFMUIsNEJBQTRCO1FBQ3JCLFdBQU0sR0FBWSxFQUFFLENBQUE7UUFjM0I7OzthQUdLO1FBQ0UsYUFBUSxHQUFxQixNQUFNLENBQUE7UUFXMUM7OzthQUdLO1FBQ0UsbUJBQWMsR0FBb0IsSUFBSSxrQkFBa0IsRUFBRSxDQUFBO1FBSzdELElBQUksQ0FBQyxFQUFFLEdBQUcsY0FBYyxRQUFRLEVBQUUsRUFBRSxDQUFBO0lBQ3hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vb3BTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcclxuaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5sZXQgdW5pcXVlSWQgPSAwXHJcblxyXG4vKiogUG9zc2libGUgb3ZlcnJpZGVzIGZvciBhIGRpYWxvZydzIHBvc2l0aW9uLiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ1Bvc2l0aW9uIHtcclxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIHRvcCBwb3NpdGlvbi4gKi9cclxuICAgIHRvcD86IHN0cmluZ1xyXG5cclxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIGJvdHRvbSBwb3NpdGlvbi4gKi9cclxuICAgIGJvdHRvbT86IHN0cmluZ1xyXG5cclxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIGxlZnQgcG9zaXRpb24uICovXHJcbiAgICBsZWZ0Pzogc3RyaW5nXHJcblxyXG4gICAgLyoqIE92ZXJyaWRlIGZvciB0aGUgZGlhbG9nJ3MgcmlnaHQgcG9zaXRpb24uICovXHJcbiAgICByaWdodD86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgT3dsRGlhbG9nQ29uZmlnIHtcclxuICAgIC8qKlxyXG4gICAgICogSUQgb2YgdGhlIGVsZW1lbnQgdGhhdCBkZXNjcmliZXMgdGhlIGRpYWxvZy5cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZyB8IG51bGwgPSBudWxsXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBXaGV0aGVyIHRvIGZvY3VzIHRoZSBkaWFsb2cgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5lZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXV0b0ZvY3VzID89IHRydWVcclxuXHJcbiAgICAvKiogV2hldGhlciB0aGUgZGlhbG9nIGhhcyBhIGJhY2tkcm9wLiAqL1xyXG4gICAgcHVibGljIGhhc0JhY2tkcm9wID89IHRydWVcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1c3RvbSBzdHlsZSBmb3IgdGhlIGJhY2tkcm9wXHJcbiAgICAgKiAqL1xyXG4gICAgcHVibGljIGJhY2tkcm9wU3R5bGU/OiBhbnlcclxuXHJcbiAgICAvKiogRGF0YSBiZWluZyBpbmplY3RlZCBpbnRvIHRoZSBjaGlsZCBjb21wb25lbnQuICovXHJcbiAgICBwdWJsaWMgZGF0YT86IGFueSA9IG51bGxcclxuXHJcbiAgICAvKiogV2hldGhlciB0aGUgdXNlciBjYW4gdXNlIGVzY2FwZSBvciBjbGlja2luZyBvdXRzaWRlIHRvIGNsb3NlIGEgbW9kYWwuICovXHJcbiAgICBwdWJsaWMgZGlzYWJsZUNsb3NlID89IGZhbHNlXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJRCBmb3IgdGhlIG1vZGFsLiBJZiBvbWl0dGVkLCBhIHVuaXF1ZSBvbmUgd2lsbCBiZSBnZW5lcmF0ZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBpZD86IHN0cmluZ1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIEFSSUEgcm9sZSBvZiB0aGUgZGlhbG9nIGVsZW1lbnQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByb2xlPzogJ2RpYWxvZycgfCAnYWxlcnRkaWFsb2cnID0gJ2RpYWxvZydcclxuXHJcbiAgICAvKipcclxuICAgICAqIEN1c3RvbSBjbGFzcyBmb3IgdGhlIHBhbmVcclxuICAgICAqICovXHJcbiAgICBwdWJsaWMgcGFuZUNsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnJ1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTW91c2UgRXZlbnRcclxuICAgICAqICovXHJcbiAgICBwdWJsaWMgZXZlbnQ/OiBNb3VzZUV2ZW50ID0gbnVsbFxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3VzdG9tIGNsYXNzIGZvciB0aGUgYmFja2Ryb3BcclxuICAgICAqICovXHJcbiAgICBwdWJsaWMgYmFja2Ryb3BDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJydcclxuXHJcbiAgICAvKipcclxuICAgICAqIFdoZXRoZXIgdGhlIGRpYWxvZyBzaG91bGQgY2xvc2Ugd2hlbiB0aGUgdXNlciBnb2VzIGJhY2t3YXJkcy9mb3J3YXJkcyBpbiBoaXN0b3J5LlxyXG4gICAgICogKi9cclxuICAgIHB1YmxpYyBjbG9zZU9uTmF2aWdhdGlvbj86IGJvb2xlYW4gPSB0cnVlXHJcblxyXG4gICAgLyoqIFdpZHRoIG9mIHRoZSBkaWFsb2cuICovXHJcbiAgICBwdWJsaWMgd2lkdGg/OiBzdHJpbmcgPSAnJ1xyXG5cclxuICAgIC8qKiBIZWlnaHQgb2YgdGhlIGRpYWxvZy4gKi9cclxuICAgIHB1YmxpYyBoZWlnaHQ/OiBzdHJpbmcgPSAnJ1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1pbi13aWR0aCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cclxuICAgICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cclxuICAgICAqICovXHJcbiAgICBwdWJsaWMgbWluV2lkdGg/OiBudW1iZXIgfCBzdHJpbmdcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtaW4taGVpZ2h0IG9mIHRoZSBvdmVybGF5IHBhbmVsLlxyXG4gICAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxyXG4gICAgICogKi9cclxuICAgIHB1YmxpYyBtaW5IZWlnaHQ/OiBudW1iZXIgfCBzdHJpbmdcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtYXgtd2lkdGggb2YgdGhlIG92ZXJsYXkgcGFuZWwuXHJcbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXHJcbiAgICAgKiAqL1xyXG4gICAgcHVibGljIG1heFdpZHRoPzogbnVtYmVyIHwgc3RyaW5nID0gJzg1dncnXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWF4LWhlaWdodCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cclxuICAgICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cclxuICAgICAqICovXHJcbiAgICBwdWJsaWMgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXHJcblxyXG4gICAgLyoqIFBvc2l0aW9uIG92ZXJyaWRlcy4gKi9cclxuICAgIHB1YmxpYyBwb3NpdGlvbj86IERpYWxvZ1Bvc2l0aW9uXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgc2Nyb2xsIHN0cmF0ZWd5IHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuXHJcbiAgICAgKiBMZWFybiBtb3JlIHRoaXMgZnJvbSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY2RrL292ZXJsYXkvb3ZlcnZpZXcjc2Nyb2xsLXN0cmF0ZWdpZXNcclxuICAgICAqICovXHJcbiAgICBwdWJsaWMgc2Nyb2xsU3RyYXRlZ3k/OiBTY3JvbGxTdHJhdGVneSA9IG5ldyBOb29wU2Nyb2xsU3RyYXRlZ3koKVxyXG5cclxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZlxyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgICAgIHRoaXMuaWQgPSBgb3dsLWRpYWxvZy0ke3VuaXF1ZUlkKyt9YFxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,113 +0,0 @@
1
- import { ESCAPE } from '@angular/cdk/keycodes';
2
- import { Subject, Subscription } from 'rxjs';
3
- import { filter, take } from 'rxjs/operators';
4
- export class OwlDialogRef {
5
- constructor(overlayRef, container, id, location) {
6
- this.overlayRef = overlayRef;
7
- this.container = container;
8
- this.id = id;
9
- this._beforeClose$ = new Subject();
10
- this._afterOpen$ = new Subject();
11
- this._afterClosed$ = new Subject();
12
- /** Subscription to changes in the user's location. */
13
- this.locationChanged = Subscription.EMPTY;
14
- /** Whether the user is allowed to close the dialog. */
15
- this.disableClose = this.container.config.disableClose;
16
- this.container.animationStateChanged
17
- .pipe(filter((event) => event.phaseName === 'done' && event.toState === 'enter'), take(1))
18
- .subscribe(() => {
19
- this._afterOpen$.next();
20
- this._afterOpen$.complete();
21
- });
22
- this.container.animationStateChanged
23
- .pipe(filter((event) => event.phaseName === 'done' && event.toState === 'exit'), take(1))
24
- .subscribe(() => {
25
- this.overlayRef.dispose();
26
- this.locationChanged.unsubscribe();
27
- this._afterClosed$.next(this.result);
28
- this._afterClosed$.complete();
29
- this.componentInstance = null;
30
- });
31
- this.overlayRef.keydownEvents()
32
- .pipe(filter(event => event.keyCode === ESCAPE && !this.disableClose))
33
- .subscribe(() => this.close());
34
- if (location) {
35
- this.locationChanged = location.subscribe(() => {
36
- if (this.container.config.closeOnNavigation) {
37
- this.close();
38
- }
39
- });
40
- }
41
- }
42
- close(dialogResult) {
43
- this.result = dialogResult;
44
- this.container.animationStateChanged
45
- .pipe(filter((event) => event.phaseName === 'start'), take(1))
46
- .subscribe(() => {
47
- this._beforeClose$.next(dialogResult);
48
- this._beforeClose$.complete();
49
- this.overlayRef.detachBackdrop();
50
- });
51
- this.container.startExitAnimation();
52
- }
53
- /**
54
- * Gets an observable that emits when the overlay's backdrop has been clicked.
55
- */
56
- backdropClick() {
57
- return this.overlayRef.backdropClick();
58
- }
59
- /**
60
- * Gets an observable that emits when keydown events are targeted on the overlay.
61
- */
62
- keydownEvents() {
63
- return this.overlayRef.keydownEvents();
64
- }
65
- /**
66
- * Updates the dialog's position.
67
- * @param position New dialog position.
68
- */
69
- updatePosition(position) {
70
- const strategy = this.getPositionStrategy();
71
- if (position && (position.left || position.right)) {
72
- position.left ? strategy.left(position.left) : strategy.right(position.right);
73
- }
74
- else {
75
- strategy.centerHorizontally();
76
- }
77
- if (position && (position.top || position.bottom)) {
78
- position.top ? strategy.top(position.top) : strategy.bottom(position.bottom);
79
- }
80
- else {
81
- strategy.centerVertically();
82
- }
83
- this.overlayRef.updatePosition();
84
- return this;
85
- }
86
- /**
87
- * Updates the dialog's width and height.
88
- * @param width New width of the dialog.
89
- * @param height New height of the dialog.
90
- */
91
- updateSize(width = 'auto', height = 'auto') {
92
- this.getPositionStrategy().width(width).height(height);
93
- this.overlayRef.updatePosition();
94
- return this;
95
- }
96
- isAnimating() {
97
- return this.container.isAnimating;
98
- }
99
- afterOpen() {
100
- return this._afterOpen$.asObservable();
101
- }
102
- beforeClose() {
103
- return this._beforeClose$.asObservable();
104
- }
105
- afterClosed() {
106
- return this._afterClosed$.asObservable();
107
- }
108
- /** Fetches the position strategy object from the overlay ref. */
109
- getPositionStrategy() {
110
- return this.overlayRef.getConfig().positionStrategy;
111
- }
112
- }
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi9wcm9qZWN0cy9ueHQtcGljay1kYXRldGltZS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3MvZGlhbG9nLXJlZi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHOUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQXFDLE1BQU0sTUFBTSxDQUFBO0FBQzNGLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFJN0MsTUFBTSxPQUFPLFlBQVk7SUFxQnJCLFlBQW9CLFVBQXNCLEVBQzlCLFNBQXNDLEVBQzlCLEVBQVUsRUFDMUIsUUFBbUI7UUFISCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBQzlCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFuQnRCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQTtRQUVsQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUE7UUFFaEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFBO1FBRTFDLHNEQUFzRDtRQUM5QyxvQkFBZSxHQUFrQixZQUFZLENBQUMsS0FBSyxDQUFBO1FBTzNELHVEQUF1RDtRQUNoRCxpQkFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQTtRQU9wRCxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQjthQUMvQixJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFDMUYsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZ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LE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxnQkFBMEMsQ0FBQTtJQUNqRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnXHJcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2RlcydcclxuaW1wb3J0IHsgR2xvYmFsUG9zaXRpb25TdHJhdGVneSwgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5J1xyXG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBTdWJzY3JpcHRpb25MaWtlIGFzIElTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcclxuaW1wb3J0IHsgT3dsRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZGlhbG9nL2RpYWxvZy1jb250YWluZXIvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQnXHJcbmltcG9ydCB7IERpYWxvZ1Bvc2l0aW9uIH0gZnJvbSAnLi9kaWFsb2ctY29uZmlnLmNsYXNzJ1xyXG5cclxuZXhwb3J0IGNsYXNzIE93bERpYWxvZ1JlZjxUPiB7XHJcblxyXG4gICAgcHJpdmF0ZSByZXN1bHQ6IGFueVxyXG5cclxuICAgIHByaXZhdGUgX2JlZm9yZUNsb3NlJCA9IG5ldyBTdWJqZWN0PGFueT4oKVxyXG5cclxuICAgIHByaXZhdGUgX2FmdGVyT3BlbiQgPSBuZXcgU3ViamVjdDxhbnk+KClcclxuXHJcbiAgICBwcml2YXRlIF9hZnRlckNsb3NlZCQgPSBuZXcgU3ViamVjdDxhbnk+KClcclxuXHJcbiAgICAvKiogU3Vic2NyaXB0aW9uIHRvIGNoYW5nZXMgaW4gdGhlIHVzZXIncyBsb2NhdGlvbi4gKi9cclxuICAgIHByaXZhdGUgbG9jYXRpb25DaGFuZ2VkOiBJU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgaW5zdGFuY2Ugb2YgY29tcG9uZW50IG9wZW5lZCBpbnRvIG1vZGFsXHJcbiAgICAgKiAqL1xyXG4gICAgcHVibGljIGNvbXBvbmVudEluc3RhbmNlOiBUXHJcblxyXG4gICAgLyoqIFdoZXRoZXIgdGhlIHVzZXIgaXMgYWxsb3dlZCB0byBjbG9zZSB0aGUgZGlhbG9nLiAqL1xyXG4gICAgcHVibGljIGRpc2FibGVDbG9zZSA9IHRoaXMuY29udGFpbmVyLmNvbmZpZy5kaXNhYmxlQ2xvc2VcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBjb250YWluZXI6IE93bERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCxcclxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZyxcclxuICAgICAgICBsb2NhdGlvbj86IExvY2F0aW9uKSB7XHJcblxyXG4gICAgICAgIHRoaXMuY29udGFpbmVyLmFuaW1hdGlvblN0YXRlQ2hhbmdlZFxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSA9PiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnZW50ZXInKSxcclxuICAgICAgICAgICAgICAgIHRha2UoMSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FmdGVyT3BlbiQubmV4dCgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlck9wZW4kLmNvbXBsZXRlKClcclxuICAgICAgICAgICAgfSlcclxuXHJcbiAgICAgICAgdGhpcy5jb250YWluZXIuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudDogQW5pbWF0aW9uRXZlbnQpID0+IGV2ZW50LnBoYXNlTmFtZSA9PT0gJ2RvbmUnICYmIGV2ZW50LnRvU3RhdGUgPT09ICdleGl0JyksXHJcbiAgICAgICAgICAgICAgICB0YWtlKDEpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uQ2hhbmdlZC51bnN1YnNjcmliZSgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlckNsb3NlZCQubmV4dCh0aGlzLnJlc3VsdClcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FmdGVyQ2xvc2VkJC5jb21wbGV0ZSgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gbnVsbFxyXG4gICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpXHJcbiAgICAgICAgICAgIC5waXBlKGZpbHRlcihldmVudCA9PiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUgJiYgIXRoaXMuZGlzYWJsZUNsb3NlKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpXHJcblxyXG4gICAgICAgIGlmIChsb2NhdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uQ2hhbmdlZCA9IGxvY2F0aW9uLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250YWluZXIuY29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbG9zZShkaWFsb2dSZXN1bHQ/OiBhbnkpIHtcclxuICAgICAgICB0aGlzLnJlc3VsdCA9IGRpYWxvZ1Jlc3VsdFxyXG5cclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5hbmltYXRpb25TdGF0ZUNoYW5nZWRcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnc3RhcnQnKSxcclxuICAgICAgICAgICAgICAgIHRha2UoMSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2JlZm9yZUNsb3NlJC5uZXh0KGRpYWxvZ1Jlc3VsdClcclxuICAgICAgICAgICAgICAgIHRoaXMuX2JlZm9yZUNsb3NlJC5jb21wbGV0ZSgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoQmFja2Ryb3AoKVxyXG4gICAgICAgICAgICB9KVxyXG5cclxuICAgICAgICB0aGlzLmNvbnRhaW5lci5zdGFydEV4aXRBbmltYXRpb24oKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiB0aGUgb3ZlcmxheSdzIGJhY2tkcm9wIGhhcyBiZWVuIGNsaWNrZWQuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBiYWNrZHJvcENsaWNrKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKClcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4ga2V5ZG93biBldmVudHMgYXJlIHRhcmdldGVkIG9uIHRoZSBvdmVybGF5LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMga2V5ZG93bkV2ZW50cygpOiBPYnNlcnZhYmxlPEtleWJvYXJkRXZlbnQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB0aGUgZGlhbG9nJ3MgcG9zaXRpb24uXHJcbiAgICAgKiBAcGFyYW0gcG9zaXRpb24gTmV3IGRpYWxvZyBwb3NpdGlvbi5cclxuICAgICAqL1xyXG4gICAgcHVibGljIHVwZGF0ZVBvc2l0aW9uKHBvc2l0aW9uPzogRGlhbG9nUG9zaXRpb24pOiB0aGlzIHtcclxuICAgICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSgpXHJcblxyXG4gICAgICAgIGlmIChwb3NpdGlvbiAmJiAocG9zaXRpb24ubGVmdCB8fCBwb3NpdGlvbi5yaWdodCkpIHtcclxuICAgICAgICAgICAgcG9zaXRpb24ubGVmdCA/IHN0cmF0ZWd5LmxlZnQocG9zaXRpb24ubGVmdCkgOiBzdHJhdGVneS5yaWdodChwb3NpdGlvbi5yaWdodClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBzdHJhdGVneS5jZW50ZXJIb3Jpem9udGFsbHkoKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHBvc2l0aW9uICYmIChwb3NpdGlvbi50b3AgfHwgcG9zaXRpb24uYm90dG9tKSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbi50b3AgPyBzdHJhdGVneS50b3AocG9zaXRpb24udG9wKSA6IHN0cmF0ZWd5LmJvdHRvbShwb3NpdGlvbi5ib3R0b20pXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgc3RyYXRlZ3kuY2VudGVyVmVydGljYWxseSgpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogVXBkYXRlcyB0aGUgZGlhbG9nJ3Mgd2lkdGggYW5kIGhlaWdodC5cclxuICAgICAqIEBwYXJhbSB3aWR0aCBOZXcgd2lkdGggb2YgdGhlIGRpYWxvZy5cclxuICAgICAqIEBwYXJhbSBoZWlnaHQgTmV3IGhlaWdodCBvZiB0aGUgZGlhbG9nLlxyXG4gICAgICovXHJcbiAgICB1cGRhdGVTaXplKHdpZHRoOiBzdHJpbmcgPSAnYXV0bycsIGhlaWdodDogc3RyaW5nID0gJ2F1dG8nKTogdGhpcyB7XHJcbiAgICAgICAgdGhpcy5nZXRQb3NpdGlvblN0cmF0ZWd5KCkud2lkdGgod2lkdGgpLmhlaWdodChoZWlnaHQpXHJcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKClcclxuICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc0FuaW1hdGluZygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuaXNBbmltYXRpbmdcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYWZ0ZXJPcGVuKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FmdGVyT3BlbiQuYXNPYnNlcnZhYmxlKClcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYmVmb3JlQ2xvc2UoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fYmVmb3JlQ2xvc2UkLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFmdGVyQ2xvc2VkKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FmdGVyQ2xvc2VkJC5hc09ic2VydmFibGUoKVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBGZXRjaGVzIHRoZSBwb3NpdGlvbiBzdHJhdGVneSBvYmplY3QgZnJvbSB0aGUgb3ZlcmxheSByZWYuICovXHJcbiAgICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3koKTogR2xvYmFsUG9zaXRpb25TdHJhdGVneSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5IGFzIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3lcclxuICAgIH1cclxufVxyXG4iXX0=