@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
@@ -0,0 +1,273 @@
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 || (e.data === this.negativeSign && this.allowNegatives)) {
48
+ return; // go on
49
+ }
50
+ e.preventDefault();
51
+ e.stopPropagation();
52
+ }
53
+ }
54
+ onKeyDown(e) {
55
+ if (this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.
56
+ ((e.key === 'a' || e.code === 'KeyA') && e.ctrlKey === true) || // Allow: Ctrl+A
57
+ ((e.key === 'c' || e.code === 'KeyC') && e.ctrlKey === true) || // Allow: Ctrl+C
58
+ ((e.key === 'v' || e.code === 'KeyV') && e.ctrlKey === true) || // Allow: Ctrl+V
59
+ ((e.key === 'x' || e.code === 'KeyX') && e.ctrlKey === true) || // Allow: Ctrl+X
60
+ ((e.key === 'a' || e.code === 'KeyA') && e.metaKey === true) || // Allow: Cmd+A (Mac)
61
+ ((e.key === 'c' || e.code === 'KeyC') && e.metaKey === true) || // Allow: Cmd+C (Mac)
62
+ ((e.key === 'v' || e.code === 'KeyV') && e.metaKey === true) || // Allow: Cmd+V (Mac)
63
+ ((e.key === 'x' || e.code === 'KeyX') && e.metaKey === true) // Allow: Cmd+X (Mac)
64
+ ) {
65
+ // let it happen, don't do anything
66
+ return;
67
+ }
68
+ let newValue = '';
69
+ if (this.decimal && e.key === this.decimalSeparator) {
70
+ newValue = this.forecastValue(e.key);
71
+ if (newValue.split(this.decimalSeparator).length > 2) {
72
+ // has two or more decimal points
73
+ e.preventDefault();
74
+ return;
75
+ }
76
+ else {
77
+ this.hasDecimalPoint = newValue.indexOf(this.decimalSeparator) > -1;
78
+ return; // Allow: only one decimal point
79
+ }
80
+ }
81
+ if (e.key === this.negativeSign && this.allowNegatives) {
82
+ newValue = this.forecastValue(e.key);
83
+ if (newValue.charAt(0) !== this.negativeSign || newValue.split(this.negativeSign).length > 2) {
84
+ e.preventDefault();
85
+ return;
86
+ }
87
+ else {
88
+ this.hasNegativeSign = newValue.split(this.negativeSign).length > -1;
89
+ return;
90
+ }
91
+ }
92
+ // Ensure that it is a number and stop the keypress
93
+ if (e.key === ' ' || isNaN(Number(e.key))) {
94
+ e.preventDefault();
95
+ return;
96
+ }
97
+ newValue = newValue || this.forecastValue(e.key);
98
+ // check the input pattern RegExp
99
+ if (this.regex) {
100
+ if (!this.regex.test(newValue)) {
101
+ e.preventDefault();
102
+ return;
103
+ }
104
+ }
105
+ const newNumber = Number(newValue);
106
+ if (newNumber > this.max || newNumber < this.min) {
107
+ e.preventDefault();
108
+ }
109
+ }
110
+ onPaste(event) {
111
+ if (this.allowPaste === true) {
112
+ let pastedInput = '';
113
+ if (window['clipboardData']) {
114
+ // Browser is IE
115
+ pastedInput = window['clipboardData'].getData('text');
116
+ }
117
+ else if (event.clipboardData && event.clipboardData.getData) {
118
+ // Other browsers
119
+ pastedInput = event.clipboardData.getData('text/plain');
120
+ }
121
+ this.pasteData(pastedInput);
122
+ event.preventDefault();
123
+ }
124
+ else {
125
+ // this prevents the paste
126
+ event.preventDefault();
127
+ event.stopPropagation();
128
+ }
129
+ }
130
+ onDrop(event) {
131
+ const textData = event.dataTransfer?.getData('text') ?? '';
132
+ this.inputElement.focus();
133
+ this.pasteData(textData);
134
+ event.preventDefault();
135
+ }
136
+ pasteData(pastedContent) {
137
+ const sanitizedContent = this.sanitizeInput(pastedContent);
138
+ if (sanitizedContent.includes(this.negativeSign) &&
139
+ this.hasNegativeSign &&
140
+ !this.getSelection().includes(this.negativeSign)) {
141
+ return;
142
+ }
143
+ const pasted = document.execCommand('insertText', false, sanitizedContent);
144
+ if (!pasted) {
145
+ if (this.inputElement.setRangeText) {
146
+ const { selectionStart: start, selectionEnd: end } = this.inputElement;
147
+ this.inputElement.setRangeText(sanitizedContent, start ?? 0, end ?? 0, 'end');
148
+ // Angular's Reactive Form relies on "input" event, but on Firefox, the setRangeText method doesn't trigger it
149
+ // so we have to trigger it ourself.
150
+ if (typeof window['InstallTrigger'] !== 'undefined') {
151
+ this.inputElement.dispatchEvent(new Event('input', { cancelable: true }));
152
+ }
153
+ }
154
+ else {
155
+ // Browser does not support setRangeText, e.g. IE
156
+ this.insertAtCursor(this.inputElement, sanitizedContent);
157
+ }
158
+ }
159
+ if (this.decimal) {
160
+ this.hasDecimalPoint = this.inputElement.value.indexOf(this.decimalSeparator) > -1;
161
+ }
162
+ this.hasNegativeSign = this.inputElement.value.indexOf(this.negativeSign) > -1;
163
+ }
164
+ // The following 2 methods were added from the below article for browsers that do not support setRangeText
165
+ // https://stackoverflow.com/questions/11076975/how-to-insert-text-into-the-textarea-at-the-current-cursor-position
166
+ insertAtCursor(myField, myValue) {
167
+ const startPos = myField.selectionStart ?? 0;
168
+ const endPos = myField.selectionEnd ?? 0;
169
+ myField.value =
170
+ myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
171
+ const pos = startPos + myValue.length;
172
+ myField.focus();
173
+ myField.setSelectionRange(pos, pos);
174
+ this.triggerEvent(myField, 'input');
175
+ }
176
+ triggerEvent(el, type) {
177
+ if ('createEvent' in document) {
178
+ // modern browsers, IE9+
179
+ const e = document.createEvent('HTMLEvents');
180
+ e.initEvent(type, false, true);
181
+ el.dispatchEvent(e);
182
+ }
183
+ }
184
+ // end stack overflow code
185
+ sanitizeInput(input) {
186
+ let result = '';
187
+ let regex;
188
+ if (this.decimal && this.isValidDecimal(input)) {
189
+ regex = new RegExp(`${this.getNegativeSignRegExp()}[^0-9${this.decimalSeparator}]`, 'g');
190
+ }
191
+ else {
192
+ regex = new RegExp(`${this.getNegativeSignRegExp()}[^0-9]`, 'g');
193
+ }
194
+ result = input.replace(regex, '');
195
+ const maxLength = this.inputElement.maxLength;
196
+ if (maxLength > 0) {
197
+ // the input element has maxLength limit
198
+ const allowedLength = maxLength - this.inputElement.value.length + (result.includes(`${this.negativeSign}`) ? 1 : 0);
199
+ result = allowedLength > 0 ? result.substring(0, allowedLength) : '';
200
+ }
201
+ return result;
202
+ }
203
+ getNegativeSignRegExp() {
204
+ return this.allowNegatives && (!this.hasNegativeSign || this.getSelection().includes(this.negativeSign))
205
+ ? `(?!^${this.negativeSign})`
206
+ : '';
207
+ }
208
+ isValidDecimal(string) {
209
+ if (!this.hasDecimalPoint) {
210
+ return string.split(this.decimalSeparator).length <= 2;
211
+ }
212
+ else {
213
+ // the input element already has a decimal separator
214
+ const selectedText = this.getSelection();
215
+ if (selectedText && selectedText.indexOf(this.decimalSeparator) > -1) {
216
+ return string.split(this.decimalSeparator).length <= 2;
217
+ }
218
+ else {
219
+ return string.indexOf(this.decimalSeparator) < 0;
220
+ }
221
+ }
222
+ }
223
+ getSelection() {
224
+ return this.inputElement.value.substring(this.inputElement.selectionStart ?? 0, this.inputElement.selectionEnd ?? 0);
225
+ }
226
+ forecastValue(key) {
227
+ const selectionStart = this.inputElement.selectionStart;
228
+ const selectionEnd = this.inputElement.selectionEnd;
229
+ const oldValue = this.inputElement.value;
230
+ if (selectionStart == null && selectionEnd == null) {
231
+ return oldValue + key;
232
+ }
233
+ return oldValue.substring(0, selectionStart) + key + oldValue.substring(selectionEnd);
234
+ }
235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DigitOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
236
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DigitOnlyDirective, isStandalone: true, 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 }); }
237
+ }
238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DigitOnlyDirective, decorators: [{
239
+ type: Directive,
240
+ args: [{
241
+ selector: '[digitOnly]',
242
+ standalone: true,
243
+ }]
244
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { decimal: [{
245
+ type: Input
246
+ }], decimalSeparator: [{
247
+ type: Input
248
+ }], allowNegatives: [{
249
+ type: Input
250
+ }], allowPaste: [{
251
+ type: Input
252
+ }], negativeSign: [{
253
+ type: Input
254
+ }], min: [{
255
+ type: Input
256
+ }], max: [{
257
+ type: Input
258
+ }], pattern: [{
259
+ type: Input
260
+ }], onBeforeInput: [{
261
+ type: HostListener,
262
+ args: ['beforeinput', ['$event']]
263
+ }], onKeyDown: [{
264
+ type: HostListener,
265
+ args: ['keydown', ['$event']]
266
+ }], onPaste: [{
267
+ type: HostListener,
268
+ args: ['paste', ['$event']]
269
+ }], onDrop: [{
270
+ type: HostListener,
271
+ args: ['drop', ['$event']]
272
+ }] } });
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLW9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9kaWdpdHMtb25seS9kaWdpdHMtb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7O0FBTXJHLE1BQU0sT0FBTyxrQkFBa0I7SUE2QjNCLFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBNUJ6QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixtQkFBYyxHQUFHO1lBQ3JCLFdBQVc7WUFDWCxRQUFRO1lBQ1IsS0FBSztZQUNMLFFBQVE7WUFDUixPQUFPO1lBQ1AsTUFBTTtZQUNOLEtBQUs7WUFDTCxXQUFXO1lBQ1gsWUFBWTtZQUNaLE9BQU87WUFDUCxNQUFNO1lBQ04sT0FBTztTQUNWLENBQUM7UUFFTyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLHFCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsR0FBRyxDQUFDO1FBQ25CLFFBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUNoQixRQUFHLEdBQUcsUUFBUSxDQUFDO1FBRWhCLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBSWhDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQzNEO1FBRUQsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDaEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztTQUNyRDtRQUVELElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ3BEO0lBQ0wsQ0FBQztJQUdELGFBQWEsQ0FBQyxDQUFhO1FBQ3ZCLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDM0YsT0FBTyxDQUFDLFFBQVE7YUFDbkI7WUFDRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0wsQ0FBQztJQUdELFNBQVMsQ0FBQyxDQUFnQjtRQUN0QixJQUNJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSx5REFBeUQ7WUFDcEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxnQkFBZ0I7WUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxnQkFBZ0I7WUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxnQkFBZ0I7WUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxnQkFBZ0I7WUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxxQkFBcUI7WUFDckYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxxQkFBcUI7WUFDckYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxxQkFBcUI7WUFDckYsQ0FBQyxDQUFDLENBQUMsQ0FB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LGFBQWE7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtpR0FtQlksT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkF5Qk4sYUFBYTtzQkFEWixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZdkMsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFnRW5DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBc0JqQyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbZGlnaXRPbmx5XScsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlnaXRPbmx5RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAgIHByaXZhdGUgaGFzRGVjaW1hbFBvaW50ID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIGhhc05lZ2F0aXZlU2lnbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBuYXZpZ2F0aW9uS2V5cyA9IFtcclxuICAgICAgICAnQmFja3NwYWNlJyxcclxuICAgICAgICAnRGVsZXRlJyxcclxuICAgICAgICAnVGFiJyxcclxuICAgICAgICAnRXNjYXBlJyxcclxuICAgICAgICAnRW50ZXInLFxyXG4gICAgICAgICdIb21lJyxcclxuICAgICAgICAnRW5kJyxcclxuICAgICAgICAnQXJyb3dMZWZ0JyxcclxuICAgICAgICAnQXJyb3dSaWdodCcsXHJcbiAgICAgICAgJ0NsZWFyJyxcclxuICAgICAgICAnQ29weScsXHJcbiAgICAgICAgJ1Bhc3RlJyxcclxuICAgIF07XHJcblxyXG4gICAgQElucHV0KCkgZGVjaW1hbCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZGVjaW1hbFNlcGFyYXRvciA9ICcuJztcclxuICAgIEBJbnB1dCgpIGFsbG93TmVnYXRpdmVzID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBhbGxvd1Bhc3RlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIG5lZ2F0aXZlU2lnbiA9ICctJztcclxuICAgIEBJbnB1dCgpIG1pbiA9IC1JbmZpbml0eTtcclxuICAgIEBJbnB1dCgpIG1heCA9IEluZmluaXR5O1xyXG4gICAgQElucHV0KCkgcGF0dGVybj86IHN0cmluZyB8IFJlZ0V4cDtcclxuICAgIHByaXZhdGUgcmVnZXg6IFJlZ0V4cCB8IG51bGwgPSBudWxsO1xyXG4gICAgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50ID0gZWwubmF0aXZlRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3BhdHRlcm4nXSkge1xyXG4gICAgICAgICAgICB0aGlzLnJlZ2V4ID0gdGhpcy5wYXR0ZXJuID8gUmVnRXhwKHRoaXMucGF0dGVybikgOiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ21pbiddKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1heWJlTWluID0gTnVtYmVyKHRoaXMubWluKTtcclxuICAgICAgICAgICAgdGhpcy5taW4gPSBpc05hTihtYXliZU1pbikgPyAtSW5maW5pdHkgOiBtYXliZU1pbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzWydtYXgnXSkge1xyXG4gICAgICAgICAgICBjb25zdCBtYXliZU1heCA9IE51bWJlcih0aGlzLm1heCk7XHJcbiAgICAgICAgICAgIHRoaXMubWF4ID0gaXNOYU4obWF5YmVNYXgpID8gSW5maW5pdHkgOiBtYXliZU1heDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignYmVmb3JlaW5wdXQnLCBbJyRldmVudCddKVxyXG4gICAgb25CZWZvcmVJbnB1dChlOiBJbnB1dEV2ZW50KTogYW55IHtcclxuICAgICAgICBpZiAoaXNOYU4oTnVtYmVyKGUuZGF0YSkpKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmRhdGEgPT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvciB8fCAoZS5kYXRhID09PSB0aGlzLm5lZ2F0aXZlU2lnbiAmJiB0aGlzLmFsbG93TmVnYXRpdmVzKSkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBnbyBvblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgICBvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCk6IGFueSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25LZXlzLmluZGV4T2YoZS5rZXkpID4gLTEgfHwgLy8gQWxsb3c6IG5hdmlnYXRpb24ga2V5czogYmFja3NwYWNlLCBkZWxldGUsIGFycm93cyBldGMuXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09ICdhJyB8fCBlLmNvZGUgPT09ICdLZXlBJykgJiYgZS5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtBXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09ICdjJyB8fCBlLmNvZGUgPT09ICdLZXlDJykgJiYgZS5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtDXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09ICd2JyB8fCBlLmNvZGUgPT09ICdLZXlWJykgJiYgZS5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtWXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09ICd4JyB8fCBlLmNvZGUgPT09ICdLZXlYJykgJiYgZS5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtYXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09ICdhJyB8fCBlLmNvZGUgPT09ICdLZXlBJykgJiYgZS5tZXRhS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ21kK0EgKE1hYylcclxuICAgICAgICAgICAgKChlLmtleSA9PT0gJ2MnIHx8IGUuY29kZSA9PT0gJ0tleUMnKSAmJiBlLm1ldGFLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDbWQrQyAoTWFjKVxyXG4gICAgICAgICAgICAoKGUua2V5ID09PSAndicgfHwgZS5jb2RlID09PSAnS2V5VicpICYmIGUubWV0YUtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IENtZCtWIChNYWMpXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09ICd4JyB8fCBlLmNvZGUgPT09ICdLZXlYJykgJiYgZS5tZXRhS2V5ID09PSB0cnVlKSAvLyBBbGxvdzogQ21kK1ggKE1hYylcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgLy8gbGV0IGl0IGhhcHBlbiwgZG9uJ3QgZG8gYW55dGhpbmdcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gJyc7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwgJiYgZS5rZXkgPT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvcikge1xyXG4gICAgICAgICAgICBuZXdWYWx1ZSA9IHRoaXMuZm9yZWNhc3RWYWx1ZShlLmtleSk7XHJcbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZS5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgICAgICAgIC8vIGhhcyB0d28gb3IgbW9yZSBkZWNpbWFsIHBvaW50c1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYXNEZWNpbWFsUG9pbnQgPSBuZXdWYWx1ZS5pbmRleE9mKHRoaXMuZGVjaW1hbFNlcGFyYXRvcikgPiAtMTtcclxuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gQWxsb3c6IG9ubHkgb25lIGRlY2ltYWwgcG9pbnRcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGUua2V5ID09PSB0aGlzLm5lZ2F0aXZlU2lnbiAmJiB0aGlzLmFsbG93TmVnYXRpdmVzKSB7XHJcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gdGhpcy5mb3JlY2FzdFZhbHVlKGUua2V5KTtcclxuICAgICAgICAgICAgaWYgKG5ld1ZhbHVlLmNoYXJBdCgwKSAhPT0gdGhpcy5uZWdhdGl2ZVNpZ24gfHwgbmV3VmFsdWUuc3BsaXQodGhpcy5uZWdhdGl2ZVNpZ24pLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFzTmVnYXRpdmVTaWduID0gbmV3VmFsdWUuc3BsaXQodGhpcy5uZWdhdGl2ZVNpZ24pLmxlbmd0aCA+IC0xO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBhIG51bWJlciBhbmQgc3RvcCB0aGUga2V5cHJlc3NcclxuICAgICAgICBpZiAoZS5rZXkgPT09ICcgJyB8fCBpc05hTihOdW1iZXIoZS5rZXkpKSkge1xyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG5ld1ZhbHVlID0gbmV3VmFsdWUgfHwgdGhpcy5mb3JlY2FzdFZhbHVlKGUua2V5KTtcclxuICAgICAgICAvLyBjaGVjayB0aGUgaW5wdXQgcGF0dGVybiBSZWdFeHBcclxuICAgICAgICBpZiAodGhpcy5yZWdleCkge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMucmVnZXgudGVzdChuZXdWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbmV3TnVtYmVyID0gTnVtYmVyKG5ld1ZhbHVlKTtcclxuICAgICAgICBpZiAobmV3TnVtYmVyID4gdGhpcy5tYXggfHwgbmV3TnVtYmVyIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKCdwYXN0ZScsIFsnJGV2ZW50J10pXHJcbiAgICBvblBhc3RlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hbGxvd1Bhc3RlID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGxldCBwYXN0ZWRJbnB1dDogc3RyaW5nID0gJyc7XHJcbiAgICAgICAgICAgIGlmICgod2luZG93IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pWydjbGlwYm9hcmREYXRhJ10pIHtcclxuICAgICAgICAgICAgICAgIC8vIEJyb3dzZXIgaXMgSUVcclxuICAgICAgICAgICAgICAgIHBhc3RlZElucHV0ID0gKHdpbmRvdyBhcyB7IFtrZXk6IHN0cmluZ106IGFueSB9KVsnY2xpcGJvYXJkRGF0YSddLmdldERhdGEoJ3RleHQnKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudC5jbGlwYm9hcmREYXRhICYmIGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YSkge1xyXG4gICAgICAgICAgICAgICAgLy8gT3RoZXIgYnJvd3NlcnNcclxuICAgICAgICAgICAgICAgIHBhc3RlZElucHV0ID0gZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMucGFzdGVEYXRhKHBhc3RlZElucHV0KTtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0aGlzIHByZXZlbnRzIHRoZSBwYXN0ZVxyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignZHJvcCcsIFsnJGV2ZW50J10pXHJcbiAgICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHRleHREYXRhID0gZXZlbnQuZGF0YVRyYW5zZmVyPy5nZXREYXRhKCd0ZXh0JykgPz8gJyc7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB0aGlzLnBhc3RlRGF0YSh0ZXh0RGF0YSk7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBhc3RlRGF0YShwYXN0ZWRDb250ZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzYW5pdGl6ZWRDb250ZW50ID0gdGhpcy5zYW5pdGl6ZUlucHV0KHBhc3RlZENvbnRlbnQpO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgc2FuaXRpemVkQ29udGVudC5pbmNsdWRlcyh0aGlzLm5lZ2F0aXZlU2lnbikgJiZcclxuICAgICAgICAgICAgdGhpcy5oYXNOZWdhdGl2ZVNpZ24gJiZcclxuICAgICAgICAgICAgIXRoaXMuZ2V0U2VsZWN0aW9uKCkuaW5jbHVkZXModGhpcy5uZWdhdGl2ZVNpZ24pXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcGFzdGVkID0gZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2luc2VydFRleHQnLCBmYWxzZSwgc2FuaXRpemVkQ29udGVudCk7XHJcbiAgICAgICAgaWYgKCFwYXN0ZWQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50LnNldFJhbmdlVGV4dCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgeyBzZWxlY3Rpb25TdGFydDogc3RhcnQsIHNlbGVjdGlvbkVuZDogZW5kIH0gPSB0aGlzLmlucHV0RWxlbWVudDtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNldFJhbmdlVGV4dChzYW5pdGl6ZWRDb250ZW50LCBzdGFydCA/PyAwLCBlbmQgPz8gMCwgJ2VuZCcpO1xyXG4gICAgICAgICAgICAgICAgLy8gQW5ndWxhcidzIFJlYWN0aXZlIEZvcm0gcmVsaWVzIG9uIFwiaW5wdXRcIiBldmVudCwgYnV0IG9uIEZpcmVmb3gsIHRoZSBzZXRSYW5nZVRleHQgbWV0aG9kIGRvZXNuJ3QgdHJpZ2dlciBpdFxyXG4gICAgICAgICAgICAgICAgLy8gc28gd2UgaGF2ZSB0byB0cmlnZ2VyIGl0IG91cnNlbGYuXHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mICh3aW5kb3cgYXMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSlbJ0luc3RhbGxUcmlnZ2VyJ10gIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JywgeyBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIEJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBzZXRSYW5nZVRleHQsIGUuZy4gSUVcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zZXJ0QXRDdXJzb3IodGhpcy5pbnB1dEVsZW1lbnQsIHNhbml0aXplZENvbnRlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5oYXNEZWNpbWFsUG9pbnQgPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5pbmRleE9mKHRoaXMuZGVjaW1hbFNlcGFyYXRvcikgPiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5oYXNOZWdhdGl2ZVNpZ24gPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5pbmRleE9mKHRoaXMubmVnYXRpdmVTaWduKSA+IC0xO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBmb2xsb3dpbmcgMiBtZXRob2RzIHdlcmUgYWRkZWQgZnJvbSB0aGUgYmVsb3cgYXJ0aWNsZSBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBzZXRSYW5nZVRleHRcclxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzExMDc2OTc1L2hvdy10by1pbnNlcnQtdGV4dC1pbnRvLXRoZS10ZXh0YXJlYS1hdC10aGUtY3VycmVudC1jdXJzb3ItcG9zaXRpb25cclxuICAgIHByaXZhdGUgaW5zZXJ0QXRDdXJzb3IobXlGaWVsZDogSFRNTElucHV0RWxlbWVudCwgbXlWYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3RhcnRQb3MgPSBteUZpZWxkLnNlbGVjdGlvblN0YXJ0ID8/IDA7XHJcbiAgICAgICAgY29uc3QgZW5kUG9zID0gbXlGaWVsZC5zZWxlY3Rpb25FbmQgPz8gMDtcclxuXHJcbiAgICAgICAgbXlGaWVsZC52YWx1ZSA9XHJcbiAgICAgICAgICAgIG15RmllbGQudmFsdWUuc3Vic3RyaW5nKDAsIHN0YXJ0UG9zKSArIG15VmFsdWUgKyBteUZpZWxkLnZhbHVlLnN1YnN0cmluZyhlbmRQb3MsIG15RmllbGQudmFsdWUubGVuZ3RoKTtcclxuXHJcbiAgICAgICAgY29uc3QgcG9zID0gc3RhcnRQb3MgKyBteVZhbHVlLmxlbmd0aDtcclxuICAgICAgICBteUZpZWxkLmZvY3VzKCk7XHJcbiAgICAgICAgbXlGaWVsZC5zZXRTZWxlY3Rpb25SYW5nZShwb3MsIHBvcyk7XHJcblxyXG4gICAgICAgIHRoaXMudHJpZ2dlckV2ZW50KG15RmllbGQsICdpbnB1dCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdHJpZ2dlckV2ZW50KGVsOiBIVE1MSW5wdXRFbGVtZW50LCB0eXBlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBpZiAoJ2NyZWF0ZUV2ZW50JyBpbiBkb2N1bWVudCkge1xyXG4gICAgICAgICAgICAvLyBtb2Rlcm4gYnJvd3NlcnMsIElFOStcclxuICAgICAgICAgICAgY29uc3QgZSA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7XHJcbiAgICAgICAgICAgIGUuaW5pdEV2ZW50KHR5cGUsIGZhbHNlLCB0cnVlKTtcclxuICAgICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBlbmQgc3RhY2sgb3ZlcmZsb3cgY29kZVxyXG5cclxuICAgIHByaXZhdGUgc2FuaXRpemVJbnB1dChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgbGV0IHJlZ2V4O1xyXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwgJiYgdGhpcy5pc1ZhbGlkRGVjaW1hbChpbnB1dCkpIHtcclxuICAgICAgICAgICAgcmVnZXggPSBuZXcgUmVnRXhwKGAke3RoaXMuZ2V0TmVnYXRpdmVTaWduUmVnRXhwKCl9W14wLTkke3RoaXMuZGVjaW1hbFNlcGFyYXRvcn1dYCwgJ2cnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZWdleCA9IG5ldyBSZWdFeHAoYCR7dGhpcy5nZXROZWdhdGl2ZVNpZ25SZWdFeHAoKX1bXjAtOV1gLCAnZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXN1bHQgPSBpbnB1dC5yZXBsYWNlKHJlZ2V4LCAnJyk7XHJcblxyXG4gICAgICAgIGNvbnN0IG1heExlbmd0aCA9IHRoaXMuaW5wdXRFbGVtZW50Lm1heExlbmd0aDtcclxuICAgICAgICBpZiAobWF4TGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyB0aGUgaW5wdXQgZWxlbWVudCBoYXMgbWF4TGVuZ3RoIGxpbWl0XHJcbiAgICAgICAgICAgIGNvbnN0IGFsbG93ZWRMZW5ndGggPVxyXG4gICAgICAgICAgICAgICAgbWF4TGVuZ3RoIC0gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUubGVuZ3RoICsgKHJlc3VsdC5pbmNsdWRlcyhgJHt0aGlzLm5lZ2F0aXZlU2lnbn1gKSA/IDEgOiAwKTtcclxuICAgICAgICAgICAgcmVzdWx0ID0gYWxsb3dlZExlbmd0aCA+IDAgPyByZXN1bHQuc3Vic3RyaW5nKDAsIGFsbG93ZWRMZW5ndGgpIDogJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXROZWdhdGl2ZVNpZ25SZWdFeHAoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGxvd05lZ2F0aXZlcyAmJiAoIXRoaXMuaGFzTmVnYXRpdmVTaWduIHx8IHRoaXMuZ2V0U2VsZWN0aW9uKCkuaW5jbHVkZXModGhpcy5uZWdhdGl2ZVNpZ24pKVxyXG4gICAgICAgICAgICA/IGAoPyFeJHt0aGlzLm5lZ2F0aXZlU2lnbn0pYFxyXG4gICAgICAgICAgICA6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZERlY2ltYWwoc3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMuaGFzRGVjaW1hbFBvaW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBzdHJpbmcuc3BsaXQodGhpcy5kZWNpbWFsU2VwYXJhdG9yKS5sZW5ndGggPD0gMjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0aGUgaW5wdXQgZWxlbWVudCBhbHJlYWR5IGhhcyBhIGRlY2ltYWwgc2VwYXJhdG9yXHJcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkVGV4dCA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XHJcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFRleHQgJiYgc2VsZWN0ZWRUZXh0LmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKSA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RyaW5nLnNwbGl0KHRoaXMuZGVjaW1hbFNlcGFyYXRvcikubGVuZ3RoIDw9IDI7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RyaW5nLmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKSA8IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3Rpb24oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUuc3Vic3RyaW5nKFxyXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5zZWxlY3Rpb25TdGFydCA/PyAwLFxyXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5zZWxlY3Rpb25FbmQgPz8gMCxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9yZWNhc3RWYWx1ZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSB0aGlzLmlucHV0RWxlbWVudC5zZWxlY3Rpb25TdGFydDtcclxuICAgICAgICBjb25zdCBzZWxlY3Rpb25FbmQgPSB0aGlzLmlucHV0RWxlbWVudC5zZWxlY3Rpb25FbmQ7XHJcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHNlbGVjdGlvblN0YXJ0ID09IG51bGwgJiYgc2VsZWN0aW9uRW5kID09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9sZFZhbHVlICsga2V5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9sZFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCkgKyBrZXkgKyBvbGRWYWx1ZS5zdWJzdHJpbmcoc2VsZWN0aW9uRW5kKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,46 @@
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
23
+ ? this.popupRowHeight * (this.tableDataLength ? this.tableDataLength : 1) + this.popupHeaderHeight
24
+ : totalPopupTableHeight;
25
+ this.renderer.setStyle(this.el.nativeElement, 'height', `calc(${tableHeightForPopup}px)`);
26
+ }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FixedRowsPopupTableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
28
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FixedRowsPopupTableDirective, isStandalone: true, selector: "[fixedRowsInPopupTable]", inputs: { popupRowHeight: "popupRowHeight", popupHeaderHeight: "popupHeaderHeight", tableDataLength: "tableDataLength" }, host: { listeners: { "window:resize": "onWindowResize()" } }, ngImport: i0 }); }
29
+ }
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FixedRowsPopupTableDirective, decorators: [{
31
+ type: Directive,
32
+ args: [{
33
+ selector: '[fixedRowsInPopupTable]',
34
+ standalone: true,
35
+ }]
36
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { popupRowHeight: [{
37
+ type: Input
38
+ }], popupHeaderHeight: [{
39
+ type: Input
40
+ }], tableDataLength: [{
41
+ type: Input
42
+ }], onWindowResize: [{
43
+ type: HostListener,
44
+ args: ['window:resize']
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9kaXJlY3RpdmVzL2ZpeGVkLXJvd3MtcG9wdXAtdGFibGUvZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTXRGLE1BQU0sT0FBTyw0QkFBNEI7SUFNckMsWUFDWSxFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFQdEIsbUJBQWMsR0FBVyxJQUFJLENBQUM7UUFDOUIsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBRXhDLHlDQUFvQyxHQUFXLEVBQUUsQ0FBQztJQUsvQyxDQUFDO0lBR0osY0FBYztRQUNWLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDMUMsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsb0JBQW9CLENBQUM7UUFDakUsSUFBSSxxQkFBcUIsR0FDckIsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRTdGLElBQUksbUJBQW1CLEdBQ25CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9DQUFvQztZQUM1RCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUI7WUFDbEcsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO1FBRWhDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxRQUFRLG1CQUFtQixLQUFLLENBQUMsQ0FBQztJQUM5RixDQUFDOytHQWpDUSw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7eUhBRVksY0FBYztzQkFBdEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFTTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW2ZpeGVkUm93c0luUG9wdXBUYWJsZV0nLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpeGVkUm93c1BvcHVwVGFibGVEaXJlY3RpdmUge1xyXG4gICAgQElucHV0KCkgcG9wdXBSb3dIZWlnaHQ6IG51bWJlciA9IDM3LjU7XHJcbiAgICBASW5wdXQoKSBwb3B1cEhlYWRlckhlaWdodDogbnVtYmVyID0gMzg7XHJcbiAgICBASW5wdXQoKSB0YWJsZURhdGFMZW5ndGg6IG51bWJlcjtcclxuICAgIG1heFJvd3NSZW5kZXJlZFdpdGhvdXRTY3JvbGxGb3JQb3B1cDogbnVtYmVyID0gMTA7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICApIHt9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXHJcbiAgICBvbldpbmRvd1Jlc2l6ZSgpIHtcclxuICAgICAgICB0aGlzLnNldFBvcFVwVGFibGVIZWlnaHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLnNldFBvcFVwVGFibGVIZWlnaHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRQb3BVcFRhYmxlSGVpZ2h0KCkge1xyXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgICAgIGNvbnN0IG1heE5vT2ZSb3dzVG9EaXNwbGF5ID0gdmlld3BvcnRIZWlnaHQgPCA3NDAgPyA1IDogMTA7XHJcbiAgICAgICAgdGhpcy5tYXhSb3dzUmVuZGVyZWRXaXRob3V0U2Nyb2xsRm9yUG9wdXAgPSBtYXhOb09mUm93c1RvRGlzcGxheTtcclxuICAgICAgICBsZXQgdG90YWxQb3B1cFRhYmxlSGVpZ2h0ID1cclxuICAgICAgICAgICAgdGhpcy5tYXhSb3dzUmVuZGVyZWRXaXRob3V0U2Nyb2xsRm9yUG9wdXAgKiB0aGlzLnBvcHVwUm93SGVpZ2h0ICsgdGhpcy5wb3B1cEhlYWRlckhlaWdodDtcclxuXHJcbiAgICAgICAgbGV0IHRhYmxlSGVpZ2h0Rm9yUG9wdXAgPVxyXG4gICAgICAgICAgICB0aGlzLnRhYmxlRGF0YUxlbmd0aCA8IHRoaXMubWF4Um93c1JlbmRlcmVkV2l0aG91dFNjcm9sbEZvclBvcHVwXHJcbiAgICAgICAgICAgICAgICA/IHRoaXMucG9wdXBSb3dIZWlnaHQgKiAodGhpcy50YWJsZURhdGFMZW5ndGggPyB0aGlzLnRhYmxlRGF0YUxlbmd0aCA6IDEpICsgdGhpcy5wb3B1cEhlYWRlckhlaWdodFxyXG4gICAgICAgICAgICAgICAgOiB0b3RhbFBvcHVwVGFibGVIZWlnaHQ7XHJcblxyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYGNhbGMoJHt0YWJsZUhlaWdodEZvclBvcHVwfXB4KWApO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,39 @@
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
+ let domElement = this.elementRef.nativeElement;
9
+ if (domElement.offsetWidth < domElement.scrollWidth || this.checkPositionsInDecimals(domElement)) {
10
+ domElement.title = domElement.textContent == '' ? domElement.value : domElement.textContent;
11
+ }
12
+ else if (domElement.title)
13
+ domElement.removeAttribute('title');
14
+ }
15
+ checkPositionsInDecimals(domElement) {
16
+ // if we don't have any children element Then we can't calculate and compare anything so we are returning false from here
17
+ if (!domElement.children || (domElement.children && domElement.children.length == 0))
18
+ return false;
19
+ let elementRect = domElement.getBoundingClientRect();
20
+ let childRect = domElement.children[0].getBoundingClientRect();
21
+ let paddingOnRight = window.getComputedStyle(domElement).paddingRight;
22
+ let padding = +(paddingOnRight.endsWith('px') ? paddingOnRight.slice(0, -2) : paddingOnRight);
23
+ // If overflow happens then Child element's right side position will be greater than container element's right side position.
24
+ return childRect.right + padding > elementRect.right;
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: showEllipsisTextOnHoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: showEllipsisTextOnHoverDirective, isStandalone: true, selector: "[showEllipsisTextOnHover]", host: { listeners: { "mouseenter": "onMouseEnter()" } }, ngImport: i0 }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: showEllipsisTextOnHoverDirective, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ selector: '[showEllipsisTextOnHover]',
33
+ standalone: true,
34
+ }]
35
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onMouseEnter: [{
36
+ type: HostListener,
37
+ args: ['mouseenter']
38
+ }] } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1lbGxpcHNpcy10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL2RpcmVjdGl2ZXMvc2hvdy1lbGxpcHNpcy10ZXh0L3Nob3ctZWxsaXBzaXMtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1wRSxNQUFNLE9BQU8sZ0NBQWdDO0lBQ3pDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRzlDLFlBQVk7UUFDUixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUMvQyxJQUFJLFVBQVUsQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDOUYsVUFBVSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztTQUMvRjthQUFNLElBQUksVUFBVSxDQUFDLEtBQUs7WUFBRSxVQUFVLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxVQUFtQjtRQUN4Qyx5SEFBeUg7UUFDekgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUFFLE9BQU8sS0FBSyxDQUFDO1FBRW5HLElBQUksV0FBVyxHQUFHLFVBQVUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3JELElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUUvRCxJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsWUFBWSxDQUFDO1FBQ3RFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU5Riw2SEFBNkg7UUFDN0gsT0FBTyxTQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ3pELENBQUM7K0dBdkJRLGdDQUFnQzttR0FBaEMsZ0NBQWdDOzs0RkFBaEMsZ0NBQWdDO2tCQUo1QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjtpR0FLRyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3Nob3dFbGxpcHNpc1RleHRPbkhvdmVyXScsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3Mgc2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJEaXJlY3RpdmUge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInKVxyXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBkb21FbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKGRvbUVsZW1lbnQub2Zmc2V0V2lkdGggPCBkb21FbGVtZW50LnNjcm9sbFdpZHRoIHx8IHRoaXMuY2hlY2tQb3NpdGlvbnNJbkRlY2ltYWxzKGRvbUVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgIGRvbUVsZW1lbnQudGl0bGUgPSBkb21FbGVtZW50LnRleHRDb250ZW50ID09ICcnID8gZG9tRWxlbWVudC52YWx1ZSA6IGRvbUVsZW1lbnQudGV4dENvbnRlbnQ7XHJcbiAgICAgICAgfSBlbHNlIGlmIChkb21FbGVtZW50LnRpdGxlKSBkb21FbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgndGl0bGUnKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja1Bvc2l0aW9uc0luRGVjaW1hbHMoZG9tRWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vIGlmIHdlIGRvbid0IGhhdmUgYW55IGNoaWxkcmVuIGVsZW1lbnQgVGhlbiB3ZSBjYW4ndCBjYWxjdWxhdGUgYW5kIGNvbXBhcmUgYW55dGhpbmcgc28gd2UgYXJlIHJldHVybmluZyBmYWxzZSBmcm9tIGhlcmVcclxuICAgICAgICBpZiAoIWRvbUVsZW1lbnQuY2hpbGRyZW4gfHwgKGRvbUVsZW1lbnQuY2hpbGRyZW4gJiYgZG9tRWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPT0gMCkpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAgICAgbGV0IGVsZW1lbnRSZWN0ID0gZG9tRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICBsZXQgY2hpbGRSZWN0ID0gZG9tRWxlbWVudC5jaGlsZHJlblswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgbGV0IHBhZGRpbmdPblJpZ2h0ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9tRWxlbWVudCkucGFkZGluZ1JpZ2h0O1xyXG4gICAgICAgIGxldCBwYWRkaW5nID0gKyhwYWRkaW5nT25SaWdodC5lbmRzV2l0aCgncHgnKSA/IHBhZGRpbmdPblJpZ2h0LnNsaWNlKDAsIC0yKSA6IHBhZGRpbmdPblJpZ2h0KTtcclxuXHJcbiAgICAgICAgLy8gSWYgb3ZlcmZsb3cgaGFwcGVucyB0aGVuIENoaWxkIGVsZW1lbnQncyByaWdodCBzaWRlIHBvc2l0aW9uIHdpbGwgYmUgZ3JlYXRlciB0aGFuIGNvbnRhaW5lciBlbGVtZW50J3MgcmlnaHQgc2lkZSBwb3NpdGlvbi5cclxuICAgICAgICByZXR1cm4gY2hpbGRSZWN0LnJpZ2h0ICsgcGFkZGluZyA+IGVsZW1lbnRSZWN0LnJpZ2h0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLWRhdGEtdHlwZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLWdlbmVyaWMtZGF0YS10eXBlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFdlZWtPYmplY3Qge1xyXG4gICAgc3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICBlbmREYXRlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsbGVyR3JvdXBIaWVyYXJjaHkge1xyXG4gICAgaW52ZW50b3J5Q29kZTogc3RyaW5nO1xyXG4gICAgcHJvZ3JhbTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJhdGluZ1NlbGxlckdyb3VwSGllcmFyY2h5IHtcclxuICAgIEludmVudG9yeUNvZGU6IHN0cmluZztcclxuICAgIFByb2dyYW06IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEd0Q29sdW1uSWNvbkVtaXR0ZWREYXRhIHtcclxuICAgIGRhdGE6IGFueTtcclxuICAgIGtleTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJUmFkaW9CdXR0b24ge1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzIHtcclxuICAgIHRleHQ6IHN0cmluZztcclxuICAgIHNlbGVjdEFsbFRleHQ6IHN0cmluZztcclxuICAgIHVuU2VsZWN0QWxsVGV4dDogc3RyaW5nO1xyXG4gICAgYmFkZ2VTaG93TGltaXQ6IG51bWJlcjtcclxuICAgIHNpbmdsZVNlbGVjdGlvbjogYm9vbGVhbjtcclxuICAgIGNsYXNzZXM6IHN0cmluZztcclxuICAgIGVuYWJsZVNlYXJjaEZpbHRlcjogYm9vbGVhbjtcclxuICAgIGVuYWJsZUNoZWNrQWxsOiBib29sZWFuO1xyXG4gICAgYXV0b1Bvc2l0aW9uOiBib29sZWFuO1xyXG4gICAgcG9zaXRpb246IHN0cmluZztcclxuICAgIGxhenlMb2FkaW5nOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBzaG93Q2hlY2tib3g6IGJvb2xlYW47XHJcbiAgICBlbmFibGVGaWx0ZXJTZWxlY3RBbGw6IGJvb2xlYW47XHJcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmd4QXNpZGVTZXR0aW5ncyB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgY2FuY2VsQnV0dG9uVGl0bGU6IHN0cmluZztcclxuICAgIHN1Ym1pdEJ1dHRvblRpdGxlOiBzdHJpbmc7XHJcbiAgICBjbG9zZU9uRXNjYXBlOiBib29sZWFuO1xyXG4gICAgc2hvd092ZXJsYXk6IGJvb2xlYW47XHJcbiAgICBzaG93RGVmYXVsdEZvb3RlcjogYm9vbGVhbjtcclxuICAgIHNob3dEZWZhdWx0SGVhZGVyOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElOZ2JEYXRlUGlja2VyU2V0dGluZ3Mge1xyXG4gICAgYXV0b0Nsb3NlOiBib29sZWFuO1xyXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIGRpc3BsYXlNb250aHM6IG51bWJlcjtcclxuICAgIGZpcnN0RGF5T2ZXZWVrOiBudW1iZXI7XHJcbiAgICBzaG93V2Vla051bWJlcnM6IGJvb2xlYW47XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmdTZWxlY3RTZXR0aW5ncyB7XHJcbiAgICBhbGxvd0NsZWFyOiBib29sZWFuO1xyXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyB7XHJcbiAgICBpbmZpbml0ZVNjcm9sbERpc3RhbmNlOiBudW1iZXI7XHJcbiAgICBpbmZpbml0ZVNjcm9sbFVwRGlzdGFuY2U6IG51bWJlcjtcclxuICAgIGluZmluaXRlU2Nyb2xsVGhyb3R0bGU6IG51bWJlcjtcclxuICAgIHNjcm9sbFdpbmRvdzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncyB7XHJcbiAgICBudW1iZXJPZlNrZWxldG9uUm93czogbnVtYmVyW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJhZGlvQnV0dG9uQ29tcG9uZW50Q29uZmlnIHtcclxuICAgIGhlYWRpbmc/OiBzdHJpbmc7XHJcbiAgICByYWRpb0J1dHRvbnM6IElSYWRpb0J1dHRvbltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDb25maXJtYXRpb25Qb3B1cENvbmZpZyB7XHJcbiAgICBzaG93Q2FuY2VsQnV0dG9uOiBib29sZWFuO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHNob3dDb25maXJtQnV0dG9uOiBib29sZWFuO1xyXG4gICAgY2FuY2VsQnV0dG9uTGFiZWw6IHN0cmluZztcclxuICAgIGNvbmZpcm1CdXR0b25MYWJlbDogc3RyaW5nO1xyXG4gICAgc2hvd0Nsb3NlSWNvbjogYm9vbGVhbjtcclxuICAgIHdpbmRvd0NsYXNzOiBzdHJpbmc7XHJcbiAgICBiYWNrZHJvcDogJ3N0YXRpYycgfCBib29sZWFuO1xyXG4gICAgc2l6ZTogJ3NtJyB8ICdsZyc7XHJcbiAgICBrZXlib2FyZDogYm9vbGVhbjtcclxuICAgIGNlbnRlcmVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJV2Vla0NhbGVuZGFyIHtcclxuICAgIGZpcnN0RGF5T2ZXZWVrPzogbnVtYmVyO1xyXG4gICAgbnVtYmVyT2ZNb250aHNUb0VuYWJsZUluUGFzdDogbnVtYmVyO1xyXG4gICAgc2VsZWN0TXVsdGlwbGVXZWVrczogYm9vbGVhbjtcclxuICAgIHNob3dXZWVrTnVtYmVycz86IGJvb2xlYW47XHJcbiAgICBkYXRlRm9ybWF0VG9EaXNwbGF5Pzogc3RyaW5nO1xyXG4gICAgbWF4V2Vla3NUb1Nob3dXaXRoUmVtYWluaW5nQ291bnQ/OiBudW1iZXI7XHJcbiAgICBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICAgIGVtaXRNdWx0aXBsZVdlZWtPYmplY3RzPzogYm9vbGVhbjtcclxuICAgIGVtaXRJbml0aWFsU2VsZWN0aW9uPzogYm9vbGVhbjtcclxuICAgIGRhdGVGb3JtYXRGb3JSZXF1ZXN0Pzogc3RyaW5nO1xyXG4gICAgbWF4V2Vla3NUb1NlbGVjdD86IG51bWJlcjtcclxuICAgIHNob3dBc0Ryb3Bkb3duOiBib29sZWFuO1xyXG4gICAgc2VsZWN0Q3VycmVudFdlZWs6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVNpbmdsZVNlbGVjdCB7XHJcbiAgICBzaG93U2VhcmNoQmFyOiBib29sZWFuO1xyXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIGNsYXNzZXM6IHN0cmluZztcclxuICAgIHBvc2l0aW9uOiBQb3NpdGlvbjtcclxuICAgIG1heEhlaWdodE9mTGlzdDogbnVtYmVyOyAvL3B4IHZhbHVlXHJcbiAgICBtaW5IZWlnaHRPZkxpc3Q/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbU11bHRpU2VsZWN0IGV4dGVuZHMgSUN1c3RvbVNpbmdsZVNlbGVjdCB7XHJcbiAgICBzaG93RXJyb3JXaGVuTm9PcHRpb25TZWxlY3RlZDogYm9vbGVhbjtcclxufVxyXG5cclxudHlwZSBQb3NpdGlvbiA9ICdUT1AnIHwgJ0JPVFRPTSc7XHJcbiJdfQ==
@@ -0,0 +1,22 @@
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
+ export class IconCellActionKey {
12
+ constructor(id, showIcon, iconClass, showObjectKey, showTooltip, tooltipData) {
13
+ this.showIcon = true;
14
+ this.id = id;
15
+ this.showIcon = showIcon;
16
+ this.iconClass = iconClass;
17
+ this.showObjectKey = showObjectKey;
18
+ this.showTooltip = showTooltip;
19
+ this.tooltipData = tooltipData;
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3SEEsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFDSSxxQkFBMEIsRUFDMUIsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLFdBQW9CLEVBQ3BCLFdBQTJDO1FBRTNDLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksRUFBTyxFQUNQLFFBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGFBQXNCLEVBQ3RCLFdBQW9CLEVBQ3BCLFdBQW9CO1FBWnhCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFjckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSAnLi9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWwnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RUYWJsZUhlYWRlciB7XHJcbiAgICBoZWFkZXJJbmZvOiBJSGVhZGVySW5mb1tdO1xyXG4gICAgdmlzaWJsZTogYm9vbGVhbjtcclxuICAgIHdpZHRoOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUhlYWRlckluZm8ge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgb2JqZWN0S2V5OiBzdHJpbmc7XHJcbiAgICBhY3Rpb25LZXk/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwS2V5Pzogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZEtleT86IHN0cmluZztcclxuICAgIHR5cGVPZkhlYWRlckRhdGE6IERBVEFUWVBFO1xyXG4gICAgdHlwZU9mQm9keURhdGE6IERBVEFUWVBFO1xyXG4gICAgZmlsdGVyPzogRklMVEVSVFlQRTtcclxuICAgIGZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nW107XHJcbiAgICBpc1NvcnRSZXF1aXJlZD86IGJvb2xlYW5bXTtcclxuICAgIGlzRmlsdGVyUmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBzaG93VG9vbHRpcEljb246IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlVG9vbHRpcEljb24/OiBib29sZWFuO1xyXG4gICAgdG9vbHRpcD86IElUb29sdGlwO1xyXG4gICAgam9pbmVkRmlsdGVyU29ydE9iamVjdEtleXM/OiBzdHJpbmc7XHJcbn1cclxuXHJcbnR5cGUgREFUQVRZUEUgPVxyXG4gICAgfCAnQ0hFQ0tCT1gnXHJcbiAgICB8ICdJQ09OJ1xyXG4gICAgfCAnU1RSSU5HJ1xyXG4gICAgfCAnUkFESU8nXHJcbiAgICB8ICcnXHJcbiAgICB8ICdTVkdfSUNPTidcclxuICAgIHwgJ1RFWFRfQUNUSU9OUydcclxuICAgIHwgJ0NMSUNLQUJMRV9EQVRBJ1xyXG4gICAgfCAnU1RSSU5HX19URVhUX0FDVElPTidcclxuICAgIHwgJ1NUUklOR19fSUNPTl9BQ1RJT04nXHJcbiAgICB8ICdTVFJJTkdfX19JQ09OX09SX1RFWFRfQUNUSU9OJ1xyXG4gICAgfCAnSFRNTCdcclxuICAgIHwgJ0hUTUxfU1RSSU5HJ1xyXG4gICAgfCAnSUNPTl9DRUxMJ1xyXG4gICAgfCAnU1RSSU5HX09SX0lOUFVUJ1xyXG4gICAgfCAnU0lOR0xFX1JBRElPJ1xyXG4gICAgfCAnU1RSSU5HX1dJVEhfVE9PTFRJUCc7XHJcbnR5cGUgRklMVEVSVFlQRSA9ICdDSEVDS0JPWCcgfCAnU0xJREVSJyB8ICdEQVRFJyB8ICdUSU1FJyB8ICdXRUVLJztcclxudHlwZSBUT09MVElQT1NJVElPTiA9ICdsZWZ0JyB8ICdyaWdodCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbFJvd0luZm8ge1xyXG4gICAgY29sc3BhbjogbnVtYmVyO1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG4gICAgbG93ZXJEYXRhPzogc3RyaW5nO1xyXG4gICAgY29sTmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxuICAgIGlzQWN0aW9uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGFjdGlvbkRhdGE/OiBDbGlja2FibGVJdGVtW107XHJcbiAgICBpc0ljb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgaWNvbkRhdGE/OiB7IGNsYXNzOiBzdHJpbmc7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgdG9vbHRpcEljb25DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGNvbXBvbmVudDogQ09NUE9ORU5UTkFNRTtcclxuICAgIHRvdGFsUm93OiBib29sZWFuO1xyXG4gICAgaXNIZWFkZXJDaGVja2VkPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVIZWFkZXJDaGVja2JveD86IGJvb2xlYW47XHJcbiAgICBtdWx0aVdlZWtQaWNrZXJDb25maWc/OiBJV2Vla0NhbGVuZGFyO1xyXG4gICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwPzogbnVtYmVyO1xyXG4gICAgdGFibGVDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgdGFibGVPdXRlckNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiBib29sZWFuO1xyXG4gICAgYnVmZmVyU2l6ZTogbnVtYmVyO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIENPTVBPTkVOVE5BTUUgPVxyXG4gICAgfCAnU1BPVERFVEFJTFMnXHJcbiAgICB8ICdFWENMVURFSU5WRU5UT1JZUE9QVVAnXHJcbiAgICB8ICdFWENMVURFSU5WRU5UT1JZJ1xyXG4gICAgfCAnRFJSTElTVElORydcclxuICAgIHwgJ0RSUidcclxuICAgIHwgJydcclxuICAgIHwgJ1JBVElORydcclxuICAgIHwgJ09SREVSX0xJU1RJTkdfSU5GTElHSFQnXHJcbiAgICB8ICdPUkRFUl9MSVNUSU5HX0NPTVBMRVRFRCdcclxuICAgIHwgJ09SREVSX0xJU1RJTkdfQkxBTksnXHJcbiAgICB8ICdMVVJfVklPTEFUSU9OUydcclxuICAgIHwgJ0FDVElWSVRZTE9HJ1xyXG4gICAgfCAnTk9USUZJQ0FUSU9OUydcclxuICAgIHwgJ0RQX1JFU1RSSUNUSU9OUyc7XHJcbmludGVyZmFjZSBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGlzR3JvdXBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG9vbHRpcCB7XHJcbiAgICBpY29uUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAnYWJvdmUnIHwgJ2JlbG93JyB8ICdiZWZvcmUnIHwgJ2FmdGVyJztcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIHRvb2x0aXBQb3NpdGlvbjogc3RyaW5nO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwQ2xhc3M6IHN0cmluZztcclxuICAgIHRvb2x0aXBNZXNzYWdlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEljb25EYXRhIHtcclxuICAgIGRhdGE6IGFueTtcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEFjdGlvbiB7XHJcbiAgICBpZDogbnVtYmVyO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDbGlja2FibGVJdGVtIHtcclxuICAgIGlkOiBhbnk7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG4gICAgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfTtcclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dDogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICB0eXBlT2ZBY3Rpb25MaW5rRm9yR3Q6IGFueSxcclxuICAgICAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgY2xhc3NOYW1lOiBzdHJpbmcsXHJcbiAgICAgICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sXHJcbiAgICAgICAgdG9vbHRpcERhdGE6IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfSxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuaWQgPSB0eXBlT2ZBY3Rpb25MaW5rRm9yR3Q7XHJcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcclxuICAgICAgICB0aGlzLmNsYXNzID0gY2xhc3NOYW1lO1xyXG4gICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAgPSBzaG93VG9vbHRpcDtcclxuICAgICAgICB0aGlzLnRvb2x0aXBEYXRhID0gdG9vbHRpcERhdGE7XHJcbiAgICAgICAgdGhpcy5lbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEljb25DZWxsQWN0aW9uS2V5IHtcclxuICAgIGlkOiBudW1iZXIgfCBzdHJpbmc7XHJcbiAgICBzaG93SWNvbjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuICAgIHRvb2x0aXBEYXRhPzogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGlkOiBhbnksXHJcbiAgICAgICAgc2hvd0ljb246IGJvb2xlYW4sXHJcbiAgICAgICAgaWNvbkNsYXNzOiBzdHJpbmcsXHJcbiAgICAgICAgc2hvd09iamVjdEtleTogYm9vbGVhbixcclxuICAgICAgICBzaG93VG9vbHRpcDogYm9vbGVhbixcclxuICAgICAgICB0b29sdGlwRGF0YT86IHN0cmluZyxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuaWQgPSBpZDtcclxuICAgICAgICB0aGlzLnNob3dJY29uID0gc2hvd0ljb247XHJcbiAgICAgICAgdGhpcy5pY29uQ2xhc3MgPSBpY29uQ2xhc3M7XHJcbiAgICAgICAgdGhpcy5zaG93T2JqZWN0S2V5ID0gc2hvd09iamVjdEtleTtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGF0YSA9IHRvb2x0aXBEYXRhO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpb25JdGVtVHlwZVNUUklOR19fSUNPTl9PUl9URVhUX0FDVElPTiB7XHJcbiAgICBpZDogYW55O1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG5cclxuICAgIHR5cGVPZkRhdGE6ICdTVFJJTkcnIHwgJ0lDT05fVEVYVF9BQ1RJT04nO1xyXG4gICAgYWRkaXRpb25hbFRleHRCZWZvcmVMaW5rOiBzdHJpbmc7XHJcblxyXG4gICAgaWNvbkNsYXNzPzogc3RyaW5nO1xyXG4gICAgc2hvd0ljb246IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlZEljb24/OiBib29sZWFuO1xyXG5cclxuICAgIGxpbmtDbGFzcz86IHN0cmluZztcclxuICAgIHNob3dMaW5rPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkTGluaz86IGJvb2xlYW47XHJcblxyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcblxyXG4gICAgdG9vbHRpcERhdGE/OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXTtcclxuICAgIHRvb2x0aXBDbGFzcz86IHN0cmluZztcclxuICAgIHRvb2x0aXBQbGFjZW1lbnQ/OiBzdHJpbmc7XHJcblxyXG4gICAgZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0PzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWNvblRvU2hvdyA9XHJcbiAgICB8ICdMSVZFJ1xyXG4gICAgfCAnUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkUnXHJcbiAgICB8ICdQQVlfRk9SX1BFUkZPUk1BTkNFJ1xyXG4gICAgfCAnUkVKRUNURUQnXHJcbiAgICB8ICdOT1RJRlknXHJcbiAgICB8ICdBV0FJVElOR19BUFBST1ZBTCdcclxuICAgIHwgJ0RFTEVURURfT1JERVInXHJcbiAgICB8ICdORUVEX1NFTExFUl9DT05GSVJNQVRJT04nXHJcbiAgICB8ICdORUVEX0JVWUVSX0NPTkZJUk1BVElPTic7XHJcbiJdfQ==
@@ -0,0 +1,7 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtc29ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLG1DQUFtQixDQUFBO0lBQ25CLDJCQUFXLENBQUE7SUFDWCw2QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxZQUFZLEtBQVosWUFBWSxRQUl2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNvcnRUeXBlID0gJ0RFRkFVTFQnIHwgJ0FTQycgfCAnREVTQyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb24ge1xyXG4gICAgc29ydFR5cGU6IFNvcnRUeXBlO1xyXG4gICAgaXNPcHRpb25BY3RpdmU6IGJvb2xlYW47XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNvcnRUeXBlRW51bSB7XHJcbiAgICBERUZBVUxUID0gJ0RFRkFVTFQnLFxyXG4gICAgQVNDID0gJ0FTQycsXHJcbiAgICBERVNDID0gJ0RFU0MnLFxyXG59XHJcbiJdfQ==
@@ -1,30 +1,30 @@
1
- export class TooltipModel {
2
- constructor(obj, id) {
3
- this.label = obj != null ? obj.toString() : "-";
4
- this.value = obj;
5
- this.isSelected = false;
6
- this.id = id;
7
- }
8
- }
9
- export class tooltipModelForColumnLevelFiltering {
10
- constructor(data) {
11
- this.data = data;
12
- this.isSelected = true;
13
- this.isHidden = false;
14
- }
15
- }
16
- export class radioButtonModel {
17
- constructor(key, value, sort, filter) {
18
- this.key = key;
19
- this.label = value;
20
- this.isSortRequired = sort;
21
- this.isFilterRequired = filter;
22
- }
23
- }
24
- export var AllSelectedStatus;
25
- (function (AllSelectedStatus) {
26
- AllSelectedStatus[AllSelectedStatus["none"] = 0] = "none";
27
- AllSelectedStatus[AllSelectedStatus["allSelected"] = 1] = "allSelected";
28
- AllSelectedStatus[AllSelectedStatus["fewSelected"] = 2] = "fewSelected";
29
- })(AllSelectedStatus || (AllSelectedStatus = {}));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS10b29sdGlwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtdG9vbHRpcC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQU1yQixZQUFZLEdBQVcsRUFBQyxFQUFVO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLG1DQUFtQztJQUk1QyxZQUFZLElBQVk7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQU16QixZQUFZLEdBQVcsRUFBRSxLQUFhLEVBQUMsSUFBYSxFQUFFLE1BQWU7UUFDakUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0lBQ25DLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQUlYO0FBSkQsV0FBWSxpQkFBaUI7SUFDekIseURBQVEsQ0FBQTtJQUNSLHVFQUFlLENBQUE7SUFDZix1RUFBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRvb2x0aXBNb2RlbCB7XHJcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICB2YWx1ZTogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKG9iajogc3RyaW5nLGlkOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLmxhYmVsID0gb2JqICE9IG51bGwgPyBvYmoudG9TdHJpbmcoKSA6IFwiLVwiO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBvYmo7XHJcbiAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgdG9vbHRpcE1vZGVsRm9yQ29sdW1uTGV2ZWxGaWx0ZXJpbmcge1xyXG4gICAgaXNIaWRkZW47XHJcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG4gICAgY29uc3RydWN0b3IoZGF0YTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuaXNIaWRkZW4gPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIHJhZGlvQnV0dG9uTW9kZWwge1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkOiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLHNvcnQ6IGJvb2xlYW4sIGZpbHRlcjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMua2V5ID0ga2V5O1xyXG4gICAgICAgIHRoaXMubGFiZWwgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmlzU29ydFJlcXVpcmVkID0gc29ydDtcclxuICAgICAgICB0aGlzLmlzRmlsdGVyUmVxdWlyZWQgPSBmaWx0ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEFsbFNlbGVjdGVkU3RhdHVzIHtcclxuICAgIG5vbmUgPSAwLFxyXG4gICAgYWxsU2VsZWN0ZWQgPSAxLFxyXG4gICAgZmV3U2VsZWN0ZWQgPSAyLFxyXG59XHJcbiJdfQ==
1
+ export class TooltipModel {
2
+ constructor(obj, id) {
3
+ this.label = obj != null ? obj.toString() : '-';
4
+ this.value = obj;
5
+ this.isSelected = false;
6
+ this.id = id;
7
+ }
8
+ }
9
+ export class tooltipModelForColumnLevelFiltering {
10
+ constructor(data) {
11
+ this.data = data;
12
+ this.isSelected = true;
13
+ this.isHidden = false;
14
+ }
15
+ }
16
+ export class radioButtonModel {
17
+ constructor(key, value, sort, filter) {
18
+ this.key = key;
19
+ this.label = value;
20
+ this.isSortRequired = sort;
21
+ this.isFilterRequired = filter;
22
+ }
23
+ }
24
+ export var AllSelectedStatus;
25
+ (function (AllSelectedStatus) {
26
+ AllSelectedStatus[AllSelectedStatus["none"] = 0] = "none";
27
+ AllSelectedStatus[AllSelectedStatus["allSelected"] = 1] = "allSelected";
28
+ AllSelectedStatus[AllSelectedStatus["fewSelected"] = 2] = "fewSelected";
29
+ })(AllSelectedStatus || (AllSelectedStatus = {}));
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS10b29sdGlwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtdG9vbHRpcC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQU1yQixZQUFZLEdBQVcsRUFBRSxFQUFVO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLG1DQUFtQztJQUk1QyxZQUFZLElBQVk7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQU16QixZQUFZLEdBQVcsRUFBRSxLQUFhLEVBQUUsSUFBYSxFQUFFLE1BQWU7UUFDbEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0lBQ25DLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQUlYO0FBSkQsV0FBWSxpQkFBaUI7SUFDekIseURBQVEsQ0FBQTtJQUNSLHVFQUFlLENBQUE7SUFDZix1RUFBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRvb2x0aXBNb2RlbCB7XHJcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICB2YWx1ZTogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKG9iajogc3RyaW5nLCBpZDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbCA9IG9iaiAhPSBudWxsID8gb2JqLnRvU3RyaW5nKCkgOiAnLSc7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IG9iajtcclxuICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlkID0gaWQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyB0b29sdGlwTW9kZWxGb3JDb2x1bW5MZXZlbEZpbHRlcmluZyB7XHJcbiAgICBpc0hpZGRlbjtcclxuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XHJcbiAgICBkYXRhOiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pc0hpZGRlbiA9IGZhbHNlO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgcmFkaW9CdXR0b25Nb2RlbCB7XHJcbiAgICBrZXk6IHN0cmluZztcclxuICAgIGxhYmVsOiBzdHJpbmc7XHJcbiAgICBpc1NvcnRSZXF1aXJlZDogYm9vbGVhbjtcclxuICAgIGlzRmlsdGVyUmVxdWlyZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3Ioa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIHNvcnQ6IGJvb2xlYW4sIGZpbHRlcjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMua2V5ID0ga2V5O1xyXG4gICAgICAgIHRoaXMubGFiZWwgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmlzU29ydFJlcXVpcmVkID0gc29ydDtcclxuICAgICAgICB0aGlzLmlzRmlsdGVyUmVxdWlyZWQgPSBmaWx0ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEFsbFNlbGVjdGVkU3RhdHVzIHtcclxuICAgIG5vbmUgPSAwLFxyXG4gICAgYWxsU2VsZWN0ZWQgPSAxLFxyXG4gICAgZmV3U2VsZWN0ZWQgPSAyLFxyXG59XHJcbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { memoize } from 'lodash-es';
3
+ import * as i0 from "@angular/core";
4
+ export class AnnaConvertArrayToCommaSeperatedValue {
5
+ constructor() {
6
+ this.converter = memoize(this.replace, (...args) => this.replace(args[0], args[1], args[2]));
7
+ }
8
+ transform(value, textKeyName, selectedKeyName) {
9
+ if (value == undefined || value == null) {
10
+ return '-';
11
+ }
12
+ return this.converter(value, textKeyName, selectedKeyName);
13
+ }
14
+ replace(value, textKeyName, selectedKeyName) {
15
+ let stringToDisplay = '';
16
+ let anyValueSelected = false;
17
+ value.forEach((val) => {
18
+ if (selectedKeyName && val[selectedKeyName]) {
19
+ stringToDisplay = stringToDisplay + val[textKeyName] + ', ';
20
+ anyValueSelected = true;
21
+ }
22
+ });
23
+ if (!anyValueSelected)
24
+ return '-';
25
+ // remove last 2 characters i.e. comma
26
+ stringToDisplay = stringToDisplay.slice(0, -2);
27
+ return stringToDisplay;
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaConvertArrayToCommaSeperatedValue, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
30
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AnnaConvertArrayToCommaSeperatedValue, isStandalone: true, name: "annaConvertArrayToCSV" }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AnnaConvertArrayToCommaSeperatedValue, decorators: [{
33
+ type: Pipe,
34
+ args: [{
35
+ name: 'annaConvertArrayToCSV',
36
+ standalone: true,
37
+ }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYUNvbnZlcnRBcnJheVRvQ29tbWFTZXBlcmF0ZWRWYWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUNvbnZlcnRBcnJheVRvQ29tbWFTZXBlcmF0ZWRWYWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBTXBDLE1BQU0sT0FBTyxxQ0FBcUM7SUFKbEQ7UUFLSSxjQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0F5QjNGO0lBdkJHLFNBQVMsQ0FBQyxLQUFZLEVBQUUsV0FBaUIsRUFBRSxlQUFxQjtRQUM1RCxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUNyQyxPQUFPLEdBQUcsQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZLEVBQUUsV0FBaUIsRUFBRSxlQUFxQjtRQUMxRCxJQUFJLGVBQWUsR0FBVyxFQUFFLENBQUM7UUFDakMsSUFBSSxnQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3ZCLElBQUksZUFBZSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRTtnQkFDekMsZUFBZSxHQUFHLGVBQWUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUM1RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUVsQyxzQ0FBc0M7UUFDdEMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQzsrR0F6QlEscUNBQXFDOzZHQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBSmpELElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBtZW1vaXplIH0gZnJvbSAnbG9kYXNoLWVzJztcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdhbm5hQ29udmVydEFycmF5VG9DU1YnLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFDb252ZXJ0QXJyYXlUb0NvbW1hU2VwZXJhdGVkVmFsdWUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIGNvbnZlcnRlciA9IG1lbW9pemUodGhpcy5yZXBsYWNlLCAoLi4uYXJncykgPT4gdGhpcy5yZXBsYWNlKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pKTtcclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueVtdLCB0ZXh0S2V5TmFtZT86IGFueSwgc2VsZWN0ZWRLZXlOYW1lPzogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodmFsdWUgPT0gdW5kZWZpbmVkIHx8IHZhbHVlID09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuICctJztcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udmVydGVyKHZhbHVlLCB0ZXh0S2V5TmFtZSwgc2VsZWN0ZWRLZXlOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICByZXBsYWNlKHZhbHVlOiBhbnlbXSwgdGV4dEtleU5hbWU/OiBhbnksIHNlbGVjdGVkS2V5TmFtZT86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHN0cmluZ1RvRGlzcGxheTogc3RyaW5nID0gJyc7XHJcbiAgICAgICAgbGV0IGFueVZhbHVlU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKCh2YWw6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRLZXlOYW1lICYmIHZhbFtzZWxlY3RlZEtleU5hbWVdKSB7XHJcbiAgICAgICAgICAgICAgICBzdHJpbmdUb0Rpc3BsYXkgPSBzdHJpbmdUb0Rpc3BsYXkgKyB2YWxbdGV4dEtleU5hbWVdICsgJywgJztcclxuICAgICAgICAgICAgICAgIGFueVZhbHVlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICghYW55VmFsdWVTZWxlY3RlZCkgcmV0dXJuICctJztcclxuXHJcbiAgICAgICAgLy8gcmVtb3ZlIGxhc3QgMiBjaGFyYWN0ZXJzIGkuZS4gY29tbWFcclxuICAgICAgICBzdHJpbmdUb0Rpc3BsYXkgPSBzdHJpbmdUb0Rpc3BsYXkuc2xpY2UoMCwgLTIpO1xyXG4gICAgICAgIHJldHVybiBzdHJpbmdUb0Rpc3BsYXk7XHJcbiAgICB9XHJcbn1cclxuIl19