@annalib/anna-core 20.4.2 → 20.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/README.md +7 -3
  2. package/{esm2020 → esm2022}/annalib-anna-core.mjs +4 -4
  3. package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +14 -0
  4. package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +13 -0
  5. package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +11 -0
  6. package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +43 -0
  7. package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +14 -0
  8. package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
  9. package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +13 -0
  10. package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +22 -0
  11. package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +14 -0
  12. package/esm2022/lib/anna-core-shared-lib/constants/shared.constant.mjs +47 -0
  13. package/esm2022/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +273 -0
  14. package/esm2022/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +46 -0
  15. package/esm2022/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +39 -0
  16. package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  17. package/esm2022/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  18. package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +22 -0
  19. package/esm2022/lib/anna-core-shared-lib/models/anna-sort.model.mjs +7 -0
  20. package/{esm2020 → esm2022}/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +30 -30
  21. package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.mjs +39 -0
  22. package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +27 -0
  23. package/esm2022/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +22 -0
  24. package/esm2022/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +55 -0
  25. package/esm2022/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +26 -0
  26. package/esm2022/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +17 -0
  27. package/esm2022/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +219 -0
  28. package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +1272 -0
  29. package/esm2022/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +151 -0
  30. package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +135 -0
  31. package/esm2022/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +53 -0
  32. package/esm2022/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +65 -0
  33. package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +178 -0
  34. package/esm2022/lib/anna-core.module.mjs +226 -0
  35. package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +160 -0
  36. package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +371 -0
  37. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +252 -0
  38. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +185 -0
  39. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +316 -0
  40. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +298 -0
  41. package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +864 -0
  42. package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +64 -0
  43. package/esm2022/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +352 -0
  44. package/esm2022/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +204 -0
  45. package/{esm2020 → esm2022}/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -2
  46. package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +180 -0
  47. package/{esm2020 → esm2022}/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -2
  48. package/esm2022/public-api.mjs +58 -0
  49. package/fesm2022/annalib-anna-core.mjs +6124 -0
  50. package/fesm2022/annalib-anna-core.mjs.map +1 -0
  51. package/index.d.ts +5 -5
  52. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -8
  53. package/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.d.ts +8 -8
  54. package/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.d.ts +5 -0
  55. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +17 -17
  56. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -8
  57. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -11
  58. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -8
  59. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +12 -12
  60. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -8
  61. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +45 -41
  62. package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +34 -34
  63. package/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.d.ts +16 -16
  64. package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +10 -10
  65. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +16 -16
  66. package/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +98 -97
  67. package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +128 -118
  68. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +11 -11
  69. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +25 -25
  70. package/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.d.ts +9 -0
  71. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -9
  72. package/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.d.ts +8 -8
  73. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -9
  74. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -9
  75. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -7
  76. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +33 -28
  77. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +154 -154
  78. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +27 -27
  79. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -21
  80. package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +8 -8
  81. package/lib/anna-core-shared-lib/services/anna-persisting-filter.service.d.ts +9 -9
  82. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +18 -18
  83. package/lib/anna-core.module.d.ts +45 -43
  84. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +45 -45
  85. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +70 -70
  86. package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.d.ts +60 -60
  87. package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.d.ts +53 -53
  88. package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.d.ts +65 -65
  89. package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.d.ts +83 -83
  90. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +175 -174
  91. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +17 -17
  92. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -141
  93. package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +89 -89
  94. package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +1 -1
  95. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -45
  96. package/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +1 -1
  97. package/package.json +13 -18
  98. package/public-api.d.ts +42 -41
  99. package/src/lib/anna-common-scss/_animate.scss +11 -11
  100. package/src/lib/anna-common-scss/_application-spacing.scss +5 -4
  101. package/src/lib/anna-common-scss/_bootstrap-tooltip.scss +25 -23
  102. package/src/lib/anna-common-scss/_button.scss +1 -1
  103. package/src/lib/anna-common-scss/_colors.scss +1 -1
  104. package/src/lib/anna-common-scss/_common-order-listing-table.scss +146 -135
  105. package/src/lib/anna-common-scss/_custom-anna-datepicker.scss +1 -1
  106. package/src/lib/anna-common-scss/_customDropdown.scss +68 -67
  107. package/src/lib/anna-common-scss/_dashboard-partials.scss +66 -64
  108. package/src/lib/anna-common-scss/_date-picker-form.scss +40 -40
  109. package/src/lib/anna-common-scss/_easy-filter.scss +107 -127
  110. package/src/lib/anna-common-scss/_edit-filter-popup.scss +17 -18
  111. package/src/lib/anna-common-scss/_filters.scss +470 -471
  112. package/src/lib/anna-common-scss/_font.scss +7 -8
  113. package/src/lib/anna-common-scss/_fonts.scss +7 -7
  114. package/src/lib/anna-common-scss/_generic-modal.scss +62 -58
  115. package/src/lib/anna-common-scss/_generic-table-common.scss +140 -145
  116. package/src/lib/anna-common-scss/_gt-table.scss +173 -182
  117. package/src/lib/anna-common-scss/_icons.scss +3 -0
  118. package/src/lib/anna-common-scss/_legend.scss +5 -5
  119. package/src/lib/anna-common-scss/_mat-button-toggle.scss +11 -11
  120. package/src/lib/anna-common-scss/_mat-menu.scss +14 -14
  121. package/src/lib/anna-common-scss/_mixins.scss +134 -135
  122. package/src/lib/anna-common-scss/_modal.scss +22 -22
  123. package/src/lib/anna-common-scss/_popup-filter-toggle-button.scss +36 -0
  124. package/src/lib/anna-common-scss/_scrollbar.scss +7 -7
  125. package/src/lib/anna-common-scss/_sort.scss +20 -20
  126. package/src/lib/anna-common-scss/_toggle.scss +54 -52
  127. package/src/lib/anna-common-scss/style.scss +1 -1
  128. package/src/lib/anna-common-scss/third-party-lib/_angular-material-mat-radio.scss +21 -17
  129. package/src/lib/anna-common-scss/third-party-lib/_anna-mat-button-toggle-group-size-lg.scss +34 -0
  130. package/src/lib/anna-common-scss/third-party-lib/_mat-autocomplete.scss +26 -23
  131. package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +0 -15
  132. package/esm2020/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +0 -14
  133. package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +0 -36
  134. package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +0 -15
  135. package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +0 -22
  136. package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +0 -14
  137. package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +0 -23
  138. package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +0 -15
  139. package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +0 -43
  140. package/esm2020/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +0 -284
  141. package/esm2020/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +0 -43
  142. package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +0 -36
  143. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +0 -2
  144. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +0 -2
  145. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +0 -11
  146. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +0 -7
  147. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +0 -26
  148. package/esm2020/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +0 -22
  149. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +0 -53
  150. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +0 -25
  151. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +0 -16
  152. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +0 -208
  153. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +0 -1145
  154. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +0 -151
  155. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +0 -132
  156. package/esm2020/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +0 -53
  157. package/esm2020/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +0 -66
  158. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +0 -175
  159. package/esm2020/lib/anna-core.module.mjs +0 -213
  160. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +0 -151
  161. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +0 -364
  162. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +0 -237
  163. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +0 -180
  164. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +0 -306
  165. package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +0 -291
  166. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +0 -781
  167. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +0 -64
  168. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +0 -357
  169. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +0 -189
  170. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +0 -178
  171. package/esm2020/public-api.mjs +0 -57
  172. package/fesm2015/annalib-anna-core.mjs +0 -5782
  173. package/fesm2015/annalib-anna-core.mjs.map +0 -1
  174. package/fesm2020/annalib-anna-core.mjs +0 -5774
  175. package/fesm2020/annalib-anna-core.mjs.map +0 -1
