@annalib/anna-core 20.3.0 → 20.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -24
- package/{esm2020 → esm2022}/annalib-anna-core.mjs +4 -4
- package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +12 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +11 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +11 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +46 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +12 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +11 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +20 -0
- package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +12 -0
- package/esm2022/lib/anna-core-shared-lib/constants/shared.constant.mjs +47 -0
- package/esm2022/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +266 -0
- package/esm2022/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +46 -0
- package/esm2022/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +41 -0
- package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
- package/esm2022/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
- package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +22 -0
- package/esm2022/lib/anna-core-shared-lib/models/anna-sort.model.mjs +7 -0
- package/{esm2020 → esm2022}/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +30 -30
- package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.mjs +39 -0
- package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +27 -0
- package/esm2022/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +21 -0
- package/esm2022/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +53 -0
- package/esm2022/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +27 -0
- package/esm2022/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +17 -0
- package/esm2022/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +229 -0
- package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +1265 -0
- package/esm2022/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +149 -0
- package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +135 -0
- package/esm2022/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +59 -0
- package/esm2022/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +64 -0
- package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +176 -0
- package/esm2022/lib/anna-core.module.mjs +222 -0
- package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +160 -0
- package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +359 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +256 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +186 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +316 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +295 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +870 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +68 -0
- package/esm2022/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +353 -0
- 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
- package/{esm2020 → esm2022}/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +1 -1
- package/esm2022/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +186 -0
- package/{esm2020 → esm2022}/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +1 -1
- package/esm2022/public-api.mjs +59 -0
- package/fesm2022/annalib-anna-core.mjs +6111 -0
- package/fesm2022/annalib-anna-core.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +5 -8
- package/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.d.ts +5 -8
- package/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.d.ts +5 -0
- package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +15 -17
- package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +5 -8
- package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -11
- package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +5 -8
- package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +9 -12
- package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +5 -8
- package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +45 -41
- package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +34 -34
- package/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.d.ts +16 -16
- package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +10 -10
- package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +16 -16
- package/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +97 -97
- package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +128 -118
- package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +11 -11
- package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +25 -25
- package/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.d.ts +9 -0
- package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -9
- package/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.d.ts +7 -8
- package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -9
- package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -9
- package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -7
- package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +30 -28
- package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +154 -154
- package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +27 -27
- package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -21
- package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +8 -8
- package/lib/anna-core-shared-lib/services/anna-persisting-filter.service.d.ts +8 -9
- package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +18 -18
- package/lib/anna-core.module.d.ts +45 -43
- package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +45 -45
- package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +70 -70
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.d.ts +60 -60
- 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
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.d.ts +65 -65
- package/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.d.ts +83 -83
- package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +175 -174
- package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +17 -17
- package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -141
- 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
- package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +1 -1
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -45
- package/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +1 -1
- package/package.json +13 -18
- package/public-api.d.ts +42 -41
- package/src/lib/anna-common-scss/_animate.scss +27 -27
- package/src/lib/anna-common-scss/_application-spacing.scss +7 -6
- package/src/lib/anna-common-scss/_bootstrap-tooltip.scss +27 -25
- package/src/lib/anna-common-scss/_button.scss +18 -18
- package/src/lib/anna-common-scss/_colors.scss +107 -107
- package/src/lib/anna-common-scss/_common-order-listing-table.scss +176 -165
- package/src/lib/anna-common-scss/_custom-anna-datepicker.scss +14 -14
- package/src/lib/anna-common-scss/_customDropdown.scss +123 -122
- package/src/lib/anna-common-scss/_dashboard-partials.scss +106 -104
- package/src/lib/anna-common-scss/_date-picker-form.scss +87 -87
- package/src/lib/anna-common-scss/_easy-filter.scss +138 -158
- package/src/lib/anna-common-scss/_edit-filter-popup.scss +70 -71
- package/src/lib/anna-common-scss/_filters.scss +724 -713
- package/src/lib/anna-common-scss/_font.scss +9 -10
- package/src/lib/anna-common-scss/_fonts.scss +86 -86
- package/src/lib/anna-common-scss/_generic-modal.scss +63 -59
- package/src/lib/anna-common-scss/_generic-table-common.scss +198 -203
- package/src/lib/anna-common-scss/_gt-table.scss +425 -434
- package/src/lib/anna-common-scss/_icons.scss +3 -0
- package/src/lib/anna-common-scss/_legend.scss +11 -11
- package/src/lib/anna-common-scss/_mat-button-toggle.scss +38 -38
- package/src/lib/anna-common-scss/_mat-menu.scss +17 -17
- package/src/lib/anna-common-scss/_mixins.scss +187 -188
- package/src/lib/anna-common-scss/_modal.scss +37 -37
- package/src/lib/anna-common-scss/_popup-filter-toggle-button.scss +36 -0
- package/src/lib/anna-common-scss/_scrollbar.scss +14 -14
- package/src/lib/anna-common-scss/_sort.scss +30 -30
- package/src/lib/anna-common-scss/_toggle.scss +86 -84
- package/src/lib/anna-common-scss/style.scss +1 -1
- package/src/lib/anna-common-scss/third-party-lib/_angular-material-mat-radio.scss +25 -21
- package/src/lib/anna-common-scss/third-party-lib/_anna-mat-button-toggle-group-size-lg.scss +34 -0
- package/src/lib/anna-common-scss/third-party-lib/_mat-autocomplete.scss +31 -28
- package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +0 -15
- package/esm2020/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +0 -14
- package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +0 -36
- package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +0 -15
- package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +0 -22
- package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +0 -14
- package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +0 -23
- package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +0 -15
- package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +0 -43
- package/esm2020/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +0 -284
- package/esm2020/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +0 -43
- package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +0 -36
- package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +0 -2
- package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +0 -2
- package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +0 -11
- package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +0 -7
- package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +0 -26
- package/esm2020/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +0 -22
- package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +0 -53
- package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +0 -25
- package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +0 -16
- package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +0 -208
- package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +0 -1145
- package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +0 -151
- package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +0 -132
- package/esm2020/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +0 -53
- package/esm2020/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +0 -66
- package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +0 -175
- package/esm2020/lib/anna-core.module.mjs +0 -213
- package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +0 -151
- package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +0 -364
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +0 -237
- 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
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +0 -306
- package/esm2020/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +0 -291
- package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +0 -781
- package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +0 -64
- package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +0 -357
- 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
- package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +0 -178
- package/esm2020/public-api.mjs +0 -57
- package/fesm2015/annalib-anna-core.mjs +0 -5782
- package/fesm2015/annalib-anna-core.mjs.map +0 -1
- package/fesm2020/annalib-anna-core.mjs +0 -5774
- package/fesm2020/annalib-anna-core.mjs.map +0 -1
|
@@ -0,0 +1,266 @@
|
|
|
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 = Number.isNaN(maybeMin) ? -Infinity : maybeMin;
|
|
39
|
+
}
|
|
40
|
+
if (changes.max) {
|
|
41
|
+
const maybeMax = Number(this.max);
|
|
42
|
+
this.max = Number.isNaN(maybeMax) ? Infinity : maybeMax;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
onBeforeInput(e) {
|
|
46
|
+
if (Number.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
|
+
this.hasDecimalPoint = newValue.indexOf(this.decimalSeparator) > -1;
|
|
77
|
+
return; // Allow: only one decimal point
|
|
78
|
+
}
|
|
79
|
+
if (e.key === this.negativeSign && this.allowNegatives) {
|
|
80
|
+
newValue = this.forecastValue(e.key);
|
|
81
|
+
if (newValue.charAt(0) !== this.negativeSign || newValue.split(this.negativeSign).length > 2) {
|
|
82
|
+
e.preventDefault();
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
this.hasNegativeSign = newValue.split(this.negativeSign).length > -1;
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// Ensure that it is a number and stop the keypress
|
|
89
|
+
if (e.key === " " || Number.isNaN(Number(e.key))) {
|
|
90
|
+
e.preventDefault();
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
newValue = newValue || this.forecastValue(e.key);
|
|
94
|
+
// check the input pattern RegExp
|
|
95
|
+
if (this.regex) {
|
|
96
|
+
if (!this.regex.test(newValue)) {
|
|
97
|
+
e.preventDefault();
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
const newNumber = Number(newValue);
|
|
102
|
+
if (newNumber > this.max || newNumber < this.min) {
|
|
103
|
+
e.preventDefault();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
onPaste(event) {
|
|
107
|
+
if (this.allowPaste === true) {
|
|
108
|
+
let pastedInput = "";
|
|
109
|
+
if (window.clipboardData) {
|
|
110
|
+
// Browser is IE
|
|
111
|
+
pastedInput = window.clipboardData.getData("text");
|
|
112
|
+
}
|
|
113
|
+
else if (event.clipboardData && event.clipboardData.getData) {
|
|
114
|
+
// Other browsers
|
|
115
|
+
pastedInput = event.clipboardData.getData("text/plain");
|
|
116
|
+
}
|
|
117
|
+
this.pasteData(pastedInput);
|
|
118
|
+
event.preventDefault();
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// this prevents the paste
|
|
122
|
+
event.preventDefault();
|
|
123
|
+
event.stopPropagation();
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
onDrop(event) {
|
|
127
|
+
const textData = event.dataTransfer?.getData("text") ?? "";
|
|
128
|
+
this.inputElement.focus();
|
|
129
|
+
this.pasteData(textData);
|
|
130
|
+
event.preventDefault();
|
|
131
|
+
}
|
|
132
|
+
pasteData(pastedContent) {
|
|
133
|
+
const sanitizedContent = this.sanitizeInput(pastedContent);
|
|
134
|
+
if (sanitizedContent.includes(this.negativeSign) &&
|
|
135
|
+
this.hasNegativeSign &&
|
|
136
|
+
!this.getSelection().includes(this.negativeSign)) {
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
const pasted = document.execCommand("insertText", false, sanitizedContent);
|
|
140
|
+
if (!pasted) {
|
|
141
|
+
if (this.inputElement.setRangeText) {
|
|
142
|
+
const { selectionStart: start, selectionEnd: end } = this.inputElement;
|
|
143
|
+
this.inputElement.setRangeText(sanitizedContent, start ?? 0, end ?? 0, "end");
|
|
144
|
+
// Angular's Reactive Form relies on "input" event, but on Firefox,
|
|
145
|
+
// the setRangeText method doesn't trigger it
|
|
146
|
+
// so we have to trigger it ourself.
|
|
147
|
+
if (typeof window.InstallTrigger !== "undefined") {
|
|
148
|
+
this.inputElement.dispatchEvent(new Event("input", { cancelable: true }));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
// Browser does not support setRangeText, e.g. IE
|
|
153
|
+
this.insertAtCursor(this.inputElement, sanitizedContent);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (this.decimal) {
|
|
157
|
+
this.hasDecimalPoint = this.inputElement.value.indexOf(this.decimalSeparator) > -1;
|
|
158
|
+
}
|
|
159
|
+
this.hasNegativeSign = this.inputElement.value.indexOf(this.negativeSign) > -1;
|
|
160
|
+
}
|
|
161
|
+
// The following 2 methods were added from the below article for browsers that do not support setRangeText
|
|
162
|
+
// https://stackoverflow.com/questions/11076975/how-to-insert-text-into-the-textarea-at-the-current-cursor-position
|
|
163
|
+
insertAtCursor(myField, myValue) {
|
|
164
|
+
const startPos = myField.selectionStart ?? 0;
|
|
165
|
+
const endPos = myField.selectionEnd ?? 0;
|
|
166
|
+
myField.value =
|
|
167
|
+
myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length);
|
|
168
|
+
const pos = startPos + myValue.length;
|
|
169
|
+
myField.focus();
|
|
170
|
+
myField.setSelectionRange(pos, pos);
|
|
171
|
+
this.triggerEvent(myField, "input");
|
|
172
|
+
}
|
|
173
|
+
triggerEvent(el, type) {
|
|
174
|
+
if ("createEvent" in document) {
|
|
175
|
+
// modern browsers, IE9+
|
|
176
|
+
const e = document.createEvent("HTMLEvents");
|
|
177
|
+
e.initEvent(type, false, true);
|
|
178
|
+
el.dispatchEvent(e);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// end stack overflow code
|
|
182
|
+
sanitizeInput(input) {
|
|
183
|
+
let result = "";
|
|
184
|
+
let regex;
|
|
185
|
+
if (this.decimal && this.isValidDecimal(input)) {
|
|
186
|
+
regex = new RegExp(`${this.getNegativeSignRegExp()}[^0-9${this.decimalSeparator}]`, "g");
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
regex = new RegExp(`${this.getNegativeSignRegExp()}[^0-9]`, "g");
|
|
190
|
+
}
|
|
191
|
+
result = input.replace(regex, "");
|
|
192
|
+
const { maxLength } = this.inputElement;
|
|
193
|
+
if (maxLength > 0) {
|
|
194
|
+
// the input element has maxLength limit
|
|
195
|
+
const allowedLength = maxLength - this.inputElement.value.length + (result.includes(`${this.negativeSign}`) ? 1 : 0);
|
|
196
|
+
result = allowedLength > 0 ? result.substring(0, allowedLength) : "";
|
|
197
|
+
}
|
|
198
|
+
return result;
|
|
199
|
+
}
|
|
200
|
+
getNegativeSignRegExp() {
|
|
201
|
+
return this.allowNegatives && (!this.hasNegativeSign || this.getSelection().includes(this.negativeSign))
|
|
202
|
+
? `(?!^${this.negativeSign})`
|
|
203
|
+
: "";
|
|
204
|
+
}
|
|
205
|
+
isValidDecimal(string) {
|
|
206
|
+
if (!this.hasDecimalPoint) {
|
|
207
|
+
return string.split(this.decimalSeparator).length <= 2;
|
|
208
|
+
}
|
|
209
|
+
// the input element already has a decimal separator
|
|
210
|
+
const selectedText = this.getSelection();
|
|
211
|
+
if (selectedText && selectedText.indexOf(this.decimalSeparator) > -1) {
|
|
212
|
+
return string.split(this.decimalSeparator).length <= 2;
|
|
213
|
+
}
|
|
214
|
+
return string.indexOf(this.decimalSeparator) < 0;
|
|
215
|
+
}
|
|
216
|
+
getSelection() {
|
|
217
|
+
return this.inputElement.value.substring(this.inputElement.selectionStart ?? 0, this.inputElement.selectionEnd ?? 0);
|
|
218
|
+
}
|
|
219
|
+
forecastValue(key) {
|
|
220
|
+
const { selectionStart } = this.inputElement;
|
|
221
|
+
const { selectionEnd } = this.inputElement;
|
|
222
|
+
const oldValue = this.inputElement.value;
|
|
223
|
+
if (selectionStart == null && selectionEnd == null) {
|
|
224
|
+
return oldValue + key;
|
|
225
|
+
}
|
|
226
|
+
return oldValue.substring(0, selectionStart) + key + oldValue.substring(selectionEnd);
|
|
227
|
+
}
|
|
228
|
+
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 }); }
|
|
229
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DigitOnlyDirective, isStandalone: true, selector: "[annaCoreDigitOnly]", 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 }); }
|
|
230
|
+
}
|
|
231
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DigitOnlyDirective, decorators: [{
|
|
232
|
+
type: Directive,
|
|
233
|
+
args: [{
|
|
234
|
+
selector: "[annaCoreDigitOnly]",
|
|
235
|
+
standalone: true,
|
|
236
|
+
}]
|
|
237
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { decimal: [{
|
|
238
|
+
type: Input
|
|
239
|
+
}], decimalSeparator: [{
|
|
240
|
+
type: Input
|
|
241
|
+
}], allowNegatives: [{
|
|
242
|
+
type: Input
|
|
243
|
+
}], allowPaste: [{
|
|
244
|
+
type: Input
|
|
245
|
+
}], negativeSign: [{
|
|
246
|
+
type: Input
|
|
247
|
+
}], min: [{
|
|
248
|
+
type: Input
|
|
249
|
+
}], max: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], pattern: [{
|
|
252
|
+
type: Input
|
|
253
|
+
}], onBeforeInput: [{
|
|
254
|
+
type: HostListener,
|
|
255
|
+
args: ["beforeinput", ["$event"]]
|
|
256
|
+
}], onKeyDown: [{
|
|
257
|
+
type: HostListener,
|
|
258
|
+
args: ["keydown", ["$event"]]
|
|
259
|
+
}], onPaste: [{
|
|
260
|
+
type: HostListener,
|
|
261
|
+
args: ["paste", ["$event"]]
|
|
262
|
+
}], onDrop: [{
|
|
263
|
+
type: HostListener,
|
|
264
|
+
args: ["drop", ["$event"]]
|
|
265
|
+
}] } });
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLW9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9kaWdpdHMtb25seS9kaWdpdHMtb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7O0FBTXJHLE1BQU0sT0FBTyxrQkFBa0I7SUE2QjNCLFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBNUJ6QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixtQkFBYyxHQUFHO1lBQ3JCLFdBQVc7WUFDWCxRQUFRO1lBQ1IsS0FBSztZQUNMLFFBQVE7WUFDUixPQUFPO1lBQ1AsTUFBTTtZQUNOLEtBQUs7WUFDTCxXQUFXO1lBQ1gsWUFBWTtZQUNaLE9BQU87WUFDUCxNQUFNO1lBQ04sT0FBTztTQUNWLENBQUM7UUFFTyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLHFCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsR0FBRyxDQUFDO1FBQ25CLFFBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUNoQixRQUFHLEdBQUcsUUFBUSxDQUFDO1FBRWhCLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBSWhDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUMzRDtRQUVELElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNiLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQzVEO1FBRUQsSUFBSSxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ2IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQzNEO0lBQ0wsQ0FBQztJQUdELGFBQWEsQ0FBQyxDQUFhO1FBQ3ZCLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUU7Z0JBQzNGLE9BQU8sQ0FBQyxRQUFRO2FBQ25CO1lBQ0QsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN2QjtJQUNMLENBQUM7SUFHRCxTQUFTLENBQUMsQ0FBZ0I7UUFDdEIsSUFDSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUkseURBQXlEO1lBQ3BHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksZ0JBQWdCO1lBQ2hGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksZ0JBQWdCO1lBQ2hGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksZ0JBQWdCO1lBQ2hGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksZ0JBQWdCO1lBQ2hGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUkscUJBQXFCO1lBQ3JGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUkscUJBQXFCO1lBQ3JGLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLElBQUkscUJBQXFCO1lBQ3JGLENBQUMs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O2lCQUNuQjtpR0FtQlksT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkF5Qk4sYUFBYTtzQkFEWixZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFZdkMsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkE4RG5DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBc0JqQyxNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbYW5uYUNvcmVEaWdpdE9ubHldXCIsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlnaXRPbmx5RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICAgIHByaXZhdGUgaGFzRGVjaW1hbFBvaW50ID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIGhhc05lZ2F0aXZlU2lnbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBuYXZpZ2F0aW9uS2V5cyA9IFtcclxuICAgICAgICBcIkJhY2tzcGFjZVwiLFxyXG4gICAgICAgIFwiRGVsZXRlXCIsXHJcbiAgICAgICAgXCJUYWJcIixcclxuICAgICAgICBcIkVzY2FwZVwiLFxyXG4gICAgICAgIFwiRW50ZXJcIixcclxuICAgICAgICBcIkhvbWVcIixcclxuICAgICAgICBcIkVuZFwiLFxyXG4gICAgICAgIFwiQXJyb3dMZWZ0XCIsXHJcbiAgICAgICAgXCJBcnJvd1JpZ2h0XCIsXHJcbiAgICAgICAgXCJDbGVhclwiLFxyXG4gICAgICAgIFwiQ29weVwiLFxyXG4gICAgICAgIFwiUGFzdGVcIixcclxuICAgIF07XHJcblxyXG4gICAgQElucHV0KCkgZGVjaW1hbCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZGVjaW1hbFNlcGFyYXRvciA9IFwiLlwiO1xyXG4gICAgQElucHV0KCkgYWxsb3dOZWdhdGl2ZXMgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGFsbG93UGFzdGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgbmVnYXRpdmVTaWduID0gXCItXCI7XHJcbiAgICBASW5wdXQoKSBtaW4gPSAtSW5maW5pdHk7XHJcbiAgICBASW5wdXQoKSBtYXggPSBJbmZpbml0eTtcclxuICAgIEBJbnB1dCgpIHBhdHRlcm4/OiBzdHJpbmcgfCBSZWdFeHA7XHJcbiAgICBwcml2YXRlIHJlZ2V4OiBSZWdFeHAgfCBudWxsID0gbnVsbDtcclxuICAgIGlucHV0RWxlbWVudDogSFRNTElucHV0RWxlbWVudDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWw6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudCA9IGVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmIChjaGFuZ2VzLnBhdHRlcm4pIHtcclxuICAgICAgICAgICAgdGhpcy5yZWdleCA9IHRoaXMucGF0dGVybiA/IFJlZ0V4cCh0aGlzLnBhdHRlcm4pIDogbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChjaGFuZ2VzLm1pbikge1xyXG4gICAgICAgICAgICBjb25zdCBtYXliZU1pbiA9IE51bWJlcih0aGlzLm1pbik7XHJcbiAgICAgICAgICAgIHRoaXMubWluID0gTnVtYmVyLmlzTmFOKG1heWJlTWluKSA/IC1JbmZpbml0eSA6IG1heWJlTWluO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMubWF4KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1heWJlTWF4ID0gTnVtYmVyKHRoaXMubWF4KTtcclxuICAgICAgICAgICAgdGhpcy5tYXggPSBOdW1iZXIuaXNOYU4obWF5YmVNYXgpID8gSW5maW5pdHkgOiBtYXliZU1heDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImJlZm9yZWlucHV0XCIsIFtcIiRldmVudFwiXSlcclxuICAgIG9uQmVmb3JlSW5wdXQoZTogSW5wdXRFdmVudCk6IGFueSB7XHJcbiAgICAgICAgaWYgKE51bWJlci5pc05hTihOdW1iZXIoZS5kYXRhKSkpIHtcclxuICAgICAgICAgICAgaWYgKGUuZGF0YSA9PT0gdGhpcy5kZWNpbWFsU2VwYXJhdG9yIHx8IChlLmRhdGEgPT09IHRoaXMubmVnYXRpdmVTaWduICYmIHRoaXMuYWxsb3dOZWdhdGl2ZXMpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47IC8vIGdvIG9uXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwia2V5ZG93blwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgICBvbktleURvd24oZTogS2V5Ym9hcmRFdmVudCk6IGFueSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25LZXlzLmluZGV4T2YoZS5rZXkpID4gLTEgfHwgLy8gQWxsb3c6IG5hdmlnYXRpb24ga2V5czogYmFja3NwYWNlLCBkZWxldGUsIGFycm93cyBldGMuXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09IFwiYVwiIHx8IGUuY29kZSA9PT0gXCJLZXlBXCIpICYmIGUuY3RybEtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IEN0cmwrQVxyXG4gICAgICAgICAgICAoKGUua2V5ID09PSBcImNcIiB8fCBlLmNvZGUgPT09IFwiS2V5Q1wiKSAmJiBlLmN0cmxLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDdHJsK0NcclxuICAgICAgICAgICAgKChlLmtleSA9PT0gXCJ2XCIgfHwgZS5jb2RlID09PSBcIktleVZcIikgJiYgZS5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtWXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09IFwieFwiIHx8IGUuY29kZSA9PT0gXCJLZXlYXCIpICYmIGUuY3RybEtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IEN0cmwrWFxyXG4gICAgICAgICAgICAoKGUua2V5ID09PSBcImFcIiB8fCBlLmNvZGUgPT09IFwiS2V5QVwiKSAmJiBlLm1ldGFLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDbWQrQSAoTWFjKVxyXG4gICAgICAgICAgICAoKGUua2V5ID09PSBcImNcIiB8fCBlLmNvZGUgPT09IFwiS2V5Q1wiKSAmJiBlLm1ldGFLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDbWQrQyAoTWFjKVxyXG4gICAgICAgICAgICAoKGUua2V5ID09PSBcInZcIiB8fCBlLmNvZGUgPT09IFwiS2V5VlwiKSAmJiBlLm1ldGFLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDbWQrViAoTWFjKVxyXG4gICAgICAgICAgICAoKGUua2V5ID09PSBcInhcIiB8fCBlLmNvZGUgPT09IFwiS2V5WFwiKSAmJiBlLm1ldGFLZXkgPT09IHRydWUpIC8vIEFsbG93OiBDbWQrWCAoTWFjKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICAvLyBsZXQgaXQgaGFwcGVuLCBkb24ndCBkbyBhbnl0aGluZ1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgbmV3VmFsdWUgPSBcIlwiO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5kZWNpbWFsICYmIGUua2V5ID09PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIHtcclxuICAgICAgICAgICAgbmV3VmFsdWUgPSB0aGlzLmZvcmVjYXN0VmFsdWUoZS5rZXkpO1xyXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUuc3BsaXQodGhpcy5kZWNpbWFsU2VwYXJhdG9yKS5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBoYXMgdHdvIG9yIG1vcmUgZGVjaW1hbCBwb2ludHNcclxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmhhc0RlY2ltYWxQb2ludCA9IG5ld1ZhbHVlLmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKSA+IC0xO1xyXG4gICAgICAgICAgICByZXR1cm47IC8vIEFsbG93OiBvbmx5IG9uZSBkZWNpbWFsIHBvaW50XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoZS5rZXkgPT09IHRoaXMubmVnYXRpdmVTaWduICYmIHRoaXMuYWxsb3dOZWdhdGl2ZXMpIHtcclxuICAgICAgICAgICAgbmV3VmFsdWUgPSB0aGlzLmZvcmVjYXN0VmFsdWUoZS5rZXkpO1xyXG4gICAgICAgICAgICBpZiAobmV3VmFsdWUuY2hhckF0KDApICE9PSB0aGlzLm5lZ2F0aXZlU2lnbiB8fCBuZXdWYWx1ZS5zcGxpdCh0aGlzLm5lZ2F0aXZlU2lnbikubGVuZ3RoID4gMikge1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaGFzTmVnYXRpdmVTaWduID0gbmV3VmFsdWUuc3BsaXQodGhpcy5uZWdhdGl2ZVNpZ24pLmxlbmd0aCA+IC0xO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBhIG51bWJlciBhbmQgc3RvcCB0aGUga2V5cHJlc3NcclxuICAgICAgICBpZiAoZS5rZXkgPT09IFwiIFwiIHx8IE51bWJlci5pc05hTihOdW1iZXIoZS5rZXkpKSkge1xyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG5ld1ZhbHVlID0gbmV3VmFsdWUgfHwgdGhpcy5mb3JlY2FzdFZhbHVlKGUua2V5KTtcclxuICAgICAgICAvLyBjaGVjayB0aGUgaW5wdXQgcGF0dGVybiBSZWdFeHBcclxuICAgICAgICBpZiAodGhpcy5yZWdleCkge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMucmVnZXgudGVzdChuZXdWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgbmV3TnVtYmVyID0gTnVtYmVyKG5ld1ZhbHVlKTtcclxuICAgICAgICBpZiAobmV3TnVtYmVyID4gdGhpcy5tYXggfHwgbmV3TnVtYmVyIDwgdGhpcy5taW4pIHtcclxuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwicGFzdGVcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgb25QYXN0ZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuYWxsb3dQYXN0ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBsZXQgcGFzdGVkSW5wdXQ6IHN0cmluZyA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmICgod2luZG93IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pLmNsaXBib2FyZERhdGEpIHtcclxuICAgICAgICAgICAgICAgIC8vIEJyb3dzZXIgaXMgSUVcclxuICAgICAgICAgICAgICAgIHBhc3RlZElucHV0ID0gKHdpbmRvdyBhcyB7IFtrZXk6IHN0cmluZ106IGFueSB9KS5jbGlwYm9hcmREYXRhLmdldERhdGEoXCJ0ZXh0XCIpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmNsaXBib2FyZERhdGEgJiYgZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdGhlciBicm93c2Vyc1xyXG4gICAgICAgICAgICAgICAgcGFzdGVkSW5wdXQgPSBldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEoXCJ0ZXh0L3BsYWluXCIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLnBhc3RlRGF0YShwYXN0ZWRJbnB1dCk7XHJcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gdGhpcyBwcmV2ZW50cyB0aGUgcGFzdGVcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJkcm9wXCIsIFtcIiRldmVudFwiXSlcclxuICAgIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgdGV4dERhdGEgPSBldmVudC5kYXRhVHJhbnNmZXI/LmdldERhdGEoXCJ0ZXh0XCIpID8/IFwiXCI7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB0aGlzLnBhc3RlRGF0YSh0ZXh0RGF0YSk7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHBhc3RlRGF0YShwYXN0ZWRDb250ZW50OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzYW5pdGl6ZWRDb250ZW50ID0gdGhpcy5zYW5pdGl6ZUlucHV0KHBhc3RlZENvbnRlbnQpO1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgICAgc2FuaXRpemVkQ29udGVudC5pbmNsdWRlcyh0aGlzLm5lZ2F0aXZlU2lnbikgJiZcclxuICAgICAgICAgICAgdGhpcy5oYXNOZWdhdGl2ZVNpZ24gJiZcclxuICAgICAgICAgICAgIXRoaXMuZ2V0U2VsZWN0aW9uKCkuaW5jbHVkZXModGhpcy5uZWdhdGl2ZVNpZ24pXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgcGFzdGVkID0gZG9jdW1lbnQuZXhlY0NvbW1hbmQoXCJpbnNlcnRUZXh0XCIsIGZhbHNlLCBzYW5pdGl6ZWRDb250ZW50KTtcclxuICAgICAgICBpZiAoIXBhc3RlZCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQuc2V0UmFuZ2VUZXh0KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IHNlbGVjdGlvblN0YXJ0OiBzdGFydCwgc2VsZWN0aW9uRW5kOiBlbmQgfSA9IHRoaXMuaW5wdXRFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuc2V0UmFuZ2VUZXh0KHNhbml0aXplZENvbnRlbnQsIHN0YXJ0ID8/IDAsIGVuZCA/PyAwLCBcImVuZFwiKTtcclxuICAgICAgICAgICAgICAgIC8vIEFuZ3VsYXIncyBSZWFjdGl2ZSBGb3JtIHJlbGllcyBvbiBcImlucHV0XCIgZXZlbnQsIGJ1dCBvbiBGaXJlZm94LFxyXG4gICAgICAgICAgICAgICAgLy8gdGhlIHNldFJhbmdlVGV4dCBtZXRob2QgZG9lc24ndCB0cmlnZ2VyIGl0XHJcbiAgICAgICAgICAgICAgICAvLyBzbyB3ZSBoYXZlIHRvIHRyaWdnZXIgaXQgb3Vyc2VsZi5cclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgKHdpbmRvdyBhcyB7IFtrZXk6IHN0cmluZ106IGFueSB9KS5JbnN0YWxsVHJpZ2dlciAhPT0gXCJ1bmRlZmluZWRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KFwiaW5wdXRcIiwgeyBjYW5jZWxhYmxlOiB0cnVlIH0pKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIC8vIEJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBzZXRSYW5nZVRleHQsIGUuZy4gSUVcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5zZXJ0QXRDdXJzb3IodGhpcy5pbnB1dEVsZW1lbnQsIHNhbml0aXplZENvbnRlbnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwpIHtcclxuICAgICAgICAgICAgdGhpcy5oYXNEZWNpbWFsUG9pbnQgPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5pbmRleE9mKHRoaXMuZGVjaW1hbFNlcGFyYXRvcikgPiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5oYXNOZWdhdGl2ZVNpZ24gPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5pbmRleE9mKHRoaXMubmVnYXRpdmVTaWduKSA+IC0xO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFRoZSBmb2xsb3dpbmcgMiBtZXRob2RzIHdlcmUgYWRkZWQgZnJvbSB0aGUgYmVsb3cgYXJ0aWNsZSBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBzZXRSYW5nZVRleHRcclxuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzExMDc2OTc1L2hvdy10by1pbnNlcnQtdGV4dC1pbnRvLXRoZS10ZXh0YXJlYS1hdC10aGUtY3VycmVudC1jdXJzb3ItcG9zaXRpb25cclxuICAgIHByaXZhdGUgaW5zZXJ0QXRDdXJzb3IobXlGaWVsZDogSFRNTElucHV0RWxlbWVudCwgbXlWYWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgc3RhcnRQb3MgPSBteUZpZWxkLnNlbGVjdGlvblN0YXJ0ID8/IDA7XHJcbiAgICAgICAgY29uc3QgZW5kUG9zID0gbXlGaWVsZC5zZWxlY3Rpb25FbmQgPz8gMDtcclxuXHJcbiAgICAgICAgbXlGaWVsZC52YWx1ZSA9XHJcbiAgICAgICAgICAgIG15RmllbGQudmFsdWUuc3Vic3RyaW5nKDAsIHN0YXJ0UG9zKSArIG15VmFsdWUgKyBteUZpZWxkLnZhbHVlLnN1YnN0cmluZyhlbmRQb3MsIG15RmllbGQudmFsdWUubGVuZ3RoKTtcclxuXHJcbiAgICAgICAgY29uc3QgcG9zID0gc3RhcnRQb3MgKyBteVZhbHVlLmxlbmd0aDtcclxuICAgICAgICBteUZpZWxkLmZvY3VzKCk7XHJcbiAgICAgICAgbXlGaWVsZC5zZXRTZWxlY3Rpb25SYW5nZShwb3MsIHBvcyk7XHJcblxyXG4gICAgICAgIHRoaXMudHJpZ2dlckV2ZW50KG15RmllbGQsIFwiaW5wdXRcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0cmlnZ2VyRXZlbnQoZWw6IEhUTUxJbnB1dEVsZW1lbnQsIHR5cGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmIChcImNyZWF0ZUV2ZW50XCIgaW4gZG9jdW1lbnQpIHtcclxuICAgICAgICAgICAgLy8gbW9kZXJuIGJyb3dzZXJzLCBJRTkrXHJcbiAgICAgICAgICAgIGNvbnN0IGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudChcIkhUTUxFdmVudHNcIik7XHJcbiAgICAgICAgICAgIGUuaW5pdEV2ZW50KHR5cGUsIGZhbHNlLCB0cnVlKTtcclxuICAgICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBlbmQgc3RhY2sgb3ZlcmZsb3cgY29kZVxyXG5cclxuICAgIHByaXZhdGUgc2FuaXRpemVJbnB1dChpbnB1dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBsZXQgcmVzdWx0ID0gXCJcIjtcclxuICAgICAgICBsZXQgcmVnZXg7XHJcbiAgICAgICAgaWYgKHRoaXMuZGVjaW1hbCAmJiB0aGlzLmlzVmFsaWREZWNpbWFsKGlucHV0KSkge1xyXG4gICAgICAgICAgICByZWdleCA9IG5ldyBSZWdFeHAoYCR7dGhpcy5nZXROZWdhdGl2ZVNpZ25SZWdFeHAoKX1bXjAtOSR7dGhpcy5kZWNpbWFsU2VwYXJhdG9yfV1gLCBcImdcIik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmVnZXggPSBuZXcgUmVnRXhwKGAke3RoaXMuZ2V0TmVnYXRpdmVTaWduUmVnRXhwKCl9W14wLTldYCwgXCJnXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXN1bHQgPSBpbnB1dC5yZXBsYWNlKHJlZ2V4LCBcIlwiKTtcclxuXHJcbiAgICAgICAgY29uc3QgeyBtYXhMZW5ndGggfSA9IHRoaXMuaW5wdXRFbGVtZW50O1xyXG4gICAgICAgIGlmIChtYXhMZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIC8vIHRoZSBpbnB1dCBlbGVtZW50IGhhcyBtYXhMZW5ndGggbGltaXRcclxuICAgICAgICAgICAgY29uc3QgYWxsb3dlZExlbmd0aCA9XHJcbiAgICAgICAgICAgICAgICBtYXhMZW5ndGggLSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5sZW5ndGggKyAocmVzdWx0LmluY2x1ZGVzKGAke3RoaXMubmVnYXRpdmVTaWdufWApID8gMSA6IDApO1xyXG4gICAgICAgICAgICByZXN1bHQgPSBhbGxvd2VkTGVuZ3RoID4gMCA/IHJlc3VsdC5zdWJzdHJpbmcoMCwgYWxsb3dlZExlbmd0aCkgOiBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0TmVnYXRpdmVTaWduUmVnRXhwKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxsb3dOZWdhdGl2ZXMgJiYgKCF0aGlzLmhhc05lZ2F0aXZlU2lnbiB8fCB0aGlzLmdldFNlbGVjdGlvbigpLmluY2x1ZGVzKHRoaXMubmVnYXRpdmVTaWduKSlcclxuICAgICAgICAgICAgPyBgKD8hXiR7dGhpcy5uZWdhdGl2ZVNpZ259KWBcclxuICAgICAgICAgICAgOiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNWYWxpZERlY2ltYWwoc3RyaW5nOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXRoaXMuaGFzRGVjaW1hbFBvaW50KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBzdHJpbmcuc3BsaXQodGhpcy5kZWNpbWFsU2VwYXJhdG9yKS5sZW5ndGggPD0gMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdGhlIGlucHV0IGVsZW1lbnQgYWxyZWFkeSBoYXMgYSBkZWNpbWFsIHNlcGFyYXRvclxyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkVGV4dCA9IHRoaXMuZ2V0U2VsZWN0aW9uKCk7XHJcbiAgICAgICAgaWYgKHNlbGVjdGVkVGV4dCAmJiBzZWxlY3RlZFRleHQuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpID4gLTEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHN0cmluZy5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCA8PSAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gc3RyaW5nLmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKSA8IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3Rpb24oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWUuc3Vic3RyaW5nKFxyXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5zZWxlY3Rpb25TdGFydCA/PyAwLFxyXG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5zZWxlY3Rpb25FbmQgPz8gMCxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9yZWNhc3RWYWx1ZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb25TdGFydCB9ID0gdGhpcy5pbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb25FbmQgfSA9IHRoaXMuaW5wdXRFbGVtZW50O1xyXG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5pbnB1dEVsZW1lbnQudmFsdWU7XHJcblxyXG4gICAgICAgIGlmIChzZWxlY3Rpb25TdGFydCA9PSBudWxsICYmIHNlbGVjdGlvbkVuZCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvbGRWYWx1ZSArIGtleTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBvbGRWYWx1ZS5zdWJzdHJpbmcoMCwgc2VsZWN0aW9uU3RhcnQpICsga2V5ICsgb2xkVmFsdWUuc3Vic3RyaW5nKHNlbGVjdGlvbkVuZCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -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
|
+
const totalPopupTableHeight = this.maxRowsRenderedWithoutScrollForPopup * this.popupRowHeight + this.popupHeaderHeight;
|
|
22
|
+
const 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: "[annaCoreFixedRowsInPopupTable]", 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: "[annaCoreFixedRowsInPopupTable]",
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9kaXJlY3RpdmVzL2ZpeGVkLXJvd3MtcG9wdXAtdGFibGUvZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTlGLE1BQU0sT0FBTyw0QkFBNEI7SUFNckMsWUFDWSxFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFQdEIsbUJBQWMsR0FBVyxJQUFJLENBQUM7UUFDOUIsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBRXhDLHlDQUFvQyxHQUFXLEVBQUUsQ0FBQztJQUsvQyxDQUFDO0lBR0osY0FBYztRQUNWLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDMUMsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsb0JBQW9CLENBQUM7UUFDakUsTUFBTSxxQkFBcUIsR0FDdkIsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRTdGLE1BQU0sbUJBQW1CLEdBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9DQUFvQztZQUM1RCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUI7WUFDbEcsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO1FBRWhDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxRQUFRLG1CQUFtQixLQUFLLENBQUMsQ0FBQztJQUM5RixDQUFDOytHQWpDUSw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7eUhBRVksY0FBYztzQkFBdEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFTTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbYW5uYUNvcmVGaXhlZFJvd3NJblBvcHVwVGFibGVdXCIsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRml4ZWRSb3dzUG9wdXBUYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBwb3B1cFJvd0hlaWdodDogbnVtYmVyID0gMzcuNTtcclxuICAgIEBJbnB1dCgpIHBvcHVwSGVhZGVySGVpZ2h0OiBudW1iZXIgPSAzODtcclxuICAgIEBJbnB1dCgpIHRhYmxlRGF0YUxlbmd0aDogbnVtYmVyO1xyXG4gICAgbWF4Um93c1JlbmRlcmVkV2l0aG91dFNjcm9sbEZvclBvcHVwOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICkge31cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxyXG4gICAgb25XaW5kb3dSZXNpemUoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRQb3BVcFRhYmxlSGVpZ2h0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRQb3BVcFRhYmxlSGVpZ2h0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UG9wVXBUYWJsZUhlaWdodCgpIHtcclxuICAgICAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgICBjb25zdCBtYXhOb09mUm93c1RvRGlzcGxheSA9IHZpZXdwb3J0SGVpZ2h0IDwgNzQwID8gNSA6IDEwO1xyXG4gICAgICAgIHRoaXMubWF4Um93c1JlbmRlcmVkV2l0aG91dFNjcm9sbEZvclBvcHVwID0gbWF4Tm9PZlJvd3NUb0Rpc3BsYXk7XHJcbiAgICAgICAgY29uc3QgdG90YWxQb3B1cFRhYmxlSGVpZ2h0ID1cclxuICAgICAgICAgICAgdGhpcy5tYXhSb3dzUmVuZGVyZWRXaXRob3V0U2Nyb2xsRm9yUG9wdXAgKiB0aGlzLnBvcHVwUm93SGVpZ2h0ICsgdGhpcy5wb3B1cEhlYWRlckhlaWdodDtcclxuXHJcbiAgICAgICAgY29uc3QgdGFibGVIZWlnaHRGb3JQb3B1cCA9XHJcbiAgICAgICAgICAgIHRoaXMudGFibGVEYXRhTGVuZ3RoIDwgdGhpcy5tYXhSb3dzUmVuZGVyZWRXaXRob3V0U2Nyb2xsRm9yUG9wdXBcclxuICAgICAgICAgICAgICAgID8gdGhpcy5wb3B1cFJvd0hlaWdodCAqICh0aGlzLnRhYmxlRGF0YUxlbmd0aCA/IHRoaXMudGFibGVEYXRhTGVuZ3RoIDogMSkgKyB0aGlzLnBvcHVwSGVhZGVySGVpZ2h0XHJcbiAgICAgICAgICAgICAgICA6IHRvdGFsUG9wdXBUYWJsZUhlaWdodDtcclxuXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIFwiaGVpZ2h0XCIsIGBjYWxjKCR7dGFibGVIZWlnaHRGb3JQb3B1cH1weClgKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
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 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
|
|
17
|
+
// and compare anything so we are returning false from here
|
|
18
|
+
if (!domElement.children || (domElement.children && domElement.children.length === 0))
|
|
19
|
+
return false;
|
|
20
|
+
const elementRect = domElement.getBoundingClientRect();
|
|
21
|
+
const childRect = domElement.children[0].getBoundingClientRect();
|
|
22
|
+
const paddingOnRight = window.getComputedStyle(domElement).paddingRight;
|
|
23
|
+
const padding = +(paddingOnRight.endsWith("px") ? paddingOnRight.slice(0, -2) : paddingOnRight);
|
|
24
|
+
// If overflow happens then Child element's right side position
|
|
25
|
+
// will be greater than container element's right side position.
|
|
26
|
+
return childRect.right + padding > elementRect.right;
|
|
27
|
+
}
|
|
28
|
+
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 }); }
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ShowEllipsisTextOnHoverDirective, isStandalone: true, selector: "[annaCoreShowEllipsisTextOnHover]", host: { listeners: { "mouseenter": "onMouseEnter()" } }, ngImport: i0 }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ShowEllipsisTextOnHoverDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: "[annaCoreShowEllipsisTextOnHover]",
|
|
35
|
+
standalone: true,
|
|
36
|
+
}]
|
|
37
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onMouseEnter: [{
|
|
38
|
+
type: HostListener,
|
|
39
|
+
args: ["mouseenter"]
|
|
40
|
+
}] } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1lbGxpcHNpcy10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL2RpcmVjdGl2ZXMvc2hvdy1lbGxpcHNpcy10ZXh0L3Nob3ctZWxsaXBzaXMtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1wRSxNQUFNLE9BQU8sZ0NBQWdDO0lBQ3pDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRzlDLFlBQVk7UUFDUixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUNqRCxJQUFJLFVBQVUsQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDOUYsVUFBVSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsV0FBVyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztTQUNoRzthQUFNLElBQUksVUFBVSxDQUFDLEtBQUs7WUFBRSxVQUFVLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxVQUFtQjtRQUN4QyxnRUFBZ0U7UUFDaEUsMkRBQTJEO1FBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUVwRyxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN2RCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFakUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUN4RSxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFaEcsK0RBQStEO1FBQy9ELGdFQUFnRTtRQUNoRSxPQUFPLFNBQVMsQ0FBQyxLQUFLLEdBQUcsT0FBTyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDekQsQ0FBQzsrR0F6QlEsZ0NBQWdDO21HQUFoQyxnQ0FBZ0M7OzRGQUFoQyxnQ0FBZ0M7a0JBSjVDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsVUFBVSxFQUFFLElBQUk7aUJBQ25CO2lHQUtHLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbYW5uYUNvcmVTaG93RWxsaXBzaXNUZXh0T25Ib3Zlcl1cIixcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaG93RWxsaXBzaXNUZXh0T25Ib3ZlckRpcmVjdGl2ZSB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcIm1vdXNlZW50ZXJcIilcclxuICAgIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKGRvbUVsZW1lbnQub2Zmc2V0V2lkdGggPCBkb21FbGVtZW50LnNjcm9sbFdpZHRoIHx8IHRoaXMuY2hlY2tQb3NpdGlvbnNJbkRlY2ltYWxzKGRvbUVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgIGRvbUVsZW1lbnQudGl0bGUgPSBkb21FbGVtZW50LnRleHRDb250ZW50ID09PSBcIlwiID8gZG9tRWxlbWVudC52YWx1ZSA6IGRvbUVsZW1lbnQudGV4dENvbnRlbnQ7XHJcbiAgICAgICAgfSBlbHNlIGlmIChkb21FbGVtZW50LnRpdGxlKSBkb21FbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcInRpdGxlXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrUG9zaXRpb25zSW5EZWNpbWFscyhkb21FbGVtZW50OiBFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICAgICAgLy8gaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgY2hpbGRyZW4gZWxlbWVudCBUaGVuIHdlIGNhbid0IGNhbGN1bGF0ZVxyXG4gICAgICAgIC8vIGFuZCBjb21wYXJlIGFueXRoaW5nIHNvIHdlIGFyZSByZXR1cm5pbmcgZmFsc2UgZnJvbSBoZXJlXHJcbiAgICAgICAgaWYgKCFkb21FbGVtZW50LmNoaWxkcmVuIHx8IChkb21FbGVtZW50LmNoaWxkcmVuICYmIGRvbUVsZW1lbnQuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAgICAgICBjb25zdCBlbGVtZW50UmVjdCA9IGRvbUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgY29uc3QgY2hpbGRSZWN0ID0gZG9tRWxlbWVudC5jaGlsZHJlblswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgY29uc3QgcGFkZGluZ09uUmlnaHQgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb21FbGVtZW50KS5wYWRkaW5nUmlnaHQ7XHJcbiAgICAgICAgY29uc3QgcGFkZGluZyA9ICsocGFkZGluZ09uUmlnaHQuZW5kc1dpdGgoXCJweFwiKSA/IHBhZGRpbmdPblJpZ2h0LnNsaWNlKDAsIC0yKSA6IHBhZGRpbmdPblJpZ2h0KTtcclxuXHJcbiAgICAgICAgLy8gSWYgb3ZlcmZsb3cgaGFwcGVucyB0aGVuIENoaWxkIGVsZW1lbnQncyByaWdodCBzaWRlIHBvc2l0aW9uXHJcbiAgICAgICAgLy8gd2lsbCBiZSBncmVhdGVyIHRoYW4gY29udGFpbmVyIGVsZW1lbnQncyByaWdodCBzaWRlIHBvc2l0aW9uLlxyXG4gICAgICAgIHJldHVybiBjaGlsZFJlY3QucmlnaHQgKyBwYWRkaW5nID4gZWxlbWVudFJlY3QucmlnaHQ7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLWRhdGEtdHlwZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLWdlbmVyaWMtZGF0YS10eXBlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFdlZWtPYmplY3Qge1xuICAgIHN0YXJ0RGF0ZTogc3RyaW5nO1xuICAgIGVuZERhdGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWxsZXJHcm91cEhpZXJhcmNoeSB7XG4gICAgaW52ZW50b3J5Q29kZTogc3RyaW5nO1xuICAgIHByb2dyYW06IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSYXRpbmdTZWxsZXJHcm91cEhpZXJhcmNoeSB7XG4gICAgSW52ZW50b3J5Q29kZTogc3RyaW5nO1xuICAgIFByb2dyYW06IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR3RDb2x1bW5JY29uRW1pdHRlZERhdGEge1xuICAgIGRhdGE6IGFueTtcbiAgICBrZXk6IHN0cmluZztcbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJUmFkaW9CdXR0b24ge1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQW5ndWxhcjJNdWx0aVNlbGVjdFNldHRpbmdzIHtcclxuICAgIHRleHQ6IHN0cmluZztcclxuICAgIHNlbGVjdEFsbFRleHQ6IHN0cmluZztcclxuICAgIHVuU2VsZWN0QWxsVGV4dDogc3RyaW5nO1xyXG4gICAgYmFkZ2VTaG93TGltaXQ6IG51bWJlcjtcclxuICAgIHNpbmdsZVNlbGVjdGlvbjogYm9vbGVhbjtcclxuICAgIGNsYXNzZXM6IHN0cmluZztcclxuICAgIGVuYWJsZVNlYXJjaEZpbHRlcjogYm9vbGVhbjtcclxuICAgIGVuYWJsZUNoZWNrQWxsOiBib29sZWFuO1xyXG4gICAgYXV0b1Bvc2l0aW9uOiBib29sZWFuO1xyXG4gICAgcG9zaXRpb246IHN0cmluZztcclxuICAgIGxhenlMb2FkaW5nOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBzaG93Q2hlY2tib3g6IGJvb2xlYW47XHJcbiAgICBlbmFibGVGaWx0ZXJTZWxlY3RBbGw6IGJvb2xlYW47XHJcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmd4QXNpZGVTZXR0aW5ncyB7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgY2FuY2VsQnV0dG9uVGl0bGU6IHN0cmluZztcclxuICAgIHN1Ym1pdEJ1dHRvblRpdGxlOiBzdHJpbmc7XHJcbiAgICBjbG9zZU9uRXNjYXBlOiBib29sZWFuO1xyXG4gICAgc2hvd092ZXJsYXk6IGJvb2xlYW47XHJcbiAgICBzaG93RGVmYXVsdEZvb3RlcjogYm9vbGVhbjtcclxuICAgIHNob3dEZWZhdWx0SGVhZGVyOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElOZ2JEYXRlUGlja2VyU2V0dGluZ3Mge1xyXG4gICAgYXV0b0Nsb3NlOiBib29sZWFuO1xyXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIGRpc3BsYXlNb250aHM6IG51bWJlcjtcclxuICAgIGZpcnN0RGF5T2ZXZWVrOiBudW1iZXI7XHJcbiAgICBzaG93V2Vla051bWJlcnM6IGJvb2xlYW47XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmdTZWxlY3RTZXR0aW5ncyB7XHJcbiAgICBhbGxvd0NsZWFyOiBib29sZWFuO1xyXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmd4SW5maW5pdGVTY3JvbGxTZXR0aW5ncyB7XHJcbiAgICBpbmZpbml0ZVNjcm9sbERpc3RhbmNlOiBudW1iZXI7XHJcbiAgICBpbmZpbml0ZVNjcm9sbFVwRGlzdGFuY2U6IG51bWJlcjtcclxuICAgIGluZmluaXRlU2Nyb2xsVGhyb3R0bGU6IG51bWJlcjtcclxuICAgIHNjcm9sbFdpbmRvdzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncyB7XHJcbiAgICBudW1iZXJPZlNrZWxldG9uUm93czogbnVtYmVyW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVJhZGlvQnV0dG9uQ29tcG9uZW50Q29uZmlnIHtcclxuICAgIGhlYWRpbmc/OiBzdHJpbmc7XHJcbiAgICByYWRpb0J1dHRvbnM6IElSYWRpb0J1dHRvbltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDb25maXJtYXRpb25Qb3B1cENvbmZpZyB7XHJcbiAgICBzaG93Q2FuY2VsQnV0dG9uOiBib29sZWFuO1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHNob3dDb25maXJtQnV0dG9uOiBib29sZWFuO1xyXG4gICAgY2FuY2VsQnV0dG9uTGFiZWw6IHN0cmluZztcclxuICAgIGNvbmZpcm1CdXR0b25MYWJlbDogc3RyaW5nO1xyXG4gICAgc2hvd0Nsb3NlSWNvbjogYm9vbGVhbjtcclxuICAgIHdpbmRvd0NsYXNzOiBzdHJpbmc7XHJcbiAgICBiYWNrZHJvcDogXCJzdGF0aWNcIiB8IGJvb2xlYW47XHJcbiAgICBzaXplOiBcInNtXCIgfCBcImxnXCI7XHJcbiAgICBrZXlib2FyZDogYm9vbGVhbjtcclxuICAgIGNlbnRlcmVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJV2Vla0NhbGVuZGFyIHtcclxuICAgIGZpcnN0RGF5T2ZXZWVrPzogbnVtYmVyO1xyXG4gICAgbnVtYmVyT2ZNb250aHNUb0VuYWJsZUluUGFzdDogbnVtYmVyO1xyXG4gICAgc2VsZWN0TXVsdGlwbGVXZWVrczogYm9vbGVhbjtcclxuICAgIHNob3dXZWVrTnVtYmVycz86IGJvb2xlYW47XHJcbiAgICBkYXRlRm9ybWF0VG9EaXNwbGF5Pzogc3RyaW5nO1xyXG4gICAgbWF4V2Vla3NUb1Nob3dXaXRoUmVtYWluaW5nQ291bnQ/OiBudW1iZXI7XHJcbiAgICBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICAgIGVtaXRNdWx0aXBsZVdlZWtPYmplY3RzPzogYm9vbGVhbjtcclxuICAgIGRhdGVGb3JtYXRGb3JSZXF1ZXN0Pzogc3RyaW5nO1xyXG4gICAgbWF4V2Vla3NUb1NlbGVjdD86IG51bWJlcjtcclxuICAgIHNob3dBc0Ryb3Bkb3duOiBib29sZWFuO1xyXG4gICAgc2VsZWN0Q3VycmVudFdlZWs6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVNpbmdsZVNlbGVjdCB7XHJcbiAgICBzaG93U2VhcmNoQmFyOiBib29sZWFuO1xyXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIGNsYXNzZXM6IHN0cmluZztcclxuICAgIHBvc2l0aW9uOiBQb3NpdGlvbjtcclxuICAgIG1heEhlaWdodE9mTGlzdDogbnVtYmVyOyAvLyBweCB2YWx1ZVxyXG4gICAgbWluSGVpZ2h0T2ZMaXN0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDdXN0b21NdWx0aVNlbGVjdCBleHRlbmRzIElDdXN0b21TaW5nbGVTZWxlY3Qge1xyXG4gICAgc2hvd0Vycm9yV2hlbk5vT3B0aW9uU2VsZWN0ZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbnR5cGUgUG9zaXRpb24gPSBcIlRPUFwiIHwgXCJCT1RUT01cIjtcclxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF1SEEsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFDSSxxQkFBMEIsRUFDMUIsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLFdBQW9CLEVBQ3BCLFdBQTJDO1FBRTNDLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksRUFBTyxFQUNQLFFBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGFBQXNCLEVBQ3RCLFdBQW9CLEVBQ3BCLFdBQW9CO1FBWnhCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFjckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJV2Vla0NhbGVuZGFyIH0gZnJvbSBcIi4vYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdFRhYmxlSGVhZGVyIHtcclxuICAgIGhlYWRlckluZm86IElIZWFkZXJJbmZvW107XHJcbiAgICB2aXNpYmxlOiBib29sZWFuO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJSGVhZGVySW5mbyB7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBvYmplY3RLZXk6IHN0cmluZztcclxuICAgIGFjdGlvbktleT86IHN0cmluZztcclxuICAgIHRvb2x0aXBLZXk/OiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkS2V5Pzogc3RyaW5nO1xyXG4gICAgdHlwZU9mSGVhZGVyRGF0YTogREFUQVRZUEU7XHJcbiAgICB0eXBlT2ZCb2R5RGF0YTogREFUQVRZUEU7XHJcbiAgICBmaWx0ZXI/OiBGSUxURVJUWVBFO1xyXG4gICAgZmlsdGVyU29ydE9iamVjdEtleXM/OiBzdHJpbmdbXTtcclxuICAgIGlzU29ydFJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgaXNGaWx0ZXJSZXF1aXJlZD86IGJvb2xlYW5bXTtcclxuICAgIHNob3dUb29sdGlwSWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVUb29sdGlwSWNvbj86IGJvb2xlYW47XHJcbiAgICB0b29sdGlwPzogSVRvb2x0aXA7XHJcbiAgICBqb2luZWRGaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZztcclxufVxyXG5cclxudHlwZSBEQVRBVFlQRSA9XHJcbiAgICB8IFwiQ0hFQ0tCT1hcIlxyXG4gICAgfCBcIklDT05cIlxyXG4gICAgfCBcIlNUUklOR1wiXHJcbiAgICB8IFwiUkFESU9cIlxyXG4gICAgfCBcIlwiXHJcbiAgICB8IFwiU1ZHX0lDT05cIlxyXG4gICAgfCBcIlRFWFRfQUNUSU9OU1wiXHJcbiAgICB8IFwiQ0xJQ0tBQkxFX0RBVEFcIlxyXG4gICAgfCBcIlNUUklOR19fVEVYVF9BQ1RJT05cIlxyXG4gICAgfCBcIlNUUklOR19fSUNPTl9BQ1RJT05cIlxyXG4gICAgfCBcIlNUUklOR19fX0lDT05fT1JfVEVYVF9BQ1RJT05cIlxyXG4gICAgfCBcIkhUTUxcIlxyXG4gICAgfCBcIkhUTUxfU1RSSU5HXCJcclxuICAgIHwgXCJJQ09OX0NFTExcIlxyXG4gICAgfCBcIlNUUklOR19PUl9JTlBVVFwiXHJcbiAgICB8IFwiU0lOR0xFX1JBRElPXCJcclxuICAgIHwgXCJTVFJJTkdfV0lUSF9UT09MVElQXCI7XHJcbnR5cGUgRklMVEVSVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiU0xJREVSXCIgfCBcIkRBVEVcIiB8IFwiVElNRVwiIHwgXCJXRUVLXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb3RhbFJvd0luZm8ge1xyXG4gICAgY29sc3BhbjogbnVtYmVyO1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG4gICAgbG93ZXJEYXRhPzogc3RyaW5nO1xyXG4gICAgY29sTmFtZTogc3RyaW5nO1xyXG4gICAgY2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxuICAgIGlzQWN0aW9uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGFjdGlvbkRhdGE/OiBDbGlja2FibGVJdGVtW107XHJcbiAgICBpc0ljb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgaWNvbkRhdGE/OiB7IGNsYXNzOiBzdHJpbmc7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgdG9vbHRpcEljb25DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGNvbXBvbmVudDogQ09NUE9ORU5UTkFNRTtcclxuICAgIHRvdGFsUm93OiBib29sZWFuO1xyXG4gICAgaXNIZWFkZXJDaGVja2VkPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVIZWFkZXJDaGVja2JveD86IGJvb2xlYW47XHJcbiAgICBtdWx0aVdlZWtQaWNrZXJDb25maWc/OiBJV2Vla0NhbGVuZGFyO1xyXG4gICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwPzogbnVtYmVyO1xyXG4gICAgdGFibGVDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgdGFibGVPdXRlckNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiBib29sZWFuO1xyXG4gICAgYnVmZmVyU2l6ZTogbnVtYmVyO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIENPTVBPTkVOVE5BTUUgPVxyXG4gICAgfCBcIlNQT1RERVRBSUxTXCJcclxuICAgIHwgXCJFWENMVURFSU5WRU5UT1JZUE9QVVBcIlxyXG4gICAgfCBcIkVYQ0xVREVJTlZFTlRPUllcIlxyXG4gICAgfCBcIkRSUkxJU1RJTkdcIlxyXG4gICAgfCBcIkRSUlwiXHJcbiAgICB8IFwiXCJcclxuICAgIHwgXCJSQVRJTkdcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfSU5GTElHSFRcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfQ09NUExFVEVEXCJcclxuICAgIHwgXCJPUkRFUl9MSVNUSU5HX0JMQU5LXCJcclxuICAgIHwgXCJMVVJfVklPTEFUSU9OU1wiXHJcbiAgICB8IFwiQUNUSVZJVFlMT0dcIlxyXG4gICAgfCBcIk5PVElGSUNBVElPTlNcIlxyXG4gICAgfCBcIkRQX1JFU1RSSUNUSU9OU1wiO1xyXG5pbnRlcmZhY2UgSVNwb3RUYWJsZUNvbmZpZyB7XHJcbiAgICBpc0dyb3VwZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXAge1xyXG4gICAgaWNvblBvc2l0aW9uOiBcImxlZnRcIiB8IFwicmlnaHRcIiB8IFwiYWJvdmVcIiB8IFwiYmVsb3dcIiB8IFwiYmVmb3JlXCIgfCBcImFmdGVyXCI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUG9zaXRpb246IHN0cmluZztcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG4gICAgdG9vbHRpcENsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJY29uRGF0YSB7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRBY3Rpb24ge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpY2thYmxlSXRlbSB7XHJcbiAgICBpZDogYW55O1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxuICAgIGNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH07XHJcbiAgICBlbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQ6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgdHlwZU9mQWN0aW9uTGlua0Zvckd0OiBhbnksXHJcbiAgICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIGNsYXNzTmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0sXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmlkID0gdHlwZU9mQWN0aW9uTGlua0Zvckd0O1xyXG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgdGhpcy5jbGFzcyA9IGNsYXNzTmFtZTtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGF0YSA9IHRvb2x0aXBEYXRhO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0ID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJY29uQ2VsbEFjdGlvbktleSB7XHJcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nO1xyXG4gICAgc2hvd0ljb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93T2JqZWN0S2V5OiBib29sZWFuO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwRGF0YT86IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpZDogYW55LFxyXG4gICAgICAgIHNob3dJY29uOiBib29sZWFuLFxyXG4gICAgICAgIGljb25DbGFzczogc3RyaW5nLFxyXG4gICAgICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW4sXHJcbiAgICAgICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sXHJcbiAgICAgICAgdG9vbHRpcERhdGE/OiBzdHJpbmcsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmlkID0gaWQ7XHJcbiAgICAgICAgdGhpcy5zaG93SWNvbiA9IHNob3dJY29uO1xyXG4gICAgICAgIHRoaXMuaWNvbkNsYXNzID0gaWNvbkNsYXNzO1xyXG4gICAgICAgIHRoaXMuc2hvd09iamVjdEtleSA9IHNob3dPYmplY3RLZXk7XHJcbiAgICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IHNob3dUb29sdGlwO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcERhdGEgPSB0b29sdGlwRGF0YTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9uSXRlbVR5cGVXaXRoU3RyaW5nSWNvbk9yVGV4dEFjdGlvbiB7XHJcbiAgICBpZDogYW55O1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG5cclxuICAgIHR5cGVPZkRhdGE6IFwiU1RSSU5HXCIgfCBcIklDT05fVEVYVF9BQ1RJT05cIjtcclxuICAgIGFkZGl0aW9uYWxUZXh0QmVmb3JlTGluazogc3RyaW5nO1xyXG5cclxuICAgIGljb25DbGFzcz86IHN0cmluZztcclxuICAgIHNob3dJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWRJY29uPzogYm9vbGVhbjtcclxuXHJcbiAgICBsaW5rQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICBzaG93TGluaz86IGJvb2xlYW47XHJcbiAgICBkaXNhYmxlZExpbms/OiBib29sZWFuO1xyXG5cclxuICAgIHNob3dUb29sdGlwOiBib29sZWFuO1xyXG5cclxuICAgIHRvb2x0aXBEYXRhPzogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W107XHJcbiAgICB0b29sdGlwQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUGxhY2VtZW50Pzogc3RyaW5nO1xyXG5cclxuICAgIGVuYWJsZVRvb2x0aXBGb3JBZGRpdGlvbmFsVGV4dD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEljb25Ub1Nob3cgPVxyXG4gICAgfCBcIkxJVkVcIlxyXG4gICAgfCBcIlBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFXCJcclxuICAgIHwgXCJQQVlfRk9SX1BFUkZPUk1BTkNFXCJcclxuICAgIHwgXCJSRUpFQ1RFRFwiXHJcbiAgICB8IFwiTk9USUZZXCJcclxuICAgIHwgXCJBV0FJVElOR19BUFBST1ZBTFwiXHJcbiAgICB8IFwiREVMRVRFRF9PUkRFUlwiXHJcbiAgICB8IFwiTkVFRF9TRUxMRVJfQ09ORklSTUFUSU9OXCJcclxuICAgIHwgXCJORUVEX0JVWUVSX0NPTkZJUk1BVElPTlwiO1xyXG4iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtc29ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLG1DQUFtQixDQUFBO0lBQ25CLDJCQUFXLENBQUE7SUFDWCw2QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxZQUFZLEtBQVosWUFBWSxRQUl2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNvcnRUeXBlID0gXCJERUZBVUxUXCIgfCBcIkFTQ1wiIHwgXCJERVNDXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb24ge1xyXG4gICAgc29ydFR5cGU6IFNvcnRUeXBlO1xyXG4gICAgaXNPcHRpb25BY3RpdmU6IGJvb2xlYW47XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNvcnRUeXBlRW51bSB7XHJcbiAgICBERUZBVUxUID0gXCJERUZBVUxUXCIsXHJcbiAgICBBU0MgPSBcIkFTQ1wiLFxyXG4gICAgREVTQyA9IFwiREVTQ1wiLFxyXG59XHJcbiJdfQ==
|
|
@@ -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
|
|
10
|
-
constructor(data) {
|
|
11
|
-
this.data = data;
|
|
12
|
-
this.isSelected = true;
|
|
13
|
-
this.isHidden = false;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
export class
|
|
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,
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS10b29sdGlwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtdG9vbHRpcC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQU1yQixZQUFZLEdBQVcsRUFBRSxFQUFVO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLG1DQUFtQztJQUk1QyxZQUFZLElBQVk7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztDQUNKO0FBRUQsTUFBTSxPQUFPLGdCQUFnQjtJQU16QixZQUFZLEdBQVcsRUFBRSxLQUFhLEVBQUUsSUFBYSxFQUFFLE1BQWU7UUFDbEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO0lBQ25DLENBQUM7Q0FDSjtBQUVELE1BQU0sQ0FBTixJQUFZLGlCQUlYO0FBSkQsV0FBWSxpQkFBaUI7SUFDekIseURBQVEsQ0FBQTtJQUNSLHVFQUFlLENBQUE7SUFDZix1RUFBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBSTVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFRvb2x0aXBNb2RlbCB7XHJcbiAgICBpc1NlbGVjdGVkOiBib29sZWFuO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICB2YWx1ZTogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKG9iajogc3RyaW5nLCBpZDogbnVtYmVyKSB7XHJcbiAgICAgICAgdGhpcy5sYWJlbCA9IG9iaiAhPSBudWxsID8gb2JqLnRvU3RyaW5nKCkgOiBcIi1cIjtcclxuICAgICAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaWQgPSBpZDtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFRvb2x0aXBNb2RlbEZvckNvbHVtbkxldmVsRmlsdGVyaW5nIHtcclxuICAgIGlzSGlkZGVuO1xyXG4gICAgaXNTZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIGRhdGE6IHN0cmluZztcclxuICAgIGNvbnN0cnVjdG9yKGRhdGE6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmlzSGlkZGVuID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSYWRpb0J1dHRvbk1vZGVsIHtcclxuICAgIGtleTogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGlzU29ydFJlcXVpcmVkOiBib29sZWFuO1xyXG4gICAgaXNGaWx0ZXJSZXF1aXJlZDogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgc29ydDogYm9vbGVhbiwgZmlsdGVyOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5rZXkgPSBrZXk7XHJcbiAgICAgICAgdGhpcy5sYWJlbCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuaXNTb3J0UmVxdWlyZWQgPSBzb3J0O1xyXG4gICAgICAgIHRoaXMuaXNGaWx0ZXJSZXF1aXJlZCA9IGZpbHRlcjtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gQWxsU2VsZWN0ZWRTdGF0dXMge1xyXG4gICAgbm9uZSA9IDAsXHJcbiAgICBhbGxTZWxlY3RlZCA9IDEsXHJcbiAgICBmZXdTZWxlY3RlZCA9IDIsXHJcbn1cclxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYUNvbnZlcnRBcnJheVRvQ29tbWFTZXBlcmF0ZWRWYWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvcGlwZXMvYW5uYUNvbnZlcnRBcnJheVRvQ29tbWFTZXBlcmF0ZWRWYWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7O0FBTXBDLE1BQU0sT0FBTyxxQ0FBcUM7SUFKbEQ7UUFLSSxjQUFTLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0F5QjNGO0lBdkJHLFNBQVMsQ0FBQyxLQUFZLEVBQUUsV0FBaUIsRUFBRSxlQUFxQjtRQUM1RCxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxJQUFJLElBQUksRUFBRTtZQUN0QyxPQUFPLEdBQUcsQ0FBQztTQUNkO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFZLEVBQUUsV0FBaUIsRUFBRSxlQUFxQjtRQUMxRCxJQUFJLGVBQWUsR0FBVyxFQUFFLENBQUM7UUFDakMsSUFBSSxnQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDdEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3ZCLElBQUksZUFBZSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBRTtnQkFDekMsZUFBZSxHQUFHLEdBQUcsZUFBZSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUM1RCxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7YUFDM0I7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPLEdBQUcsQ0FBQztRQUVsQyxzQ0FBc0M7UUFDdEMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQzsrR0F6QlEscUNBQXFDOzZHQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBSmpELElBQUk7bUJBQUM7b0JBQ0YsSUFBSSxFQUFFLHVCQUF1QjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IG1lbW9pemUgfSBmcm9tIFwibG9kYXNoLWVzXCI7XHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiBcImFubmFDb252ZXJ0QXJyYXlUb0NTVlwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFubmFDb252ZXJ0QXJyYXlUb0NvbW1hU2VwZXJhdGVkVmFsdWUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIGNvbnZlcnRlciA9IG1lbW9pemUodGhpcy5yZXBsYWNlLCAoLi4uYXJncykgPT4gdGhpcy5yZXBsYWNlKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pKTtcclxuXHJcbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueVtdLCB0ZXh0S2V5TmFtZT86IGFueSwgc2VsZWN0ZWRLZXlOYW1lPzogYW55KTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBcIi1cIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udmVydGVyKHZhbHVlLCB0ZXh0S2V5TmFtZSwgc2VsZWN0ZWRLZXlOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICByZXBsYWNlKHZhbHVlOiBhbnlbXSwgdGV4dEtleU5hbWU/OiBhbnksIHNlbGVjdGVkS2V5TmFtZT86IGFueSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHN0cmluZ1RvRGlzcGxheTogc3RyaW5nID0gXCJcIjtcclxuICAgICAgICBsZXQgYW55VmFsdWVTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgICAgIHZhbHVlLmZvckVhY2goKHZhbDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZEtleU5hbWUgJiYgdmFsW3NlbGVjdGVkS2V5TmFtZV0pIHtcclxuICAgICAgICAgICAgICAgIHN0cmluZ1RvRGlzcGxheSA9IGAke3N0cmluZ1RvRGlzcGxheSArIHZhbFt0ZXh0S2V5TmFtZV19LCBgO1xyXG4gICAgICAgICAgICAgICAgYW55VmFsdWVTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKCFhbnlWYWx1ZVNlbGVjdGVkKSByZXR1cm4gXCItXCI7XHJcblxyXG4gICAgICAgIC8vIHJlbW92ZSBsYXN0IDIgY2hhcmFjdGVycyBpLmUuIGNvbW1hXHJcbiAgICAgICAgc3RyaW5nVG9EaXNwbGF5ID0gc3RyaW5nVG9EaXNwbGF5LnNsaWNlKDAsIC0yKTtcclxuICAgICAgICByZXR1cm4gc3RyaW5nVG9EaXNwbGF5O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|