@@ -1,284 +0,0 @@
1
- import { Directive, ElementRef, HostListener, Input, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class DigitOnlyDirective {
4
- constructor(el) {
5
- this.el = el;
6
- this.hasDecimalPoint = false;
7
- this.hasNegativeSign = false;
8
- this.navigationKeys = [
9
- 'Backspace',
10
- 'Delete',
11
- 'Tab',
12
- 'Escape',
13
- 'Enter',
14
- 'Home',
15
- 'End',
16
- 'ArrowLeft',
17
- 'ArrowRight',
18
- 'Clear',
19
- 'Copy',
20
- 'Paste',
21
- ];
22
- this.decimal = false;
23
- this.decimalSeparator = '.';
24
- this.allowNegatives = false;
25
- this.allowPaste = true;
26
- this.negativeSign = '-';
27
- this.min = -Infinity;
28
- this.max = Infinity;
29
- this.regex = null;
30
- this.inputElement = el.nativeElement;
31
- }
32
- ngOnChanges(changes) {
33
- if (changes['pattern']) {
34
- this.regex = this.pattern ? RegExp(this.pattern) : null;
35
- }
36
- if (changes['min']) {
37
- const maybeMin = Number(this.min);
38
- this.min = isNaN(maybeMin) ? -Infinity : maybeMin;
39
- }
40
- if (changes['max']) {
41
- const maybeMax = Number(this.max);
42
- this.max = isNaN(maybeMax) ? Infinity : maybeMax;
43
- }
44
- }
45
- onBeforeInput(e) {
46
- if (isNaN(Number(e.data))) {
47
- if (e.data === this.decimalSeparator ||
48
- (e.data === this.negativeSign && this.allowNegatives)) {
49
- return; // go on
50
- }
51
- e.preventDefault();
52
- e.stopPropagation();
53
- }
54
- }
55
- onKeyDown(e) {
56
- if (this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.
57
- ((e.key === 'a' || e.code === 'KeyA') && e.ctrlKey === true) || // Allow: Ctrl+A
58
- ((e.key === 'c' || e.code === 'KeyC') && e.ctrlKey === true) || // Allow: Ctrl+C
59
- ((e.key === 'v' || e.code === 'KeyV') && e.ctrlKey === true) || // Allow: Ctrl+V
60
- ((e.key === 'x' || e.code === 'KeyX') && e.ctrlKey === true) || // Allow: Ctrl+X
61
- ((e.key === 'a' || e.code === 'KeyA') && e.metaKey === true) || // Allow: Cmd+A (Mac)
62
- ((e.key === 'c' || e.code === 'KeyC') && e.metaKey === true) || // Allow: Cmd+C (Mac)
63
- ((e.key === 'v' || e.code === 'KeyV') && e.metaKey === true) || // Allow: Cmd+V (Mac)
64
- ((e.key === 'x' || e.code === 'KeyX') && e.metaKey === true) // Allow: Cmd+X (Mac)
65
- ) {
66
- // let it happen, don't do anything
67
- return;
68
- }
69
- let newValue = '';
70
- if (this.decimal && e.key === this.decimalSeparator) {
71
- newValue = this.forecastValue(e.key);
72
- if (newValue.split(this.decimalSeparator).length > 2) {
73
- // has two or more decimal points
74
- e.preventDefault();
75
- return;
76
- }
77
- else {
78
- this.hasDecimalPoint = newValue.indexOf(this.decimalSeparator) > -1;
79
- return; // Allow: only one decimal point
80
- }
81
- }
82
- if (e.key === this.negativeSign && this.allowNegatives) {
83
- newValue = this.forecastValue(e.key);
84
- if (newValue.charAt(0) !== this.negativeSign ||
85
- newValue.split(this.negativeSign).length > 2) {
86
- e.preventDefault();
87
- return;
88
- }
89
- else {
90
- this.hasNegativeSign = newValue.split(this.negativeSign).length > -1;
91
- return;
92
- }
93
- }
94
- // Ensure that it is a number and stop the keypress
95
- if (e.key === ' ' || isNaN(Number(e.key))) {
96
- e.preventDefault();
97
- return;
98
- }
99
- newValue = newValue || this.forecastValue(e.key);
100
- // check the input pattern RegExp
101
- if (this.regex) {
102
- if (!this.regex.test(newValue)) {
103
- e.preventDefault();
104
- return;
105
- }
106
- }
107
- const newNumber = Number(newValue);
108
- if (newNumber > this.max || newNumber < this.min) {
109
- e.preventDefault();
110
- }
111
- }
112
- onPaste(event) {
113
- if (this.allowPaste === true) {
114
- let pastedInput = '';
115
- if (window['clipboardData']) {
116
- // Browser is IE
117
- pastedInput = window['clipboardData'].getData('text');
118
- }
119
- else if (event.clipboardData && event.clipboardData.getData) {
120
- // Other browsers
121
- pastedInput = event.clipboardData.getData('text/plain');
122
- }
123
- this.pasteData(pastedInput);
124
- event.preventDefault();
125
- }
126
- else {
127
- // this prevents the paste
128
- event.preventDefault();
129
- event.stopPropagation();
130
- }
131
- }
132
- onDrop(event) {
133
- const textData = event.dataTransfer?.getData('text') ?? '';
134
- this.inputElement.focus();
135
- this.pasteData(textData);
136
- event.preventDefault();
137
- }
138
- pasteData(pastedContent) {
139
- const sanitizedContent = this.sanitizeInput(pastedContent);
140
- if (sanitizedContent.includes(this.negativeSign) &&
141
- this.hasNegativeSign &&
142
- !this.getSelection().includes(this.negativeSign)) {
143
- return;
144
- }
145
- const pasted = document.execCommand('insertText', false, sanitizedContent);
146
- if (!pasted) {
147
- if (this.inputElement.setRangeText) {
148
- const { selectionStart: start, selectionEnd: end } = this.inputElement;
149
- this.inputElement.setRangeText(sanitizedContent, start ?? 0, end ?? 0, 'end');
150
- // Angular's Reactive Form relies on "input" event, but on Firefox, the setRangeText method doesn't trigger it
151
- // so we have to trigger it ourself.
152
- if (typeof window['InstallTrigger'] !==
153
- 'undefined') {
154
- this.inputElement.dispatchEvent(new Event('input', { cancelable: true }));
155
- }
156
- }
157
- else {
158
- // Browser does not support setRangeText, e.g. IE
159
- this.insertAtCursor(this.inputElement, sanitizedContent);
160
- }
161
- }
162
- if (this.decimal) {
163
- this.hasDecimalPoint =
164
- this.inputElement.value.indexOf(this.decimalSeparator) > -1;
165
- }
166
- this.hasNegativeSign =
167
- this.inputElement.value.indexOf(this.negativeSign) > -1;
168
- }
169
- // The following 2 methods were added from the below article for browsers that do not support setRangeText
170
- // https://stackoverflow.com/questions/11076975/how-to-insert-text-into-the-textarea-at-the-current-cursor-position
171
- insertAtCursor(myField, myValue) {
172
- const startPos = myField.selectionStart ?? 0;
173
- const endPos = myField.selectionEnd ?? 0;
174
- myField.value =
175
- myField.value.substring(0, startPos) +
176
- myValue +
177
- myField.value.substring(endPos, myField.value.length);
178
- const pos = startPos + myValue.length;
179
- myField.focus();
180
- myField.setSelectionRange(pos, pos);
181
- this.triggerEvent(myField, 'input');
182
- }
183
- triggerEvent(el, type) {
184
- if ('createEvent' in document) {
185
- // modern browsers, IE9+
186
- const e = document.createEvent('HTMLEvents');
187
- e.initEvent(type, false, true);
188
- el.dispatchEvent(e);
189
- }
190
- }
191
- // end stack overflow code
192
- sanitizeInput(input) {
193
- let result = '';
194
- let regex;
195
- if (this.decimal && this.isValidDecimal(input)) {
196
- regex = new RegExp(`${this.getNegativeSignRegExp()}[^0-9${this.decimalSeparator}]`, 'g');
197
- }
198
- else {
199
- regex = new RegExp(`${this.getNegativeSignRegExp()}[^0-9]`, 'g');
200
- }
201
- result = input.replace(regex, '');
202
- const maxLength = this.inputElement.maxLength;
203
- if (maxLength > 0) {
204
- // the input element has maxLength limit
205
- const allowedLength = maxLength -
206
- this.inputElement.value.length +
207
- (result.includes(`${this.negativeSign}`) ? 1 : 0);
208
- result = allowedLength > 0 ? result.substring(0, allowedLength) : '';
209
- }
210
- return result;
211
- }
212
- getNegativeSignRegExp() {
213
- return this.allowNegatives &&
214
- (!this.hasNegativeSign || this.getSelection().includes(this.negativeSign))
215
- ? `(?!^${this.negativeSign})`
216
- : '';
217
- }
218
- isValidDecimal(string) {
219
- if (!this.hasDecimalPoint) {
220
- return string.split(this.decimalSeparator).length <= 2;
221
- }
222
- else {
223
- // the input element already has a decimal separator
224
- const selectedText = this.getSelection();
225
- if (selectedText && selectedText.indexOf(this.decimalSeparator) > -1) {
226
- return string.split(this.decimalSeparator).length <= 2;
227
- }
228
- else {
229
- return string.indexOf(this.decimalSeparator) < 0;
230
- }
231
- }
232
- }
233
- getSelection() {
234
- return this.inputElement.value.substring(this.inputElement.selectionStart ?? 0, this.inputElement.selectionEnd ?? 0);
235
- }
236
- forecastValue(key) {
237
- const selectionStart = this.inputElement.selectionStart;
238
- const selectionEnd = this.inputElement.selectionEnd;
239
- const oldValue = this.inputElement.value;
240
- if (selectionStart == null && selectionEnd == null) {
241
- return (oldValue + key);
242
- }
243
- return (oldValue.substring(0, selectionStart) +
244
- key +
245
- oldValue.substring(selectionEnd));
246
- }
247
- }
248
- DigitOnlyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DigitOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
249
- DigitOnlyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: DigitOnlyDirective, selector: "[digitOnly]", inputs: { decimal: "decimal", decimalSeparator: "decimalSeparator", allowNegatives: "allowNegatives", allowPaste: "allowPaste", negativeSign: "negativeSign", min: "min", max: "max", pattern: "pattern" }, host: { listeners: { "beforeinput": "onBeforeInput($event)", "keydown": "onKeyDown($event)", "paste": "onPaste($event)", "drop": "onDrop($event)" } }, usesOnChanges: true, ngImport: i0 });
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DigitOnlyDirective, decorators: [{
251
- type: Directive,
252
- args: [{
253
- selector: '[digitOnly]',
254
- }]
255
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { decimal: [{
256
- type: Input
257
- }], decimalSeparator: [{
258
- type: Input
259
- }], allowNegatives: [{
260
- type: Input
261
- }], allowPaste: [{
262
- type: Input
263
- }], negativeSign: [{
264
- type: Input
265
- }], min: [{
266
- type: Input
267
- }], max: [{
268
- type: Input
269
- }], pattern: [{
270
- type: Input
271
- }], onBeforeInput: [{
272
- type: HostListener,
273
- args: ['beforeinput', ['$event']]
274
- }], onKeyDown: [{
275
- type: HostListener,
276
- args: ['keydown', ['$event']]
277
- }], onPaste: [{
278
- type: HostListener,
279
- args: ['paste', ['$event']]
280
- }], onDrop: [{
281
- type: HostListener,
282
- args: ['drop', ['$event']]
283
- }] } });
284
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLW9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9kaWdpdHMtb25seS9kaWdpdHMtb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQzs7QUFLdkIsTUFBTSxPQUFPLGtCQUFrQjtJQTZCN0IsWUFBbUIsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUE1QnpCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLG1CQUFjLEdBQUc7WUFDdkIsV0FBVztZQUNYLFFBQVE7WUFDUixLQUFLO1lBQ0wsUUFBUTtZQUNSLE9BQU87WUFDUCxNQUFNO1lBQ04sS0FBSztZQUNMLFdBQVc7WUFDWCxZQUFZO1lBQ1osT0FBTztZQUNQLE1BQU07WUFDTixPQUFPO1NBQ1IsQ0FBQztRQUVPLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIscUJBQWdCLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsaUJBQVksR0FBRyxHQUFHLENBQUM7UUFDbkIsUUFBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ2hCLFFBQUcsR0FBRyxRQUFRLENBQUM7UUFFaEIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFJbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDekQ7UUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ25EO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7U0FDbEQ7SUFDSCxDQUFDO0lBR0QsYUFBYSxDQUFDLENBQWE7UUFDekIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ3pCLElBQ0UsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsZ0JBQWdCO2dCQUNoQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQ3JEO2dCQUNBLE9BQU8sQ0FBQyxRQUFRO2FBQ2pCO1lBQ0QsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFHRCxTQUFTLENBQUMsQ0FBZ0I7UUFDeEIsSUFDRSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUkseURBQXlEO1lBQ3BHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksZ0JBQWdCO1lBQ2hGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksZ0JBQWdCO1lBQ2hGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksZ0JBQWdCO1lBQ2hGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksZ0JBQWdCO1lBQ2hGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUkscUJBQXFCO1lBQ3JGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUkscUJBQXFCO1lBQ3JGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUkscUJBQXFCO1lBQ3JGLENBQUMsQ0FBQyxDQUFDLENB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QWxCLGtCQUFrQjtrQkFIOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtpQkFDeEI7aUdBbUJVLE9BQU87c0JBQWYsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBeUJOLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBZXZDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBbUVuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQXdCakMsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgSG9zdExpc3RlbmVyLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPbkNoYW5nZXMsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbiAgXHJcbiAgQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tkaWdpdE9ubHldJyxcclxuICB9KVxyXG4gIGV4cG9ydCBjbGFzcyBEaWdpdE9ubHlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gICAgcHJpdmF0ZSBoYXNEZWNpbWFsUG9pbnQgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgaGFzTmVnYXRpdmVTaWduID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIG5hdmlnYXRpb25LZXlzID0gW1xyXG4gICAgICAnQmFja3NwYWNlJyxcclxuICAgICAgJ0RlbGV0ZScsXHJcbiAgICAgICdUYWInLFxyXG4gICAgICAnRXNjYXBlJyxcclxuICAgICAgJ0VudGVyJyxcclxuICAgICAgJ0hvbWUnLFxyXG4gICAgICAnRW5kJyxcclxuICAgICAgJ0Fycm93TGVmdCcsXHJcbiAgICAgICdBcnJvd1JpZ2h0JyxcclxuICAgICAgJ0NsZWFyJyxcclxuICAgICAgJ0NvcHknLFxyXG4gICAgICAnUGFzdGUnLFxyXG4gICAgXTtcclxuICBcclxuICAgIEBJbnB1dCgpIGRlY2ltYWwgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGRlY2ltYWxTZXBhcmF0b3IgPSAnLic7XHJcbiAgICBASW5wdXQoKSBhbGxvd05lZ2F0aXZlcyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYWxsb3dQYXN0ZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBuZWdhdGl2ZVNpZ24gPSAnLSc7XHJcbiAgICBASW5wdXQoKSBtaW4gPSAtSW5maW5pdHk7XHJcbiAgICBASW5wdXQoKSBtYXggPSBJbmZpbml0eTtcclxuICAgIEBJbnB1dCgpIHBhdHRlcm4/OiBzdHJpbmcgfCBSZWdFeHA7XHJcbiAgICBwcml2YXRlIHJlZ2V4OiBSZWdFeHAgfCBudWxsID0gbnVsbDtcclxuICAgIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcclxuICBcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xyXG4gICAgICB0aGlzLmlucHV0RWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgIGlmIChjaGFuZ2VzWydwYXR0ZXJuJ10pIHtcclxuICAgICAgICB0aGlzLnJlZ2V4ID0gdGhpcy5wYXR0ZXJuID8gUmVnRXhwKHRoaXMucGF0dGVybikgOiBudWxsO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIGlmIChjaGFuZ2VzWydtaW4nXSkge1xyXG4gICAgICAgIGNvbnN0IG1heWJlTWluID0gTnVtYmVyKHRoaXMubWluKTtcclxuICAgICAgICB0aGlzLm1pbiA9IGlzTmFOKG1heWJlTWluKSA/IC1JbmZpbml0eSA6IG1heWJlTWluO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIGlmIChjaGFuZ2VzWydtYXgnXSkge1xyXG4gICAgICAgIGNvbnN0IG1heWJlTWF4ID0gTnVtYmVyKHRoaXMubWF4KTtcclxuICAgICAgICB0aGlzLm1heCA9IGlzTmFOKG1heWJlTWF4KSA/IEluZmluaXR5IDogbWF5YmVNYXg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIEBIb3N0TGlzdGVuZXIoJ2JlZm9yZWlucHV0JywgWyckZXZlbnQnXSlcclxuICAgIG9uQmVmb3JlSW5wdXQoZTogSW5wdXRFdmVudCk6IGFueSB7XHJcbiAgICAgIGlmIChpc05hTihOdW1iZXIoZS5kYXRhKSkpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBlLmRhdGEgPT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvciB8fFxyXG4gICAgICAgICAgKGUuZGF0YSA9PT0gdGhpcy5uZWdhdGl2ZVNpZ24gJiYgdGhpcy5hbGxvd05lZ2F0aXZlcylcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHJldHVybjsgLy8gZ28gb25cclxuICAgICAgICB9XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gICAgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpOiBhbnkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0aW9uS2V5cy5pbmRleE9mKGUua2V5KSA+IC0xIHx8IC8vIEFsbG93OiBuYXZpZ2F0aW9uIGtleXM6IGJhY2tzcGFjZSwgZGVsZXRlLCBhcnJvd3MgZXRjLlxyXG4gICAgICAgICgoZS5rZXkgPT09ICdhJyB8fCBlLmNvZGUgPT09ICdLZXlBJykgJiYgZS5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtBXHJcbiAgICAgICAgKChlLmtleSA9PT0gJ2MnIHx8IGUuY29kZSA9PT0gJ0tleUMnKSAmJiBlLmN0cmxLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDdHJsK0NcclxuICAgICAgICAoKGUua2V5ID09PSAndicgfHwgZS5jb2RlID09PSAnS2V5VicpICYmIGUuY3RybEtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IEN0cmwrVlxyXG4gICAgICAgICgoZS5rZXkgPT09ICd4JyB8fCBlLmNvZGUgPT09ICdLZXlYJykgJiYgZS5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtYXHJcbiAgICAgICAgKChlLmtleSA9PT0gJ2EnIHx8IGUuY29kZSA9PT0gJ0tleUEnKSAmJiBlLm1ldGFLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDbWQrQSAoTWFjKVxyXG4gICAgICAgICgoZS5rZXkgPT09ICdjJyB8fCBlLmNvZGUgPT09ICdLZXlDJykgJiYgZS5tZXRhS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ21kK0MgKE1hYylcclxuICAgICAgICAoKGUua2V5ID09PSAndicgfHwgZS5jb2RlID09PSAnS2V5VicpICYmIGUubWV0YUtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IENtZCtWIChNYWMpXHJcbiAgICAgICAgKChlLmtleSA9PT0gJ3gnIHx8IGUuY29kZSA9PT0gJ0tleVgnKSAmJiBlLm1ldGFLZXkgPT09IHRydWUpIC8vIEFsbG93OiBDbWQrWCAoTWFjKVxyXG4gICAgICApIHtcclxuICAgICAgICAvLyBsZXQgaXQgaGFwcGVuLCBkb24ndCBkbyBhbnl0aGluZ1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBsZXQgbmV3VmFsdWUgPSAnJztcclxuICBcclxuICAgICAgaWYgKHRoaXMuZGVjaW1hbCAmJiBlLmtleSA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yKSB7XHJcbiAgICAgICAgbmV3VmFsdWUgPSB0aGlzLmZvcmVjYXN0VmFsdWUoZS5rZXkpO1xyXG4gICAgICAgIGlmIChuZXdWYWx1ZS5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgIC8vIGhhcyB0d28gb3IgbW9yZSBkZWNpbWFsIHBvaW50c1xyXG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmhhc0RlY2ltYWxQb2ludCA9IG5ld1ZhbHVlLmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKSA+IC0xO1xyXG4gICAgICAgICAgcmV0dXJuOyAvLyBBbGxvdzogb25seSBvbmUgZGVjaW1hbCBwb2ludFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBpZiAoZS5rZXkgPT09IHRoaXMubmVnYXRpdmVTaWduICYmIHRoaXMuYWxsb3dOZWdhdGl2ZXMpIHtcclxuICAgICAgICBuZXdWYWx1ZSA9IHRoaXMuZm9yZWNhc3RWYWx1ZShlLmtleSk7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgbmV3VmFsdWUuY2hhckF0KDApICE9PSB0aGlzLm5lZ2F0aXZlU2lnbiB8fFxyXG4gICAgICAgICAgbmV3VmFsdWUuc3BsaXQodGhpcy5uZWdhdGl2ZVNpZ24pLmxlbmd0aCA+IDJcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5oYXNOZWdhdGl2ZVNpZ24gPSBuZXdWYWx1ZS5zcGxpdCh0aGlzLm5lZ2F0aXZlU2lnbikubGVuZ3RoID4gLTE7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIC8vIEVuc3VyZSB0aGF0IGl0IGlzIGEgbnVtYmVyIGFuZCBzdG9wIHRoZSBrZXlwcmVzc1xyXG4gICAgICBpZiAoZS5rZXkgPT09ICcgJyB8fCBpc05hTihOdW1iZXIoZS5rZXkpKSkge1xyXG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgbmV3VmFsdWUgPSBuZXdWYWx1ZSB8fCB0aGlzLmZvcmVjYXN0VmFsdWUoZS5rZXkpO1xyXG4gICAgICAvLyBjaGVjayB0aGUgaW5wdXQgcGF0dGVybiBSZWdFeHBcclxuICAgICAgaWYgKHRoaXMucmVnZXgpIHtcclxuICAgICAgICBpZiAoIXRoaXMucmVnZXgudGVzdChuZXdWYWx1ZSkpIHtcclxuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgY29uc3QgbmV3TnVtYmVyID0gTnVtYmVyKG5ld1ZhbHVlKTtcclxuICAgICAgaWYgKG5ld051bWJlciA+IHRoaXMubWF4IHx8IG5ld051bWJlciA8IHRoaXMubWluKSB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pXHJcbiAgICBvblBhc3RlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgaWYgKHRoaXMuYWxsb3dQYXN0ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIGxldCBwYXN0ZWRJbnB1dDogc3RyaW5nID0gJyc7XHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSlbJ2NsaXBib2FyZERhdGEnXSkge1xyXG4gICAgICAgICAgLy8gQnJvd3NlciBpcyBJRVxyXG4gICAgICAgICAgcGFzdGVkSW5wdXQgPSAod2luZG93IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pW1xyXG4gICAgICAgICAgICAnY2xpcGJvYXJkRGF0YSdcclxuICAgICAgICAgIF0uZ2V0RGF0YSgndGV4dCcpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuY2xpcGJvYXJkRGF0YSAmJiBldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEpIHtcclxuICAgICAgICAgIC8vIE90aGVyIGJyb3dzZXJzXHJcbiAgICAgICAgICBwYXN0ZWRJbnB1dCA9IGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgndGV4dC9wbGFpbicpO1xyXG4gICAgICAgIH1cclxuICBcclxuICAgICAgICB0aGlzLnBhc3RlRGF0YShwYXN0ZWRJbnB1dCk7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyB0aGlzIHByZXZlbnRzIHRoZSBwYXN0ZVxyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gICAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgY29uc3QgdGV4dERhdGEgPSBldmVudC5kYXRhVHJhbnNmZXI/LmdldERhdGEoJ3RleHQnKSA/PyAnJztcclxuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgdGhpcy5wYXN0ZURhdGEodGV4dERhdGEpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgcHJpdmF0ZSBwYXN0ZURhdGEocGFzdGVkQ29udGVudDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgIGNvbnN0IHNhbml0aXplZENvbnRlbnQgPSB0aGlzLnNhbml0aXplSW5wdXQocGFzdGVkQ29udGVudCk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBzYW5pdGl6ZWRDb250ZW50LmluY2x1ZGVzKHRoaXMubmVnYXRpdmVTaWduKSAmJlxyXG4gICAgICAgIHRoaXMuaGFzTmVnYXRpdmVTaWduICYmXHJcbiAgICAgICAgIXRoaXMuZ2V0U2VsZWN0aW9uKCkuaW5jbHVkZXModGhpcy5uZWdhdGl2ZVNpZ24pXHJcbiAgICAgICkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwYXN0ZWQgPSBkb2N1bWVudC5leGVjQ29tbWFuZCgnaW5zZXJ0VGV4dCcsIGZhbHNlLCBzYW5pdGl6ZWRDb250ZW50KTtcclxuICAgICAgaWYgKCFwYXN0ZWQpIHtcclxuICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQuc2V0UmFuZ2VUZXh0KSB7XHJcbiAgICAgICAgICBjb25zdCB7IHNlbGVjdGlvblN0YXJ0OiBzdGFydCwgc2VsZWN0aW9uRW5kOiBlbmQgfSA9IHRoaXMuaW5wdXRFbGVtZW50O1xyXG4gICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuc2V0UmFuZ2VUZXh0KFxyXG4gICAgICAgICAgICBzYW5pdGl6ZWRDb250ZW50LFxyXG4gICAgICAgICAgICBzdGFydCA/PyAwLFxyXG4gICAgICAgICAgICBlbmQgPz8gMCxcclxuICAgICAgICAgICAgJ2VuZCdcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICAvLyBBbmd1bGFyJ3MgUmVhY3RpdmUgRm9ybSByZWxpZXMgb24gXCJpbnB1dFwiIGV2ZW50LCBidXQgb24gRmlyZWZveCwgdGhlIHNldFJhbmdlVGV4dCBtZXRob2QgZG9lc24ndCB0cmlnZ2VyIGl0XHJcbiAgICAgICAgICAvLyBzbyB3ZSBoYXZlIHRvIHRyaWdnZXIgaXQgb3Vyc2VsZi5cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdHlwZW9mICh3aW5kb3cgYXMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSlbJ0luc3RhbGxUcmlnZ2VyJ10gIT09XHJcbiAgICAgICAgICAgICd1bmRlZmluZWQnXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuZGlzcGF0Y2hFdmVudChcclxuICAgICAgICAgICAgICBuZXcgRXZlbnQoJ2lucHV0JywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIEJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBzZXRSYW5nZVRleHQsIGUuZy4gSUVcclxuICAgICAgICAgIHRoaXMuaW5zZXJ0QXRDdXJzb3IodGhpcy5pbnB1dEVsZW1lbnQsIHNhbml0aXplZENvbnRlbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5kZWNpbWFsKSB7XHJcbiAgICAgICAgdGhpcy5oYXNEZWNpbWFsUG9pbnQgPVxyXG4gICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpID4gLTE7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5oYXNOZWdhdGl2ZVNpZ24gPVxyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmluZGV4T2YodGhpcy5uZWdhdGl2ZVNpZ24pID4gLTE7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAvLyBUaGUgZm9sbG93aW5nIDIgbWV0aG9kcyB3ZXJlIGFkZGVkIGZyb20gdGhlIGJlbG93IGFydGljbGUgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgc2V0UmFuZ2VUZXh0XHJcbiAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xMTA3Njk3NS9ob3ctdG8taW5zZXJ0LXRleHQtaW50by10aGUtdGV4dGFyZWEtYXQtdGhlLWN1cnJlbnQtY3Vyc29yLXBvc2l0aW9uXHJcbiAgICBwcml2YXRlIGluc2VydEF0Q3Vyc29yKG15RmllbGQ6IEhUTUxJbnB1dEVsZW1lbnQsIG15VmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICBjb25zdCBzdGFydFBvcyA9IG15RmllbGQuc2VsZWN0aW9uU3RhcnQgPz8gMDtcclxuICAgICAgY29uc3QgZW5kUG9zID0gbXlGaWVsZC5zZWxlY3Rpb25FbmQgPz8gMDtcclxuICBcclxuICAgICAgbXlGaWVsZC52YWx1ZSA9XHJcbiAgICAgICAgbXlGaWVsZC52YWx1ZS5zdWJzdHJpbmcoMCwgc3RhcnRQb3MpICtcclxuICAgICAgICBteVZhbHVlICtcclxuICAgICAgICBteUZpZWxkLnZhbHVlLnN1YnN0cmluZyhlbmRQb3MsIG15RmllbGQudmFsdWUubGVuZ3RoKTtcclxuICBcclxuICAgICAgY29uc3QgcG9zID0gc3RhcnRQb3MgKyBteVZhbHVlLmxlbmd0aDtcclxuICAgICAgbXlGaWVsZC5mb2N1cygpO1xyXG4gICAgICBteUZpZWxkLnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcclxuICBcclxuICAgICAgdGhpcy50cmlnZ2VyRXZlbnQobXlGaWVsZCwgJ2lucHV0Jyk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwcml2YXRlIHRyaWdnZXJFdmVudChlbDogSFRNTElucHV0RWxlbWVudCwgdHlwZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgIGlmICgnY3JlYXRlRXZlbnQnIGluIGRvY3VtZW50KSB7XHJcbiAgICAgICAgLy8gbW9kZXJuIGJyb3dzZXJzLCBJRTkrXHJcbiAgICAgICAgY29uc3QgZSA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7XHJcbiAgICAgICAgZS5pbml0RXZlbnQodHlwZSwgZmFsc2UsIHRydWUpO1xyXG4gICAgICAgIGVsLmRpc3BhdGNoRXZlbnQoZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGVuZCBzdGFjayBvdmVyZmxvdyBjb2RlXHJcbiAgXHJcbiAgICBwcml2YXRlIHNhbml0aXplSW5wdXQoaW5wdXQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgIGxldCByZXN1bHQgPSAnJztcclxuICAgICAgbGV0IHJlZ2V4O1xyXG4gICAgICBpZiAodGhpcy5kZWNpbWFsICYmIHRoaXMuaXNWYWxpZERlY2ltYWwoaW5wdXQpKSB7XHJcbiAgICAgICAgcmVnZXggPSBuZXcgUmVnRXhwKFxyXG4gICAgICAgICAgYCR7dGhpcy5nZXROZWdhdGl2ZVNpZ25SZWdFeHAoKX1bXjAtOSR7dGhpcy5kZWNpbWFsU2VwYXJhdG9yfV1gLFxyXG4gICAgICAgICAgJ2cnXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZWdleCA9IG5ldyBSZWdFeHAoYCR7dGhpcy5nZXROZWdhdGl2ZVNpZ25SZWdFeHAoKX1bXjAtOV1gLCAnZycpO1xyXG4gICAgICB9XHJcbiAgICAgIHJlc3VsdCA9IGlucHV0LnJlcGxhY2UocmVnZXgsICcnKTtcclxuICBcclxuICAgICAgY29uc3QgbWF4TGVuZ3RoID0gdGhpcy5pbnB1dEVsZW1lbnQubWF4TGVuZ3RoO1xyXG4gICAgICBpZiAobWF4TGVuZ3RoID4gMCkge1xyXG4gICAgICAgIC8vIHRoZSBpbnB1dCBlbGVtZW50IGhhcyBtYXhMZW5ndGggbGltaXRcclxuICAgICAgICBjb25zdCBhbGxvd2VkTGVuZ3RoID1cclxuICAgICAgICAgIG1heExlbmd0aCAtXHJcbiAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGggK1xyXG4gICAgICAgICAgKHJlc3VsdC5pbmNsdWRlcyhgJHt0aGlzLm5lZ2F0aXZlU2lnbn1gKSA/IDEgOiAwKTtcclxuICAgICAgICByZXN1bHQgPSBhbGxvd2VkTGVuZ3RoID4gMCA/IHJlc3VsdC5zdWJzdHJpbmcoMCwgYWxsb3dlZExlbmd0aCkgOiAnJztcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgcHJpdmF0ZSBnZXROZWdhdGl2ZVNpZ25SZWdFeHAoKTogc3RyaW5nIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYWxsb3dOZWdhdGl2ZXMgJiZcclxuICAgICAgICAoIXRoaXMuaGFzTmVnYXRpdmVTaWduIHx8IHRoaXMuZ2V0U2VsZWN0aW9uKCkuaW5jbHVkZXModGhpcy5uZWdhdGl2ZVNpZ24pKVxyXG4gICAgICAgID8gYCg/IV4ke3RoaXMubmVnYXRpdmVTaWdufSlgXHJcbiAgICAgICAgOiAnJztcclxuICAgIH1cclxuICBcclxuICAgIHByaXZhdGUgaXNWYWxpZERlY2ltYWwoc3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgaWYgKCF0aGlzLmhhc0RlY2ltYWxQb2ludCkge1xyXG4gICAgICAgIHJldHVybiBzdHJpbmcuc3BsaXQodGhpcy5kZWNpbWFsU2VwYXJhdG9yKS5sZW5ndGggPD0gMjtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyB0aGUgaW5wdXQgZWxlbWVudCBhbHJlYWR5IGhhcyBhIGRlY2ltYWwgc2VwYXJhdG9yXHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUZXh0ID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRUZXh0ICYmIHNlbGVjdGVkVGV4dC5pbmRleE9mKHRoaXMuZGVjaW1hbFNlcGFyYXRvcikgPiAtMSkge1xyXG4gICAgICAgICAgcmV0dXJuIHN0cmluZy5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCA8PSAyO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gc3RyaW5nLmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKSA8IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICBwcml2YXRlIGdldFNlbGVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgICByZXR1cm4gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUuc3Vic3RyaW5nKFxyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID8/IDAsXHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuc2VsZWN0aW9uRW5kID8/IDBcclxuICAgICAgKTtcclxuICAgIH1cclxuICBcclxuICAgIHByaXZhdGUgZm9yZWNhc3RWYWx1ZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGhpcy5pbnB1dEVsZW1lbnQuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGlvbkVuZCA9IHRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvbkVuZDtcclxuICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZTtcclxuXHJcbiAgICAgIGlmKHNlbGVjdGlvblN0YXJ0ID09IG51bGwgJiYgc2VsZWN0aW9uRW5kID09IG51bGwpe1xyXG4gICAgICAgIHJldHVybiAob2xkVmFsdWUgKyBrZXkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIG9sZFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCkgK1xyXG4gICAgICAgIGtleSArXHJcbiAgICAgICAgb2xkVmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlvbkVuZClcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9Il19
@@ -1,43 +0,0 @@
1
- import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FixedRowsPopupTableDirective {
4
- constructor(el, renderer) {
5
- this.el = el;
6
- this.renderer = renderer;
7
- this.popupRowHeight = 37.5;
8
- this.popupHeaderHeight = 38;
9
- this.maxRowsRenderedWithoutScrollForPopup = 10;
10
- }
11
- onWindowResize() {
12
- this.setPopUpTableHeight();
13
- }
14
- ngOnInit() {
15
- this.setPopUpTableHeight();
16
- }
17
- setPopUpTableHeight() {
18
- const viewportHeight = window.innerHeight;
19
- const maxNoOfRowsToDisplay = viewportHeight < 740 ? 5 : 10;
20
- this.maxRowsRenderedWithoutScrollForPopup = maxNoOfRowsToDisplay;
21
- let totalPopupTableHeight = this.maxRowsRenderedWithoutScrollForPopup * this.popupRowHeight + this.popupHeaderHeight;
22
- let tableHeightForPopup = (this.tableDataLength < this.maxRowsRenderedWithoutScrollForPopup) ? ((this.popupRowHeight) * (this.tableDataLength ? this.tableDataLength : 1)) + this.popupHeaderHeight : totalPopupTableHeight;
23
- this.renderer.setStyle(this.el.nativeElement, 'height', `calc(${tableHeightForPopup}px)`);
24
- }
25
- }
26
- FixedRowsPopupTableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FixedRowsPopupTableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
27
- FixedRowsPopupTableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: FixedRowsPopupTableDirective, selector: "[fixedRowsInPopupTable]", inputs: { popupRowHeight: "popupRowHeight", popupHeaderHeight: "popupHeaderHeight", tableDataLength: "tableDataLength" }, host: { listeners: { "window:resize": "onWindowResize()" } }, ngImport: i0 });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FixedRowsPopupTableDirective, decorators: [{
29
- type: Directive,
30
- args: [{
31
- selector: '[fixedRowsInPopupTable]'
32
- }]
33
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { popupRowHeight: [{
34
- type: Input
35
- }], popupHeaderHeight: [{
36
- type: Input
37
- }], tableDataLength: [{
38
- type: Input
39
- }], onWindowResize: [{
40
- type: HostListener,
41
- args: ['window:resize']
42
- }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9kaXJlY3RpdmVzL2ZpeGVkLXJvd3MtcG9wdXAtdGFibGUvZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3RGLE1BQU0sT0FBTyw0QkFBNEI7SUFNdkMsWUFBb0IsRUFBYyxFQUFVLFFBQW1CO1FBQTNDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBTHRELG1CQUFjLEdBQVcsSUFBSSxDQUFDO1FBQzlCLHNCQUFpQixHQUFXLEVBQUUsQ0FBQztRQUV4Qyx5Q0FBb0MsR0FBVyxFQUFFLENBQUM7SUFFaUIsQ0FBQztJQUdwRSxjQUFjO1FBQ1osSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDMUMsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsb0JBQW9CLENBQUM7UUFDakUsSUFBSyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsb0NBQW9DLEdBQUcsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFFdEgsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQSxDQUFDLENBQUMscUJBQXFCLENBQUE7UUFFeE4sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUNyQixRQUFRLEVBQ1IsUUFBUSxtQkFBbUIsS0FBSyxDQUNqQyxDQUFDO0lBQ0osQ0FBQzs7eUhBOUJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBSHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtpQkFDcEM7eUhBRVUsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFNTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tmaXhlZFJvd3NJblBvcHVwVGFibGVdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRml4ZWRSb3dzUG9wdXBUYWJsZURpcmVjdGl2ZSB7XHJcbiAgQElucHV0KCkgcG9wdXBSb3dIZWlnaHQ6IG51bWJlciA9IDM3LjU7IFxyXG4gIEBJbnB1dCgpIHBvcHVwSGVhZGVySGVpZ2h0OiBudW1iZXIgPSAzODtcclxuICBASW5wdXQoKSB0YWJsZURhdGFMZW5ndGg6bnVtYmVyIFxyXG4gIG1heFJvd3NSZW5kZXJlZFdpdGhvdXRTY3JvbGxGb3JQb3B1cDogbnVtYmVyID0gMTA7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgb25XaW5kb3dSZXNpemUoKSB7XHJcbiAgICB0aGlzLnNldFBvcFVwVGFibGVIZWlnaHQoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRQb3BVcFRhYmxlSGVpZ2h0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRQb3BVcFRhYmxlSGVpZ2h0KCkge1xyXG4gICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XHJcbiAgICBjb25zdCBtYXhOb09mUm93c1RvRGlzcGxheSA9IHZpZXdwb3J0SGVpZ2h0IDwgNzQwID8gNSA6IDEwO1xyXG4gICAgdGhpcy5tYXhSb3dzUmVuZGVyZWRXaXRob3V0U2Nyb2xsRm9yUG9wdXAgPSBtYXhOb09mUm93c1RvRGlzcGxheTtcclxuICAgIGxldCAgdG90YWxQb3B1cFRhYmxlSGVpZ2h0ID0gdGhpcy5tYXhSb3dzUmVuZGVyZWRXaXRob3V0U2Nyb2xsRm9yUG9wdXAgKiB0aGlzLnBvcHVwUm93SGVpZ2h0ICsgdGhpcy5wb3B1cEhlYWRlckhlaWdodDtcclxuXHJcbiAgICBsZXQgdGFibGVIZWlnaHRGb3JQb3B1cD0gICh0aGlzLnRhYmxlRGF0YUxlbmd0aCA8IHRoaXMubWF4Um93c1JlbmRlcmVkV2l0aG91dFNjcm9sbEZvclBvcHVwKSA/ICgodGhpcy5wb3B1cFJvd0hlaWdodCkqKHRoaXMudGFibGVEYXRhTGVuZ3RoID90aGlzLnRhYmxlRGF0YUxlbmd0aCA6IDEpICkgKyB0aGlzLnBvcHVwSGVhZGVySGVpZ2h0OiB0b3RhbFBvcHVwVGFibGVIZWlnaHRcclxuXHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICdoZWlnaHQnLFxyXG4gICAgICBgY2FsYygke3RhYmxlSGVpZ2h0Rm9yUG9wdXB9cHgpYFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,36 +0,0 @@
1
- import { Directive, ElementRef, HostListener } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class showEllipsisTextOnHoverDirective {
4
- constructor(elementRef) {
5
- this.elementRef = elementRef;
6
- }
7
- onMouseEnter() {
8
- const element = this.elementRef.nativeElement;
9
- if (element.offsetWidth < element.scrollWidth || this.checkRanges(element)) {
10
- element.title = (element.textContent == "") ? element.value : element.textContent;
11
- }
12
- else if (element.title)
13
- element.removeAttribute('title');
14
- }
15
- checkRanges(el) {
16
- const range = new Range();
17
- range.selectNodeContents(el);
18
- const range_rect = range.getBoundingClientRect();
19
- const el_rect = el.getBoundingClientRect();
20
- let paddingOnRight = window.getComputedStyle(el).paddingRight;
21
- let padding = +(paddingOnRight.endsWith("px") ? paddingOnRight.slice(0, -2) : paddingOnRight);
22
- return (range_rect.right + padding) > el_rect.right;
23
- }
24
- }
25
- showEllipsisTextOnHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: showEllipsisTextOnHoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
26
- showEllipsisTextOnHoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: showEllipsisTextOnHoverDirective, selector: "[showEllipsisTextOnHover]", host: { listeners: { "mouseenter": "onMouseEnter()" } }, ngImport: i0 });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: showEllipsisTextOnHoverDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- selector: '[showEllipsisTextOnHover]'
31
- }]
32
- }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onMouseEnter: [{
33
- type: HostListener,
34
- args: ['mouseenter']
35
- }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1lbGxpcHNpcy10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL2RpcmVjdGl2ZXMvc2hvdy1lbGxpcHNpcy10ZXh0L3Nob3ctZWxsaXBzaXMtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1wRSxNQUFNLE9BQU8sZ0NBQWdDO0lBRTNDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRzlDLFlBQVk7UUFDUixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxJQUFJLE9BQU8sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzFFLE9BQU8sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1NBQ25GO2FBQ0ksSUFBSSxPQUFPLENBQUMsS0FBSztZQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFdBQVcsQ0FBRSxFQUFXO1FBQ3RCLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDMUIsS0FBSyxDQUFDLGtCQUFrQixDQUFFLEVBQUUsQ0FBRSxDQUFDO1FBRS9CLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2pELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzNDLElBQUksY0FBYyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDOUQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFBLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLGNBQWMsQ0FBQyxDQUFDO1FBQzFGLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdEQsQ0FBQzs7NkhBdEJVLGdDQUFnQztpSEFBaEMsZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBSjVDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtpQkFDdEM7aUdBT0MsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbc2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJdJ1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIHNob3dFbGxpcHNpc1RleHRPbkhvdmVyRGlyZWN0aXZlIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcclxuICBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgICAgaWYgKGVsZW1lbnQub2Zmc2V0V2lkdGggPCBlbGVtZW50LnNjcm9sbFdpZHRoIHx8IHRoaXMuY2hlY2tSYW5nZXMoZWxlbWVudCkpIHtcclxuICAgICAgICBlbGVtZW50LnRpdGxlID0gKGVsZW1lbnQudGV4dENvbnRlbnQgPT0gXCJcIikgPyBlbGVtZW50LnZhbHVlIDogZWxlbWVudC50ZXh0Q29udGVudDtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChlbGVtZW50LnRpdGxlKSBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgndGl0bGUnKTsgXHJcbiAgfVxyXG5cclxuICBjaGVja1JhbmdlcyggZWw6IEVsZW1lbnQgKSB7XHJcbiAgICBjb25zdCByYW5nZSA9IG5ldyBSYW5nZSgpO1xyXG4gICAgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKCBlbCApO1xyXG4gICAgXHJcbiAgICBjb25zdCByYW5nZV9yZWN0ID0gcmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBjb25zdCBlbF9yZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBsZXQgcGFkZGluZ09uUmlnaHQgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbCkucGFkZGluZ1JpZ2h0O1xyXG4gICAgbGV0IHBhZGRpbmcgPSArKHBhZGRpbmdPblJpZ2h0LmVuZHNXaXRoKFwicHhcIik/cGFkZGluZ09uUmlnaHQuc2xpY2UoMCwgLTIpOnBhZGRpbmdPblJpZ2h0KTtcclxuICAgIHJldHVybiAocmFuZ2VfcmVjdC5yaWdodCArIHBhZGRpbmcpID4gZWxfcmVjdC5yaWdodDtcclxuICB9XHJcbn0iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLWRhdGEtdHlwZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLWdlbmVyaWMtZGF0YS10eXBlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFdlZWtPYmplY3Qge1xyXG4gIHN0YXJ0RGF0ZTogc3RyaW5nO1xyXG4gIGVuZERhdGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWxsZXJHcm91cEhpZXJhcmNoeSB7XHJcbiAgaW52ZW50b3J5Q29kZTogc3RyaW5nO1xyXG4gIHByb2dyYW06IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSYXRpbmdTZWxsZXJHcm91cEhpZXJhcmNoeXtcclxuICBJbnZlbnRvcnlDb2RlOiBzdHJpbmc7XHJcbiAgUHJvZ3JhbTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgR3RDb2x1bW5JY29uRW1pdHRlZERhdGF7XHJcbiAgZGF0YTogYW55O1xyXG4gIGtleTogc3RyaW5nO1xyXG59XHJcblxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJUmFkaW9CdXR0b24ge1xyXG4gIHZhbHVlOiBhbnk7XHJcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGNsYXNzOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFuZ3VsYXIyTXVsdGlTZWxlY3RTZXR0aW5ncyB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBzZWxlY3RBbGxUZXh0OiBzdHJpbmc7XHJcbiAgICB1blNlbGVjdEFsbFRleHQ6IHN0cmluZztcclxuICAgIGJhZGdlU2hvd0xpbWl0OiBudW1iZXI7XHJcbiAgICBzaW5nbGVTZWxlY3Rpb246IGJvb2xlYW47XHJcbiAgICBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgICBlbmFibGVTZWFyY2hGaWx0ZXI6IGJvb2xlYW47XHJcbiAgICBlbmFibGVDaGVja0FsbDogYm9vbGVhbjtcclxuICAgIGF1dG9Qb3NpdGlvbjogYm9vbGVhbjtcclxuICAgIHBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBsYXp5TG9hZGluZzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkOiBib29sZWFuO1xyXG4gICAgc2hvd0NoZWNrYm94OiBib29sZWFuO1xyXG4gICAgZW5hYmxlRmlsdGVyU2VsZWN0QWxsOiBib29sZWFuO1xyXG4gICAgbWF4SGVpZ2h0OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU5neEFzaWRlU2V0dGluZ3Mge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGNhbmNlbEJ1dHRvblRpdGxlOiBzdHJpbmc7XHJcbiAgICBzdWJtaXRCdXR0b25UaXRsZTogc3RyaW5nO1xyXG4gICAgY2xvc2VPbkVzY2FwZTogYm9vbGVhbjtcclxuICAgIHNob3dPdmVybGF5OiBib29sZWFuO1xyXG4gICAgc2hvd0RlZmF1bHRGb290ZXI6IGJvb2xlYW47XHJcbiAgICBzaG93RGVmYXVsdEhlYWRlcjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmdiRGF0ZVBpY2tlclNldHRpbmdzIHtcclxuICAgIGF1dG9DbG9zZTogYm9vbGVhbjtcclxuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgICBkaXNwbGF5TW9udGhzOiBudW1iZXI7XHJcbiAgICBmaXJzdERheU9mV2VlazogbnVtYmVyO1xyXG4gICAgc2hvd1dlZWtOdW1iZXJzOiBib29sZWFuO1xyXG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU5nU2VsZWN0U2V0dGluZ3Mge1xyXG4gICAgYWxsb3dDbGVhcjogYm9vbGVhbjtcclxuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU5neEluZmluaXRlU2Nyb2xsU2V0dGluZ3Mge1xyXG4gICAgaW5maW5pdGVTY3JvbGxEaXN0YW5jZTogbnVtYmVyO1xyXG4gICAgaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlOiBudW1iZXI7XHJcbiAgICBpbmZpbml0ZVNjcm9sbFRocm90dGxlOiBudW1iZXI7XHJcbiAgICBzY3JvbGxXaW5kb3c6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU5neFNrZWxldG9uTG9hZGVyU2V0dGluZ3Mge1xyXG4gICAgbnVtYmVyT2ZTa2VsZXRvblJvd3M6IG51bWJlcltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSYWRpb0J1dHRvbkNvbXBvbmVudENvbmZpZyB7XHJcbiAgICBoZWFkaW5nPzogc3RyaW5nO1xyXG4gICAgcmFkaW9CdXR0b25zOiBJUmFkaW9CdXR0b25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlybWF0aW9uUG9wdXBDb25maWcge1xyXG4gICAgc2hvd0NhbmNlbEJ1dHRvbjogYm9vbGVhbjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBzaG93Q29uZmlybUJ1dHRvbjogYm9vbGVhbjtcclxuICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmc7XHJcbiAgICBjb25maXJtQnV0dG9uTGFiZWw6IHN0cmluZztcclxuICAgIHNob3dDbG9zZUljb246IGJvb2xlYW47XHJcbiAgICB3aW5kb3dDbGFzczogc3RyaW5nO1xyXG4gICAgYmFja2Ryb3A6IFwic3RhdGljXCIgfCBib29sZWFuO1xyXG4gICAgc2l6ZTogXCJzbVwiIHwgXCJsZ1wiO1xyXG4gICAga2V5Ym9hcmQ6IGJvb2xlYW47XHJcbiAgICBjZW50ZXJlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVdlZWtDYWxlbmRhciB7XHJcbiAgICBmaXJzdERheU9mV2Vlaz86IG51bWJlcjtcclxuICAgIG51bWJlck9mTW9udGhzVG9FbmFibGVJblBhc3Q6IG51bWJlcjtcclxuICAgIHNlbGVjdE11bHRpcGxlV2Vla3M6IGJvb2xlYW47XHJcbiAgICBzaG93V2Vla051bWJlcnM/OiBib29sZWFuO1xyXG4gICAgZGF0ZUZvcm1hdFRvRGlzcGxheT86IHN0cmluZztcclxuICAgIG1heFdlZWtzVG9TaG93V2l0aFJlbWFpbmluZ0NvdW50PzogbnVtYmVyO1xyXG4gICAgY3VzdG9tQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICBlbWl0TXVsdGlwbGVXZWVrT2JqZWN0cz86IGJvb2xlYW47XHJcbiAgICBkYXRlRm9ybWF0Rm9yUmVxdWVzdD86IHN0cmluZztcclxuICAgIG1heFdlZWtzVG9TZWxlY3Q/OiBudW1iZXI7XHJcbiAgICBzaG93QXNEcm9wZG93bjogYm9vbGVhbjtcclxuICAgIHNlbGVjdEN1cnJlbnRXZWVrOiBib29sZWFuO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ3VzdG9tU2luZ2xlU2VsZWN0e1xyXG4gICAgc2hvd1NlYXJjaEJhcjogYm9vbGVhbjtcclxuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgICBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgICBwb3NpdGlvbjogUG9zaXRpb247XHJcbiAgICBtYXhIZWlnaHRPZkxpc3Q6IG51bWJlcjsgLy9weCB2YWx1ZVxyXG4gICAgbWluSGVpZ2h0T2ZMaXN0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDdXN0b21NdWx0aVNlbGVjdCBleHRlbmRzIElDdXN0b21TaW5nbGVTZWxlY3R7XHJcbiAgICBzaG93RXJyb3JXaGVuTm9PcHRpb25TZWxlY3RlZDogYm9vbGVhbjtcclxufVxyXG5cclxudHlwZSBQb3NpdGlvbiA9IFwiVE9QXCJ8IFwiQk9UVE9NXCI7Il19
@@ -1,11 +0,0 @@
1
- export class ClickableItem {
2
- constructor(typeOfActionLinkForGt, name, className, showTooltip, tooltipData) {
3
- this.id = typeOfActionLinkForGt;
4
- this.name = name;
5
- this.class = className;
6
- this.showTooltip = showTooltip;
7
- this.tooltipData = tooltipData;
8
- this.enableTooltipForAdditionalText = false;
9
- }
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyRkEsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFBWSxxQkFBMEIsRUFBRSxJQUFZLEVBQUUsU0FBaUIsRUFBRSxXQUFvQixFQUFFLFdBQTJDO1FBQ3RJLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSBcIi4vYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdFRhYmxlSGVhZGVyIHtcclxuICAgIGhlYWRlckluZm86IElIZWFkZXJJbmZvW107XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVySW5mbyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIGFjdGlvbktleT86IHN0cmluZztcclxuICAgIHRvb2x0aXBLZXk/OiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkS2V5Pzogc3RyaW5nO1xyXG4gICAgdHlwZU9mSGVhZGVyRGF0YTogREFUQVRZUEU7XHJcbiAgICB0eXBlT2ZCb2R5RGF0YTogREFUQVRZUEU7XHJcbiAgICBmaWx0ZXI/OiBGSUxURVJUWVBFO1xyXG4gICAgZmlsdGVyU29ydE9iamVjdEtleXM/OiBzdHJpbmdbXTtcclxuICAgIGlzU29ydFJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgaXNGaWx0ZXJSZXF1aXJlZD86IGJvb2xlYW5bXTtcclxuICAgIHNob3dUb29sdGlwSWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVUb29sdGlwSWNvbj86IGJvb2xlYW47XHJcbiAgICB0b29sdGlwPzogSVRvb2x0aXA7XHJcbiAgICBqb2luZWRGaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZztcclxufVxyXG5cclxudHlwZSBEQVRBVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiSUNPTlwiIHwgXCJTVFJJTkdcIiB8IFwiUkFESU9cIiB8IFwiXCIgfCBcIlNWR19JQ09OXCIgfCBcIlRFWFRfQUNUSU9OU1wiIHwgXCJDTElDS0FCTEVfREFUQVwiIHwgXCJTVFJJTkdfX1RFWFRfQUNUSU9OXCJcclxuICAgIHwgXCJTVFJJTkdfX0lDT05fQUNUSU9OXCIgfCBcIlNUUklOR19fX0lDT05fT1JfVEVYVF9BQ1RJT05cIiB8IFwiSFRNTFwiIHwgXCJIVE1MX1NUUklOR1wiIHwgXCJJQ09OX0NFTExcIiB8IFwiU1RSSU5HX09SX0lOUFVUXCIgfCBcIlNJTkdMRV9SQURJT1wiIHwgJ1NUUklOR19XSVRIX1RPT0xUSVAnO1xyXG50eXBlIEZJTFRFUlRZUEUgPSBcIkNIRUNLQk9YXCIgfCBcIlNMSURFUlwiIHwgXCJEQVRFXCIgfCBcIlRJTUVcIiB8IFwiV0VFS1wiO1xyXG50eXBlIFRPT0xUSVBPU0lUSU9OID0gXCJsZWZ0XCIgfCBcInJpZ2h0XCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbFJvd0luZm8ge1xyXG4gICAgY29sc3BhbjogbnVtYmVyO1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG4gICAgbG93ZXJEYXRhPzogc3RyaW5nO1xyXG4gICAgY29sTmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxuICAgIGlzQWN0aW9uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGFjdGlvbkRhdGE/OiBDbGlja2FibGVJdGVtW107XHJcbiAgICBpc0ljb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgaWNvbkRhdGE/OiB7IGNsYXNzOiBzdHJpbmc7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgdG9vbHRpcEljb25DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGNvbXBvbmVudDogQ09NUE9ORU5UTkFNRTtcclxuICAgIHRvdGFsUm93OiBib29sZWFuO1xyXG4gICAgaXNIZWFkZXJDaGVja2VkPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVIZWFkZXJDaGVja2JveD86IGJvb2xlYW47XHJcbiAgICBtdWx0aVdlZWtQaWNrZXJDb25maWc/OiBJV2Vla0NhbGVuZGFyO1xyXG4gICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwPzogbnVtYmVyO1xyXG4gICAgdGFibGVDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgdGFibGVPdXRlckNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiBib29sZWFuO1xyXG4gICAgYnVmZmVyU2l6ZTogbnVtYmVyO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIENPTVBPTkVOVE5BTUUgPSBcIlNQT1RERVRBSUxTXCIgfCBcIkVYQ0xVREVJTlZFTlRPUllQT1BVUFwiIHwgXCJFWENMVURFSU5WRU5UT1JZXCIgfCBcIkRSUkxJU1RJTkdcIiB8IFwiRFJSXCIgfCBcIlwiIHwgXCJSQVRJTkdcIiB8IFwiT1JERVJfTElTVElOR19JTkZMSUdIVFwiIHwgXCJPUkRFUl9MSVNUSU5HX0NPTVBMRVRFRFwiIHwgXCJPUkRFUl9MSVNUSU5HX0JMQU5LXCIgfCBcIkxVUl9WSU9MQVRJT05TXCIgfCBcIkFDVElWSVRZTE9HXCIgfCBcIk5PVElGSUNBVElPTlNcIiB8IFwiRFBfUkVTVFJJQ1RJT05TXCI7XHJcbmludGVyZmFjZSBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGlzR3JvdXBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXAge1xyXG4gICAgaWNvblBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ2Fib3ZlJyB8ICdiZWxvdycgfCAnYmVmb3JlJyB8ICdhZnRlcic7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUG9zaXRpb246IHN0cmluZztcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG4gICAgdG9vbHRpcENsYXNzOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSWNvbkRhdGEge1xyXG4gICAgZGF0YTogYW55O1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBUZXh0QWN0aW9uIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBjbGFzczogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlja2FibGVJdGVtIHtcclxuICAgIGlkOiBhbnk7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG4gICAgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcgfTtcclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dDogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcih0eXBlT2ZBY3Rpb25MaW5rRm9yR3Q6IGFueSwgbmFtZTogc3RyaW5nLCBjbGFzc05hbWU6IHN0cmluZywgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH0pIHtcclxuICAgICAgICB0aGlzLmlkID0gdHlwZU9mQWN0aW9uTGlua0Zvckd0O1xyXG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgdGhpcy5jbGFzcyA9IGNsYXNzTmFtZTtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGF0YSA9IHRvb2x0aXBEYXRhO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0ID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFjdGlvbkl0ZW1UeXBlU1RSSU5HX19JQ09OX09SX1RFWFRfQUNUSU9OIHtcclxuICAgIGlkOiBhbnk7XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcblxyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93SWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkSWNvbjogYm9vbGVhbjtcclxuXHJcbiAgICBsaW5rQ2xhc3M6IHN0cmluZztcclxuICAgIHNob3dMaW5rOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWRMaW5rOiBib29sZWFuO1xyXG5cclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG5cclxuICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXTtcclxuICAgIHRvb2x0aXBDbGFzcz86IHN0cmluZztcclxuICAgIHRvb2x0aXBQbGFjZW1lbnQ/OiBzdHJpbmc7XHJcblxyXG4gICAgdHlwZU9mRGF0YTogJ1NUUklORycgfCAnSUNPTl9URVhUX0FDVElPTic7XHJcbiAgICBhZGRpdGlvbmFsVGV4dEJlZm9yZUxpbms6IHN0cmluZztcclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWNvblRvU2hvdyA9IFwiTElWRVwiIHwgXCJQQVlfRk9SX1BFUkZPUk1BTkNFX0FDVElWRVwiIHwgXCJQQVlfRk9SX1BFUkZPUk1BTkNFXCIgfCBcIlJFSkVDVEVEXCIgfCBcIk5PVElGWVwiIHwgXCJBV0FJVElOR19BUFBST1ZBTFwiIHwgXCJERUxFVEVEX09SREVSXCIgfCBcIk5FRURfU0VMTEVSX0NPTkZJUk1BVElPTlwiIHwgXCJORUVEX0JVWUVSX0NPTkZJUk1BVElPTlwiO1xyXG4iXX0=
@@ -1,7 +0,0 @@
1
- export var SortTypeEnum;
2
- (function (SortTypeEnum) {
3
- SortTypeEnum["DEFAULT"] = "DEFAULT";
4
- SortTypeEnum["ASC"] = "ASC";
5
- SortTypeEnum["DESC"] = "DESC";
6
- })(SortTypeEnum || (SortTypeEnum = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtc29ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3RCLG1DQUFtQixDQUFBO0lBQ25CLDJCQUFXLENBQUE7SUFDWCw2QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUpXLFlBQVksS0FBWixZQUFZLFFBSXZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU29ydFR5cGUgPSBcIkRFRkFVTFRcIiB8IFwiQVNDXCIgfCBcIkRFU0NcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29ydE9wdGlvbntcclxuICAgIHNvcnRUeXBlOiBTb3J0VHlwZSxcclxuICAgIGlzT3B0aW9uQWN0aXZlOiBib29sZWFuLFxyXG4gICAgdGV4dDogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNvcnRUeXBlRW51bSB7XHJcbiAgREVGQVVMVCA9IFwiREVGQVVMVFwiLFxyXG4gIEFTQyA9IFwiQVNDXCIsXHJcbiAgREVTQyA9IFwiREVTQ1wiXHJcbn0iXX0=
@@ -1,26 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import { memoize } from "lodash-es";
3
- import * as i0 from "@angular/core";
4
- export class AnnaConvertZeroOrNullOrUndefinedPipe {
5
- constructor() {
6
- this.transformer = memoize(this.replace, (...args) => this.replace(args[0], args[1]));
7
- }
8
- transform(value, convertTo) {
9
- return this.transformer(value, convertTo);
10
- }
11
- replace(value, convertTo) {
12
- if (value === "undefined" || value === null || value === "" || Number(value) === 0) {
13
- return convertTo;
14
- }
15
- return value;
16
- }
17
- }
18
- AnnaConvertZeroOrNullOrUndefinedPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnaConvertZeroOrNullOrUndefinedPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
19
- AnnaConvertZeroOrNullOrUndefinedPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: AnnaConvertZeroOrNullOrUndefinedPipe, name: "AnnaConvertZeroOrNullOrUndefined" });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnaConvertZeroOrNullOrUndefinedPipe, decorators: [{
21
- type: Pipe,
22
- args: [{
23
- name: "AnnaConvertZeroOrNullOrUndefined",
24
- }]
25
- }] });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFDb252ZXJ0WmVyb09yTnVsbE9yVW5kZWZpbmVkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLcEMsTUFBTSxPQUFPLG9DQUFvQztJQUhqRDtRQUlJLGdCQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQVlwRjtJQVZHLFNBQVMsQ0FBQyxLQUFTLEVBQUUsU0FBYTtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBUyxFQUFFLFNBQWE7UUFDNUIsSUFBSSxLQUFLLEtBQUssV0FBVyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hGLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzs7aUlBWlEsb0NBQW9DOytIQUFwQyxvQ0FBb0M7MkZBQXBDLG9DQUFvQztrQkFIaEQsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsa0NBQWtDO2lCQUMzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogXCJBbm5hQ29udmVydFplcm9Pck51bGxPclVuZGVmaW5lZFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUNvbnZlcnRaZXJvT3JOdWxsT3JVbmRlZmluZWRQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm1lciA9IG1lbW9pemUodGhpcy5yZXBsYWNlLCAoLi4uYXJncykgPT4gdGhpcy5yZXBsYWNlKGFyZ3NbMF0sIGFyZ3NbMV0pKTtcclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6YW55LCBjb252ZXJ0VG86YW55KTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2Zvcm1lcih2YWx1ZSwgY29udmVydFRvKTtcclxuICAgIH1cclxuXHJcbiAgICByZXBsYWNlKHZhbHVlOmFueSwgY29udmVydFRvOmFueSk6IG51bWJlciB8IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09PSBcInVuZGVmaW5lZFwiIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSBcIlwiIHx8IE51bWJlcih2YWx1ZSkgPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGNvbnZlcnRUbztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,22 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import dayjs from 'dayjs';
3
- import customParseFormat from "dayjs/plugin/isSameOrAfter";
4
- import * as i0 from "@angular/core";
5
- export class AnnaDateFormatterPipe {
6
- constructor() {
7
- }
8
- transform(value, format) {
9
- dayjs.extend(customParseFormat);
10
- let formattedTime = dayjs(value).format(format);
11
- return formattedTime;
12
- }
13
- }
14
- AnnaDateFormatterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnaDateFormatterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
15
- AnnaDateFormatterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: AnnaDateFormatterPipe, name: "AnnaDateFormatter" });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnaDateFormatterPipe, decorators: [{
17
- type: Pipe,
18
- args: [{
19
- name: 'AnnaDateFormatter'
20
- }]
21
- }], ctorParameters: function () { return []; } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYURhdGVGb3JtYXR0ZXIucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL3BpcGVzL2FubmFEYXRlRm9ybWF0dGVyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8saUJBQWlCLE1BQU0sNEJBQTRCLENBQUM7O0FBSzNELE1BQU0sT0FBTyxxQkFBcUI7SUFFaEM7SUFDQSxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQVUsRUFBRSxNQUFjO1FBQ2xDLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoQyxJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7O2tIQVRVLHFCQUFxQjtnSEFBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBSGpDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG1CQUFtQjtpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSBcImRheWpzL3BsdWdpbi9pc1NhbWVPckFmdGVyXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ0FubmFEYXRlRm9ybWF0dGVyJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYURhdGVGb3JtYXR0ZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCl7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgZm9ybWF0OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcclxuICAgIGxldCBmb3JtYXR0ZWRUaW1lID0gZGF5anModmFsdWUpLmZvcm1hdChmb3JtYXQpO1xyXG4gICAgcmV0dXJuIGZvcm1hdHRlZFRpbWU7XHJcbiAgfVxyXG5cclxufSJdfQ==
@@ -1,53 +0,0 @@
1
- import { Pipe } from "@angular/core";
2
- import { memoize } from "lodash-es";
3
- import * as i0 from "@angular/core";
4
- export class AnnaFilterSearchedTextPipe {
5
- constructor() {
6
- this.callFilter = memoize(this.filter, (...args) => this.filter(args[0], args[1], args[2]));
7
- }
8
- transform(items, searchText, keyName) {
9
- return this.callFilter(items, searchText, keyName);
10
- }
11
- filter(items, searchText, keyName) {
12
- if (!items)
13
- return [];
14
- if (!searchText)
15
- return items;
16
- searchText = searchText.toString().toLowerCase();
17
- // if keyName is an array then loop through all the keynames
18
- if (keyName && typeof (keyName) == 'object') {
19
- let isFoundAtleastOnce = false;
20
- let isFound;
21
- for (const key of keyName) {
22
- isFound = items.filter((item) => item[key].toString().toLowerCase().includes(searchText));
23
- if (isFound.length) {
24
- isFoundAtleastOnce = true;
25
- break;
26
- }
27
- }
28
- return isFoundAtleastOnce ? isFound : [];
29
- }
30
- else {
31
- //if keyName is undefined every key will be considered for filtering.
32
- let searchResult = [];
33
- if (!keyName)
34
- searchResult = items.filter((item) => Object.values(item).filter((n) => n ? n.toString().toLowerCase().includes(searchText) : false).length > 0);
35
- else if (keyName == 'NoKey') {
36
- searchResult = items.filter((item) => item.toString().toLowerCase().includes(searchText));
37
- }
38
- else {
39
- searchResult = items.filter((item) => item[keyName] ? item[keyName].toString().toLowerCase().includes(searchText) : false);
40
- }
41
- return searchResult;
42
- }
43
- }
44
- }
45
- AnnaFilterSearchedTextPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnaFilterSearchedTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
46
- AnnaFilterSearchedTextPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: AnnaFilterSearchedTextPipe, name: "AnnafilterSearchedText" });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AnnaFilterSearchedTextPipe, decorators: [{
48
- type: Pipe,
49
- args: [{
50
- name: "AnnafilterSearchedText",
51
- }]
52
- }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUZpbHRlclNlYXJjaGVkVGV4dC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBS3BDLE1BQU0sT0FBTywwQkFBMEI7SUFIdkM7UUFJSSxlQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0EwQzFGO0lBeENHLFNBQVMsQ0FBQyxLQUFZLEVBQUUsVUFBZSxFQUFFLE9BQWE7UUFDbEQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFZLEVBQUUsVUFBa0IsRUFBRSxPQUFhO1FBQ2xELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUM5QixVQUFVLEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBR2pELDREQUE0RDtRQUM1RCxJQUFHLE9BQU8sSUFBSSxPQUFNLENBQUMsT0FBTyxDQUFDLElBQUksUUFBUSxFQUFDO1lBQ3hDLElBQUksa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1lBQy9CLElBQUksT0FBYSxDQUFDO1lBRWxCLEtBQUksTUFBTSxHQUFHLElBQUksT0FBTyxFQUFDO2dCQUN2QixPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUMxRixJQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUM7b0JBQ2hCLGtCQUFrQixHQUFHLElBQUksQ0FBQztvQkFDMUIsTUFBTTtpQkFDUDthQUNGO1lBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDMUM7YUFDSTtZQUNMLHFFQUFxRTtZQUNuRSxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLE9BQU87Z0JBQ1QsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQzFCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUNsSCxDQUFDO2lCQUNELElBQUcsT0FBTyxJQUFJLE9BQU8sRUFBQztnQkFDeEIsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzthQUMzRjtpQkFDSTtnQkFDSCxZQUFZLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM1SDtZQUNELE9BQU8sWUFBWSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQzs7dUhBMUNRLDBCQUEwQjtxSEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBSHRDLElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHdCQUF3QjtpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgbWVtb2l6ZSB9IGZyb20gXCJsb2Rhc2gtZXNcIjtcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6IFwiQW5uYWZpbHRlclNlYXJjaGVkVGV4dFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUZpbHRlclNlYXJjaGVkVGV4dFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIGNhbGxGaWx0ZXIgPSBtZW1vaXplKHRoaXMuZmlsdGVyLCAoLi4uYXJncykgPT4gdGhpcy5maWx0ZXIoYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSkpO1xyXG5cclxuICAgIHRyYW5zZm9ybShpdGVtczogYW55W10sIHNlYXJjaFRleHQ6IGFueSwga2V5TmFtZT86IGFueSk6IGFueVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYWxsRmlsdGVyKGl0ZW1zLCBzZWFyY2hUZXh0LCBrZXlOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICBmaWx0ZXIoaXRlbXM6IGFueVtdLCBzZWFyY2hUZXh0OiBzdHJpbmcsIGtleU5hbWU/OiBhbnkpOiBhbnlbXSB7XHJcbiAgICAgICAgaWYgKCFpdGVtcykgcmV0dXJuIFtdO1xyXG4gICAgICAgIGlmICghc2VhcmNoVGV4dCkgcmV0dXJuIGl0ZW1zO1xyXG4gICAgICAgIHNlYXJjaFRleHQgPSBzZWFyY2hUZXh0LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKTtcclxuXHJcblxyXG4gICAgICAgIC8vIGlmIGtleU5hbWUgaXMgYW4gYXJyYXkgdGhlbiBsb29wIHRocm91Z2ggYWxsIHRoZSBrZXluYW1lc1xyXG4gICAgICAgIGlmKGtleU5hbWUgJiYgdHlwZW9mKGtleU5hbWUpID09ICdvYmplY3QnKXtcclxuICAgICAgICAgIGxldCBpc0ZvdW5kQXRsZWFzdE9uY2UgPSBmYWxzZTtcclxuICAgICAgICAgIGxldCBpc0ZvdW5kOmFueVtdO1xyXG5cclxuICAgICAgICAgIGZvcihjb25zdCBrZXkgb2Yga2V5TmFtZSl7XHJcbiAgICAgICAgICAgIGlzRm91bmQgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW1ba2V5XS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dCkpO1xyXG4gICAgICAgICAgICBpZihpc0ZvdW5kLmxlbmd0aCl7XHJcbiAgICAgICAgICAgICAgaXNGb3VuZEF0bGVhc3RPbmNlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIGlzRm91bmRBdGxlYXN0T25jZSA/IGlzRm91bmQgOiBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgLy9pZiBrZXlOYW1lIGlzIHVuZGVmaW5lZCBldmVyeSBrZXkgd2lsbCBiZSBjb25zaWRlcmVkIGZvciBmaWx0ZXJpbmcuXHJcbiAgICAgICAgICBsZXQgc2VhcmNoUmVzdWx0ID0gW107XHJcbiAgICAgICAgICBpZiAoIWtleU5hbWUpXHJcbiAgICAgICAgICAgICBzZWFyY2hSZXN1bHQgPSBpdGVtcy5maWx0ZXIoXHJcbiAgICAgICAgICAgICAgKGl0ZW0pID0+IE9iamVjdC52YWx1ZXMoaXRlbSkuZmlsdGVyKChuKSA9PiBuID8gbi50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dCkgOiBmYWxzZSkubGVuZ3RoID4gMFxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICBlbHNlIGlmKGtleU5hbWUgPT0gJ05vS2V5Jyl7XHJcbiAgICAgICAgICAgICBzZWFyY2hSZXN1bHQgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pPT4gaXRlbS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGV4dCkpOyBcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBzZWFyY2hSZXN1bHQgPSBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW1ba2V5TmFtZV0gPyBpdGVtW2tleU5hbWVdLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXh0KSA6IGZhbHNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBzZWFyY2hSZXN1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==