@annalib/anna-core 32.0.0 → 33.0.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.
- package/fesm2022/annalib-anna-core.mjs +139 -139
- package/fesm2022/annalib-anna-core.mjs.map +1 -1
- package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +2 -2
- package/package.json +4 -6
- package/esm2022/annalib-anna-core.mjs +0 -5
- package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +0 -12
- package/esm2022/lib/anna-core-shared-lib/components/anna-circular-progress/anna-circular-progress.component.mjs +0 -52
- package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +0 -11
- package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +0 -11
- package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +0 -49
- package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +0 -12
- package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +0 -22
- package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +0 -11
- package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +0 -20
- package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +0 -12
- package/esm2022/lib/anna-core-shared-lib/components/anna-spinner-loader/anna-spinner-loader.component.mjs +0 -26
- package/esm2022/lib/anna-core-shared-lib/constants/anna-application.constants.mjs +0 -5
- package/esm2022/lib/anna-core-shared-lib/constants/shared.constant.mjs +0 -49
- package/esm2022/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +0 -266
- package/esm2022/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +0 -46
- package/esm2022/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +0 -41
- package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +0 -2
- package/esm2022/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +0 -2
- package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +0 -67
- package/esm2022/lib/anna-core-shared-lib/models/anna-sort.model.mjs +0 -7
- package/esm2022/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +0 -32
- package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.mjs +0 -39
- package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +0 -27
- package/esm2022/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +0 -21
- package/esm2022/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +0 -53
- package/esm2022/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +0 -27
- package/esm2022/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +0 -17
- package/esm2022/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +0 -240
- package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +0 -1521
- package/esm2022/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +0 -149
- package/esm2022/lib/anna-core-shared-lib/services/anna-generic-tooltip-html.services.mjs +0 -60
- package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +0 -94
- package/esm2022/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +0 -67
- package/esm2022/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +0 -68
- package/esm2022/lib/anna-core-shared-lib/services/anna-regex-patterns.service.mjs +0 -20
- package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +0 -177
- package/esm2022/lib/anna-core-shared-lib/services/anna-spinner-loader.service.mjs +0 -24
- package/esm2022/lib/anna-core.module.mjs +0 -215
- package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +0 -160
- package/esm2022/lib/anna-dropdown-lib/components/anna-single-select/anna-single-select.component.mjs +0 -155
- package/esm2022/lib/anna-dropdown-lib/components/anna-single-select/models/anna-single-select.model.mjs +0 -12
- package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +0 -359
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +0 -264
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +0 -189
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +0 -319
- package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +0 -302
- package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +0 -1088
- package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +0 -69
- package/esm2022/public-api.mjs +0 -61
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
export class Constants {
|
|
2
|
-
static { this.SUCCESS_STRING = "success"; }
|
|
3
|
-
static { this.BACKEND_SERVER_URL = "/server/public/index.php/api"; }
|
|
4
|
-
static { this.ERROR_MSG = "Error occurred please try again."; }
|
|
5
|
-
static { this.NO_DATA_MSG = "No data to display"; }
|
|
6
|
-
static { this.SERVER_ERROR = "Server error. Please try Again"; }
|
|
7
|
-
static { this.USER_ORIGIN = "ANNA"; }
|
|
8
|
-
static { this.ACTIVE_USER_STATUS = "active"; }
|
|
9
|
-
static { this.DELETED_USER_STATUS = "deleted"; }
|
|
10
|
-
static { this.INACTIVE_USER_STATUS = "inactive"; }
|
|
11
|
-
static { this.OGAdminRole = "Ownership Group Admin"; }
|
|
12
|
-
static { this.ASARole = "Anna Station Admin"; }
|
|
13
|
-
static { this.dollars = "$"; }
|
|
14
|
-
static { this.SERVER_ERROR_MSG = "Something went wrong! Please try again"; }
|
|
15
|
-
}
|
|
16
|
-
export class ErrorCodes {
|
|
17
|
-
static { this.BAD_REQUEST = 400; }
|
|
18
|
-
static { this.SERVER_ERROR = 500; }
|
|
19
|
-
static { this.SUCCESS_CODE = 200; }
|
|
20
|
-
static { this.SUCCESS_CODE_GET = 200; }
|
|
21
|
-
static { this.SUCCESS_CODE_POST = 201; }
|
|
22
|
-
static { this.SUCCESS_CODE_PATCH = 204; }
|
|
23
|
-
static { this.NO_CONTENT = 204; }
|
|
24
|
-
static { this.under_review = 409; }
|
|
25
|
-
static { this.UNAUTHORIZED_ACCESS = 401; }
|
|
26
|
-
}
|
|
27
|
-
export var Days;
|
|
28
|
-
(function (Days) {
|
|
29
|
-
Days[Days["M"] = 1] = "M";
|
|
30
|
-
Days[Days["Tu"] = 2] = "Tu";
|
|
31
|
-
Days[Days["We"] = 3] = "We";
|
|
32
|
-
Days[Days["Th"] = 4] = "Th";
|
|
33
|
-
Days[Days["F"] = 5] = "F";
|
|
34
|
-
Days[Days["Sa"] = 6] = "Sa";
|
|
35
|
-
Days[Days["Su"] = 7] = "Su";
|
|
36
|
-
})(Days || (Days = {}));
|
|
37
|
-
export class OrderSources {
|
|
38
|
-
static { this.Medialine = "Medialine"; }
|
|
39
|
-
static { this.Non_electronic = "Non electronic"; }
|
|
40
|
-
static { this.Others = "Others"; }
|
|
41
|
-
static { this.WOC_unlinked = "WOC Unlinked"; }
|
|
42
|
-
static { this.WOC_linked = "WOC Linked"; }
|
|
43
|
-
static { this.WOZ = "WOZ"; }
|
|
44
|
-
static { this.Darwin = "Darwin"; }
|
|
45
|
-
}
|
|
46
|
-
export class ANNAIconNames {
|
|
47
|
-
static { this.AutomationActivatedIconName = "anna-automation-activated-icon mdi mdi-cog-refresh"; }
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmNvbnN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvY29uc3RhbnRzL3NoYXJlZC5jb25zdGFudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sU0FBUzthQUNGLG1CQUFjLEdBQUcsU0FBUyxDQUFDO2FBQzNCLHVCQUFrQixHQUFHLDhCQUE4QixDQUFDO2FBQ3BELGNBQVMsR0FBRyxrQ0FBa0MsQ0FBQzthQUMvQyxnQkFBVyxHQUFHLG9CQUFvQixDQUFDO2FBQ25DLGlCQUFZLEdBQUcsZ0NBQWdDLENBQUM7YUFDaEQsZ0JBQVcsR0FBRyxNQUFNLENBQUM7YUFDckIsdUJBQWtCLEdBQUcsUUFBUSxDQUFDO2FBQzlCLHdCQUFtQixHQUFHLFNBQVMsQ0FBQzthQUNoQyx5QkFBb0IsR0FBRyxVQUFVLENBQUM7YUFDbEMsZ0JBQVcsR0FBRyx1QkFBdUIsQ0FBQzthQUN0QyxZQUFPLEdBQUcsb0JBQW9CLENBQUM7YUFDL0IsWUFBTyxHQUFHLEdBQUcsQ0FBQzthQUNkLHFCQUFnQixHQUFHLHdDQUF3QyxDQUFDOztBQUdoRixNQUFNLE9BQU8sVUFBVTthQUNILGdCQUFXLEdBQUcsR0FBRyxDQUFDO2FBQ2xCLGlCQUFZLEdBQUcsR0FBRyxDQUFDO2FBQ25CLGlCQUFZLEdBQUcsR0FBRyxDQUFDO2FBQ25CLHFCQUFnQixHQUFHLEdBQUcsQ0FBQzthQUN2QixzQkFBaUIsR0FBRyxHQUFHLENBQUM7YUFDeEIsdUJBQWtCLEdBQUcsR0FBRyxDQUFDO2FBQ3pCLGVBQVUsR0FBRyxHQUFHLENBQUM7YUFDakIsaUJBQVksR0FBRyxHQUFHLENBQUM7YUFDbkIsd0JBQW1CLEdBQUcsR0FBRyxDQUFDOztBQUc5QyxNQUFNLENBQU4sSUFBWSxJQVFYO0FBUkQsV0FBWSxJQUFJO0lBQ1oseUJBQUssQ0FBQTtJQUNMLDJCQUFNLENBQUE7SUFDTiwyQkFBTSxDQUFBO0lBQ04sMkJBQU0sQ0FBQTtJQUNOLHlCQUFLLENBQUE7SUFDTCwyQkFBTSxDQUFBO0lBQ04sMkJBQU0sQ0FBQTtBQUNWLENBQUMsRUFSVyxJQUFJLEtBQUosSUFBSSxRQVFmO0FBRUQsTUFBTSxPQUFPLFlBQVk7YUFDTCxjQUFTLEdBQUcsV0FBVyxDQUFDO2FBQ3hCLG1CQUFjLEdBQUcsZ0JBQWdCLENBQUM7YUFDbEMsV0FBTSxHQUFHLFFBQVEsQ0FBQzthQUNsQixpQkFBWSxHQUFHLGNBQWMsQ0FBQzthQUM5QixlQUFVLEdBQUcsWUFBWSxDQUFDO2FBQzFCLFFBQUcsR0FBRyxLQUFLLENBQUM7YUFDWixXQUFNLEdBQUcsUUFBUSxDQUFDOztBQUd0QyxNQUFNLE9BQU8sYUFBYTthQUNOLGdDQUEyQixHQUFHLG9EQUFvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENvbnN0YW50cyB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgU1VDQ0VTU19TVFJJTkcgPSBcInN1Y2Nlc3NcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBCQUNLRU5EX1NFUlZFUl9VUkwgPSBcIi9zZXJ2ZXIvcHVibGljL2luZGV4LnBocC9hcGlcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBFUlJPUl9NU0cgPSBcIkVycm9yIG9jY3VycmVkIHBsZWFzZSB0cnkgYWdhaW4uXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgTk9fREFUQV9NU0cgPSBcIk5vIGRhdGEgdG8gZGlzcGxheVwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFNFUlZFUl9FUlJPUiA9IFwiU2VydmVyIGVycm9yLiBQbGVhc2UgdHJ5IEFnYWluXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgVVNFUl9PUklHSU4gPSBcIkFOTkFcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBBQ1RJVkVfVVNFUl9TVEFUVVMgPSBcImFjdGl2ZVwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IERFTEVURURfVVNFUl9TVEFUVVMgPSBcImRlbGV0ZWRcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBJTkFDVElWRV9VU0VSX1NUQVRVUyA9IFwiaW5hY3RpdmVcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBPR0FkbWluUm9sZSA9IFwiT3duZXJzaGlwIEdyb3VwIEFkbWluXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgQVNBUm9sZSA9IFwiQW5uYSBTdGF0aW9uIEFkbWluXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgZG9sbGFycyA9IFwiJFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFNFUlZFUl9FUlJPUl9NU0cgPSBcIlNvbWV0aGluZyB3ZW50IHdyb25nISBQbGVhc2UgdHJ5IGFnYWluXCI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFcnJvckNvZGVzIHtcclxuICAgIHN0YXRpYyByZWFkb25seSBCQURfUkVRVUVTVCA9IDQwMDtcclxuICAgIHN0YXRpYyByZWFkb25seSBTRVJWRVJfRVJST1IgPSA1MDA7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgU1VDQ0VTU19DT0RFID0gMjAwO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFNVQ0NFU1NfQ09ERV9HRVQgPSAyMDA7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgU1VDQ0VTU19DT0RFX1BPU1QgPSAyMDE7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgU1VDQ0VTU19DT0RFX1BBVENIID0gMjA0O1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IE5PX0NPTlRFTlQgPSAyMDQ7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgdW5kZXJfcmV2aWV3ID0gNDA5O1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFVOQVVUSE9SSVpFRF9BQ0NFU1MgPSA0MDE7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIERheXMge1xyXG4gICAgTSA9IDEsXHJcbiAgICBUdSA9IDIsXHJcbiAgICBXZSA9IDMsXHJcbiAgICBUaCA9IDQsXHJcbiAgICBGID0gNSxcclxuICAgIFNhID0gNixcclxuICAgIFN1ID0gNyxcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIE9yZGVyU291cmNlcyB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgTWVkaWFsaW5lID0gXCJNZWRpYWxpbmVcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBOb25fZWxlY3Ryb25pYyA9IFwiTm9uIGVsZWN0cm9uaWNcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBPdGhlcnMgPSBcIk90aGVyc1wiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFdPQ191bmxpbmtlZCA9IFwiV09DIFVubGlua2VkXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgV09DX2xpbmtlZCA9IFwiV09DIExpbmtlZFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IFdPWiA9IFwiV09aXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgRGFyd2luID0gXCJEYXJ3aW5cIjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFOTkFJY29uTmFtZXMge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IEF1dG9tYXRpb25BY3RpdmF0ZWRJY29uTmFtZSA9IFwiYW5uYS1hdXRvbWF0aW9uLWFjdGl2YXRlZC1pY29uIG1kaSBtZGktY29nLXJlZnJlc2hcIjtcclxufVxyXG4iXX0=
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostListener, Input } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DigitOnlyDirective {
|
|
4
|
-
constructor(el) {
|
|
5
|
-
this.el = el;
|
|
6
|
-
this.hasDecimalPoint = false;
|
|
7
|
-
this.hasNegativeSign = false;
|
|
8
|
-
this.navigationKeys = [
|
|
9
|
-
"Backspace",
|
|
10
|
-
"Delete",
|
|
11
|
-
"Tab",
|
|
12
|
-
"Escape",
|
|
13
|
-
"Enter",
|
|
14
|
-
"Home",
|
|
15
|
-
"End",
|
|
16
|
-
"ArrowLeft",
|
|
17
|
-
"ArrowRight",
|
|
18
|
-
"Clear",
|
|
19
|
-
"Copy",
|
|
20
|
-
"Paste",
|
|
21
|
-
];
|
|
22
|
-
this.decimal = false;
|
|
23
|
-
this.decimalSeparator = ".";
|
|
24
|
-
this.allowNegatives = false;
|
|
25
|
-
this.allowPaste = true;
|
|
26
|
-
this.negativeSign = "-";
|
|
27
|
-
this.min = -Infinity;
|
|
28
|
-
this.max = Infinity;
|
|
29
|
-
this.regex = null;
|
|
30
|
-
this.inputElement = el.nativeElement;
|
|
31
|
-
}
|
|
32
|
-
ngOnChanges(changes) {
|
|
33
|
-
if (changes.pattern) {
|
|
34
|
-
this.regex = this.pattern ? RegExp(this.pattern) : null;
|
|
35
|
-
}
|
|
36
|
-
if (changes.min) {
|
|
37
|
-
const maybeMin = Number(this.min);
|
|
38
|
-
this.min = 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: "18.2.13", ngImport: i0, type: DigitOnlyDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
229
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", 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: "18.2.13", ngImport: i0, type: DigitOnlyDirective, decorators: [{
|
|
232
|
-
type: Directive,
|
|
233
|
-
args: [{
|
|
234
|
-
selector: "[annaCoreDigitOnly]",
|
|
235
|
-
standalone: true,
|
|
236
|
-
}]
|
|
237
|
-
}], ctorParameters: () => [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlnaXRzLW9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvZGlyZWN0aXZlcy9kaWdpdHMtb25seS9kaWdpdHMtb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7O0FBTXJHLE1BQU0sT0FBTyxrQkFBa0I7SUE2QjNCLFlBQW1CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBNUJ6QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixtQkFBYyxHQUFHO1lBQ3JCLFdBQVc7WUFDWCxRQUFRO1lBQ1IsS0FBSztZQUNMLFFBQVE7WUFDUixPQUFPO1lBQ1AsTUFBTTtZQUNOLEtBQUs7WUFDTCxXQUFXO1lBQ1gsWUFBWTtZQUNaLE9BQU87WUFDUCxNQUFNO1lBQ04sT0FBTztTQUNWLENBQUM7UUFFTyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLHFCQUFnQixHQUFHLEdBQUcsQ0FBQztRQUN2QixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLGlCQUFZLEdBQUcsR0FBRyxDQUFDO1FBQ25CLFFBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUNoQixRQUFHLEdBQUcsUUFBUSxDQUFDO1FBRWhCLFVBQUssR0FBa0IsSUFBSSxDQUFDO1FBSWhDLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVELENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzdELENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUM1RCxDQUFDO0lBQ0wsQ0FBQztJQUdELGFBQWEsQ0FBQyxDQUFhO1FBQ3ZCLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUM1RixPQUFPLENBQUMsUUFBUTtZQUNwQixDQUFDO1lBQ0QsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUdELFNBQVMsQ0FBQyxDQUFnQjtRQUN0QixJQUNJLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSx5REFBeUQ7WUFDcEcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxnQkFBZ0I7WUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxnQkFBZ0I7WUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxnQkFBZ0I7WUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxnQkFBZ0I7WUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxxQkFBcUI7WUFDckYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsSUFBSSxxQkFBcUI7WUFDckYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FB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ekMsSUFBSSxjQUFjLElBQUksSUFBSSxJQUFJLFlBQVksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqRCxPQUFPLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDMUIsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUYsQ0FBQzsrR0F0UVEsa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQW1CWSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQXlCTixhQUFhO3NCQURaLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVl2QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQThEbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFzQmpDLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIlthbm5hQ29yZURpZ2l0T25seV1cIixcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWdpdE9ubHlEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gICAgcHJpdmF0ZSBoYXNEZWNpbWFsUG9pbnQgPSBmYWxzZTtcclxuICAgIHByaXZhdGUgaGFzTmVnYXRpdmVTaWduID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIG5hdmlnYXRpb25LZXlzID0gW1xyXG4gICAgICAgIFwiQmFja3NwYWNlXCIsXHJcbiAgICAgICAgXCJEZWxldGVcIixcclxuICAgICAgICBcIlRhYlwiLFxyXG4gICAgICAgIFwiRXNjYXBlXCIsXHJcbiAgICAgICAgXCJFbnRlclwiLFxyXG4gICAgICAgIFwiSG9tZVwiLFxyXG4gICAgICAgIFwiRW5kXCIsXHJcbiAgICAgICAgXCJBcnJvd0xlZnRcIixcclxuICAgICAgICBcIkFycm93UmlnaHRcIixcclxuICAgICAgICBcIkNsZWFyXCIsXHJcbiAgICAgICAgXCJDb3B5XCIsXHJcbiAgICAgICAgXCJQYXN0ZVwiLFxyXG4gICAgXTtcclxuXHJcbiAgICBASW5wdXQoKSBkZWNpbWFsID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBkZWNpbWFsU2VwYXJhdG9yID0gXCIuXCI7XHJcbiAgICBASW5wdXQoKSBhbGxvd05lZ2F0aXZlcyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYWxsb3dQYXN0ZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBuZWdhdGl2ZVNpZ24gPSBcIi1cIjtcclxuICAgIEBJbnB1dCgpIG1pbiA9IC1JbmZpbml0eTtcclxuICAgIEBJbnB1dCgpIG1heCA9IEluZmluaXR5O1xyXG4gICAgQElucHV0KCkgcGF0dGVybj86IHN0cmluZyB8IFJlZ0V4cDtcclxuICAgIHByaXZhdGUgcmVnZXg6IFJlZ0V4cCB8IG51bGwgPSBudWxsO1xyXG4gICAgaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZikge1xyXG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50ID0gZWwubmF0aXZlRWxlbWVudDtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXMucGF0dGVybikge1xyXG4gICAgICAgICAgICB0aGlzLnJlZ2V4ID0gdGhpcy5wYXR0ZXJuID8gUmVnRXhwKHRoaXMucGF0dGVybikgOiBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGNoYW5nZXMubWluKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1heWJlTWluID0gTnVtYmVyKHRoaXMubWluKTtcclxuICAgICAgICAgICAgdGhpcy5taW4gPSBOdW1iZXIuaXNOYU4obWF5YmVNaW4pID8gLUluZmluaXR5IDogbWF5YmVNaW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY2hhbmdlcy5tYXgpIHtcclxuICAgICAgICAgICAgY29uc3QgbWF5YmVNYXggPSBOdW1iZXIodGhpcy5tYXgpO1xyXG4gICAgICAgICAgICB0aGlzLm1heCA9IE51bWJlci5pc05hTihtYXliZU1heCkgPyBJbmZpbml0eSA6IG1heWJlTWF4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwiYmVmb3JlaW5wdXRcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgb25CZWZvcmVJbnB1dChlOiBJbnB1dEV2ZW50KTogYW55IHtcclxuICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKE51bWJlcihlLmRhdGEpKSkge1xyXG4gICAgICAgICAgICBpZiAoZS5kYXRhID09PSB0aGlzLmRlY2ltYWxTZXBhcmF0b3IgfHwgKGUuZGF0YSA9PT0gdGhpcy5uZWdhdGl2ZVNpZ24gJiYgdGhpcy5hbGxvd05lZ2F0aXZlcykpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybjsgLy8gZ28gb25cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duXCIsIFtcIiRldmVudFwiXSlcclxuICAgIG9uS2V5RG93bihlOiBLZXlib2FyZEV2ZW50KTogYW55IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvbktleXMuaW5kZXhPZihlLmtleSkgPiAtMSB8fCAvLyBBbGxvdzogbmF2aWdhdGlvbiBrZXlzOiBiYWNrc3BhY2UsIGRlbGV0ZSwgYXJyb3dzIGV0Yy5cclxuICAgICAgICAgICAgKChlLmtleSA9PT0gXCJhXCIgfHwgZS5jb2RlID09PSBcIktleUFcIikgJiYgZS5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtBXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09IFwiY1wiIHx8IGUuY29kZSA9PT0gXCJLZXlDXCIpICYmIGUuY3RybEtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IEN0cmwrQ1xyXG4gICAgICAgICAgICAoKGUua2V5ID09PSBcInZcIiB8fCBlLmNvZGUgPT09IFwiS2V5VlwiKSAmJiBlLmN0cmxLZXkgPT09IHRydWUpIHx8IC8vIEFsbG93OiBDdHJsK1ZcclxuICAgICAgICAgICAgKChlLmtleSA9PT0gXCJ4XCIgfHwgZS5jb2RlID09PSBcIktleVhcIikgJiYgZS5jdHJsS2V5ID09PSB0cnVlKSB8fCAvLyBBbGxvdzogQ3RybCtYXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09IFwiYVwiIHx8IGUuY29kZSA9PT0gXCJLZXlBXCIpICYmIGUubWV0YUtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IENtZCtBIChNYWMpXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09IFwiY1wiIHx8IGUuY29kZSA9PT0gXCJLZXlDXCIpICYmIGUubWV0YUtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IENtZCtDIChNYWMpXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09IFwidlwiIHx8IGUuY29kZSA9PT0gXCJLZXlWXCIpICYmIGUubWV0YUtleSA9PT0gdHJ1ZSkgfHwgLy8gQWxsb3c6IENtZCtWIChNYWMpXHJcbiAgICAgICAgICAgICgoZS5rZXkgPT09IFwieFwiIHx8IGUuY29kZSA9PT0gXCJLZXlYXCIpICYmIGUubWV0YUtleSA9PT0gdHJ1ZSkgLy8gQWxsb3c6IENtZCtYIChNYWMpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIC8vIGxldCBpdCBoYXBwZW4sIGRvbid0IGRvIGFueXRoaW5nXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBuZXdWYWx1ZSA9IFwiXCI7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmRlY2ltYWwgJiYgZS5rZXkgPT09IHRoaXMuZGVjaW1hbFNlcGFyYXRvcikge1xyXG4gICAgICAgICAgICBuZXdWYWx1ZSA9IHRoaXMuZm9yZWNhc3RWYWx1ZShlLmtleSk7XHJcbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZS5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICAgICAgICAgIC8vIGhhcyB0d28gb3IgbW9yZSBkZWNpbWFsIHBvaW50c1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaGFzRGVjaW1hbFBvaW50ID0gbmV3VmFsdWUuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpID4gLTE7XHJcbiAgICAgICAgICAgIHJldHVybjsgLy8gQWxsb3c6IG9ubHkgb25lIGRlY2ltYWwgcG9pbnRcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChlLmtleSA9PT0gdGhpcy5uZWdhdGl2ZVNpZ24gJiYgdGhpcy5hbGxvd05lZ2F0aXZlcykge1xyXG4gICAgICAgICAgICBuZXdWYWx1ZSA9IHRoaXMuZm9yZWNhc3RWYWx1ZShlLmtleSk7XHJcbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZS5jaGFyQXQoMCkgIT09IHRoaXMubmVnYXRpdmVTaWduIHx8IG5ld1ZhbHVlLnNwbGl0KHRoaXMubmVnYXRpdmVTaWduKS5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5oYXNOZWdhdGl2ZVNpZ24gPSBuZXdWYWx1ZS5zcGxpdCh0aGlzLm5lZ2F0aXZlU2lnbikubGVuZ3RoID4gLTE7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IGl0IGlzIGEgbnVtYmVyIGFuZCBzdG9wIHRoZSBrZXlwcmVzc1xyXG4gICAgICAgIGlmIChlLmtleSA9PT0gXCIgXCIgfHwgTnVtYmVyLmlzTmFOKE51bWJlcihlLmtleSkpKSB7XHJcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbmV3VmFsdWUgPSBuZXdWYWx1ZSB8fCB0aGlzLmZvcmVjYXN0VmFsdWUoZS5rZXkpO1xyXG4gICAgICAgIC8vIGNoZWNrIHRoZSBpbnB1dCBwYXR0ZXJuIFJlZ0V4cFxyXG4gICAgICAgIGlmICh0aGlzLnJlZ2V4KSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5yZWdleC50ZXN0KG5ld1ZhbHVlKSkge1xyXG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBuZXdOdW1iZXIgPSBOdW1iZXIobmV3VmFsdWUpO1xyXG4gICAgICAgIGlmIChuZXdOdW1iZXIgPiB0aGlzLm1heCB8fCBuZXdOdW1iZXIgPCB0aGlzLm1pbikge1xyXG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJwYXN0ZVwiLCBbXCIkZXZlbnRcIl0pXHJcbiAgICBvblBhc3RlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5hbGxvd1Bhc3RlID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIGxldCBwYXN0ZWRJbnB1dDogc3RyaW5nID0gXCJcIjtcclxuICAgICAgICAgICAgaWYgKCh3aW5kb3cgYXMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSkuY2xpcGJvYXJkRGF0YSkge1xyXG4gICAgICAgICAgICAgICAgLy8gQnJvd3NlciBpcyBJRVxyXG4gICAgICAgICAgICAgICAgcGFzdGVkSW5wdXQgPSAod2luZG93IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pLmNsaXBib2FyZERhdGEuZ2V0RGF0YShcInRleHRcIik7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuY2xpcGJvYXJkRGF0YSAmJiBldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEpIHtcclxuICAgICAgICAgICAgICAgIC8vIE90aGVyIGJyb3dzZXJzXHJcbiAgICAgICAgICAgICAgICBwYXN0ZWRJbnB1dCA9IGV2ZW50LmNsaXBib2FyZERhdGEuZ2V0RGF0YShcInRleHQvcGxhaW5cIik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMucGFzdGVEYXRhKHBhc3RlZElucHV0KTtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0aGlzIHByZXZlbnRzIHRoZSBwYXN0ZVxyXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImRyb3BcIiwgW1wiJGV2ZW50XCJdKVxyXG4gICAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB0ZXh0RGF0YSA9IGV2ZW50LmRhdGFUcmFuc2Zlcj8uZ2V0RGF0YShcInRleHRcIikgPz8gXCJcIjtcclxuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgIHRoaXMucGFzdGVEYXRhKHRleHREYXRhKTtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcGFzdGVEYXRhKHBhc3RlZENvbnRlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHNhbml0aXplZENvbnRlbnQgPSB0aGlzLnNhbml0aXplSW5wdXQocGFzdGVkQ29udGVudCk7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBzYW5pdGl6ZWRDb250ZW50LmluY2x1ZGVzKHRoaXMubmVnYXRpdmVTaWduKSAmJlxyXG4gICAgICAgICAgICB0aGlzLmhhc05lZ2F0aXZlU2lnbiAmJlxyXG4gICAgICAgICAgICAhdGhpcy5nZXRTZWxlY3Rpb24oKS5pbmNsdWRlcyh0aGlzLm5lZ2F0aXZlU2lnbilcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBwYXN0ZWQgPSBkb2N1bWVudC5leGVjQ29tbWFuZChcImluc2VydFRleHRcIiwgZmFsc2UsIHNhbml0aXplZENvbnRlbnQpO1xyXG4gICAgICAgIGlmICghcGFzdGVkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0RWxlbWVudC5zZXRSYW5nZVRleHQpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uU3RhcnQ6IHN0YXJ0LCBzZWxlY3Rpb25FbmQ6IGVuZCB9ID0gdGhpcy5pbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5zZXRSYW5nZVRleHQoc2FuaXRpemVkQ29udGVudCwgc3RhcnQgPz8gMCwgZW5kID8/IDAsIFwiZW5kXCIpO1xyXG4gICAgICAgICAgICAgICAgLy8gQW5ndWxhcidzIFJlYWN0aXZlIEZvcm0gcmVsaWVzIG9uIFwiaW5wdXRcIiBldmVudCwgYnV0IG9uIEZpcmVmb3gsXHJcbiAgICAgICAgICAgICAgICAvLyB0aGUgc2V0UmFuZ2VUZXh0IG1ldGhvZCBkb2Vzbid0IHRyaWdnZXIgaXRcclxuICAgICAgICAgICAgICAgIC8vIHNvIHdlIGhhdmUgdG8gdHJpZ2dlciBpdCBvdXJzZWxmLlxyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiAod2luZG93IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pLkluc3RhbGxUcmlnZ2VyICE9PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoXCJpbnB1dFwiLCB7IGNhbmNlbGFibGU6IHRydWUgfSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gQnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHNldFJhbmdlVGV4dCwgZS5nLiBJRVxyXG4gICAgICAgICAgICAgICAgdGhpcy5pbnNlcnRBdEN1cnNvcih0aGlzLmlucHV0RWxlbWVudCwgc2FuaXRpemVkQ29udGVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZGVjaW1hbCkge1xyXG4gICAgICAgICAgICB0aGlzLmhhc0RlY2ltYWxQb2ludCA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmluZGV4T2YodGhpcy5kZWNpbWFsU2VwYXJhdG9yKSA+IC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmhhc05lZ2F0aXZlU2lnbiA9IHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmluZGV4T2YodGhpcy5uZWdhdGl2ZVNpZ24pID4gLTE7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhlIGZvbGxvd2luZyAyIG1ldGhvZHMgd2VyZSBhZGRlZCBmcm9tIHRoZSBiZWxvdyBhcnRpY2xlIGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IHNldFJhbmdlVGV4dFxyXG4gICAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTEwNzY5NzUvaG93LXRvLWluc2VydC10ZXh0LWludG8tdGhlLXRleHRhcmVhLWF0LXRoZS1jdXJyZW50LWN1cnNvci1wb3NpdGlvblxyXG4gICAgcHJpdmF0ZSBpbnNlcnRBdEN1cnNvcihteUZpZWxkOiBIVE1MSW5wdXRFbGVtZW50LCBteVZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBzdGFydFBvcyA9IG15RmllbGQuc2VsZWN0aW9uU3RhcnQgPz8gMDtcclxuICAgICAgICBjb25zdCBlbmRQb3MgPSBteUZpZWxkLnNlbGVjdGlvbkVuZCA/PyAwO1xyXG5cclxuICAgICAgICBteUZpZWxkLnZhbHVlID1cclxuICAgICAgICAgICAgbXlGaWVsZC52YWx1ZS5zdWJzdHJpbmcoMCwgc3RhcnRQb3MpICsgbXlWYWx1ZSArIG15RmllbGQudmFsdWUuc3Vic3RyaW5nKGVuZFBvcywgbXlGaWVsZC52YWx1ZS5sZW5ndGgpO1xyXG5cclxuICAgICAgICBjb25zdCBwb3MgPSBzdGFydFBvcyArIG15VmFsdWUubGVuZ3RoO1xyXG4gICAgICAgIG15RmllbGQuZm9jdXMoKTtcclxuICAgICAgICBteUZpZWxkLnNldFNlbGVjdGlvblJhbmdlKHBvcywgcG9zKTtcclxuXHJcbiAgICAgICAgdGhpcy50cmlnZ2VyRXZlbnQobXlGaWVsZCwgXCJpbnB1dFwiKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHRyaWdnZXJFdmVudChlbDogSFRNTElucHV0RWxlbWVudCwgdHlwZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKFwiY3JlYXRlRXZlbnRcIiBpbiBkb2N1bWVudCkge1xyXG4gICAgICAgICAgICAvLyBtb2Rlcm4gYnJvd3NlcnMsIElFOStcclxuICAgICAgICAgICAgY29uc3QgZSA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiSFRNTEV2ZW50c1wiKTtcclxuICAgICAgICAgICAgZS5pbml0RXZlbnQodHlwZSwgZmFsc2UsIHRydWUpO1xyXG4gICAgICAgICAgICBlbC5kaXNwYXRjaEV2ZW50KGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGVuZCBzdGFjayBvdmVyZmxvdyBjb2RlXHJcblxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZUlucHV0KGlucHV0OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBcIlwiO1xyXG4gICAgICAgIGxldCByZWdleDtcclxuICAgICAgICBpZiAodGhpcy5kZWNpbWFsICYmIHRoaXMuaXNWYWxpZERlY2ltYWwoaW5wdXQpKSB7XHJcbiAgICAgICAgICAgIHJlZ2V4ID0gbmV3IFJlZ0V4cChgJHt0aGlzLmdldE5lZ2F0aXZlU2lnblJlZ0V4cCgpfVteMC05JHt0aGlzLmRlY2ltYWxTZXBhcmF0b3J9XWAsIFwiZ1wiKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZWdleCA9IG5ldyBSZWdFeHAoYCR7dGhpcy5nZXROZWdhdGl2ZVNpZ25SZWdFeHAoKX1bXjAtOV1gLCBcImdcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlc3VsdCA9IGlucHV0LnJlcGxhY2UocmVnZXgsIFwiXCIpO1xyXG5cclxuICAgICAgICBjb25zdCB7IG1heExlbmd0aCB9ID0gdGhpcy5pbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgaWYgKG1heExlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgLy8gdGhlIGlucHV0IGVsZW1lbnQgaGFzIG1heExlbmd0aCBsaW1pdFxyXG4gICAgICAgICAgICBjb25zdCBhbGxvd2VkTGVuZ3RoID1cclxuICAgICAgICAgICAgICAgIG1heExlbmd0aCAtIHRoaXMuaW5wdXRFbGVtZW50LnZhbHVlLmxlbmd0aCArIChyZXN1bHQuaW5jbHVkZXMoYCR7dGhpcy5uZWdhdGl2ZVNpZ259YCkgPyAxIDogMCk7XHJcbiAgICAgICAgICAgIHJlc3VsdCA9IGFsbG93ZWRMZW5ndGggPiAwID8gcmVzdWx0LnN1YnN0cmluZygwLCBhbGxvd2VkTGVuZ3RoKSA6IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXROZWdhdGl2ZVNpZ25SZWdFeHAoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGxvd05lZ2F0aXZlcyAmJiAoIXRoaXMuaGFzTmVnYXRpdmVTaWduIHx8IHRoaXMuZ2V0U2VsZWN0aW9uKCkuaW5jbHVkZXModGhpcy5uZWdhdGl2ZVNpZ24pKVxyXG4gICAgICAgICAgICA/IGAoPyFeJHt0aGlzLm5lZ2F0aXZlU2lnbn0pYFxyXG4gICAgICAgICAgICA6IFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc1ZhbGlkRGVjaW1hbChzdHJpbmc6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghdGhpcy5oYXNEZWNpbWFsUG9pbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHN0cmluZy5zcGxpdCh0aGlzLmRlY2ltYWxTZXBhcmF0b3IpLmxlbmd0aCA8PSAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB0aGUgaW5wdXQgZWxlbWVudCBhbHJlYWR5IGhhcyBhIGRlY2ltYWwgc2VwYXJhdG9yXHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUZXh0ID0gdGhpcy5nZXRTZWxlY3Rpb24oKTtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRUZXh0ICYmIHNlbGVjdGVkVGV4dC5pbmRleE9mKHRoaXMuZGVjaW1hbFNlcGFyYXRvcikgPiAtMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gc3RyaW5nLnNwbGl0KHRoaXMuZGVjaW1hbFNlcGFyYXRvcikubGVuZ3RoIDw9IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzdHJpbmcuaW5kZXhPZih0aGlzLmRlY2ltYWxTZXBhcmF0b3IpIDwgMDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFNlbGVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0RWxlbWVudC52YWx1ZS5zdWJzdHJpbmcoXHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvblN0YXJ0ID8/IDAsXHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50LnNlbGVjdGlvbkVuZCA/PyAwLFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmb3JlY2FzdFZhbHVlKGtleTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB7IHNlbGVjdGlvblN0YXJ0IH0gPSB0aGlzLmlucHV0RWxlbWVudDtcclxuICAgICAgICBjb25zdCB7IHNlbGVjdGlvbkVuZCB9ID0gdGhpcy5pbnB1dEVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC52YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHNlbGVjdGlvblN0YXJ0ID09IG51bGwgJiYgc2VsZWN0aW9uRW5kID09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG9sZFZhbHVlICsga2V5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9sZFZhbHVlLnN1YnN0cmluZygwLCBzZWxlY3Rpb25TdGFydCkgKyBrZXkgKyBvbGRWYWx1ZS5zdWJzdHJpbmcoc2VsZWN0aW9uRW5kKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostListener, Input, Renderer2 } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class FixedRowsPopupTableDirective {
|
|
4
|
-
constructor(el, renderer) {
|
|
5
|
-
this.el = el;
|
|
6
|
-
this.renderer = renderer;
|
|
7
|
-
this.popupRowHeight = 37.5;
|
|
8
|
-
this.popupHeaderHeight = 38;
|
|
9
|
-
this.maxRowsRenderedWithoutScrollForPopup = 10;
|
|
10
|
-
}
|
|
11
|
-
onWindowResize() {
|
|
12
|
-
this.setPopUpTableHeight();
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.setPopUpTableHeight();
|
|
16
|
-
}
|
|
17
|
-
setPopUpTableHeight() {
|
|
18
|
-
const viewportHeight = window.innerHeight;
|
|
19
|
-
const maxNoOfRowsToDisplay = viewportHeight < 740 ? 5 : 10;
|
|
20
|
-
this.maxRowsRenderedWithoutScrollForPopup = maxNoOfRowsToDisplay;
|
|
21
|
-
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, "max-height", `calc(${tableHeightForPopup}px)`);
|
|
26
|
-
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", 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: "18.2.13", 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: "18.2.13", ngImport: i0, type: FixedRowsPopupTableDirective, decorators: [{
|
|
31
|
-
type: Directive,
|
|
32
|
-
args: [{
|
|
33
|
-
selector: "[annaCoreFixedRowsInPopupTable]",
|
|
34
|
-
standalone: true,
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: () => [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9kaXJlY3RpdmVzL2ZpeGVkLXJvd3MtcG9wdXAtdGFibGUvZml4ZWQtcm93cy1wb3B1cC10YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTlGLE1BQU0sT0FBTyw0QkFBNEI7SUFNckMsWUFDWSxFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFQdEIsbUJBQWMsR0FBVyxJQUFJLENBQUM7UUFDOUIsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBRXhDLHlDQUFvQyxHQUFXLEVBQUUsQ0FBQztJQUsvQyxDQUFDO0lBR0osY0FBYztRQUNWLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELG1CQUFtQjtRQUNmLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDMUMsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsb0NBQW9DLEdBQUcsb0JBQW9CLENBQUM7UUFDakUsTUFBTSxxQkFBcUIsR0FDdkIsSUFBSSxDQUFDLG9DQUFvQyxHQUFHLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBRTdGLE1BQU0sbUJBQW1CLEdBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG9DQUFvQztZQUM1RCxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUI7WUFDbEcsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO1FBRWhDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxRQUFRLG1CQUFtQixLQUFLLENBQUMsQ0FBQztJQUNsRyxDQUFDOytHQWpDUSw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7dUdBRVksY0FBYztzQkFBdEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFTTixjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogXCJbYW5uYUNvcmVGaXhlZFJvd3NJblBvcHVwVGFibGVdXCIsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRml4ZWRSb3dzUG9wdXBUYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBASW5wdXQoKSBwb3B1cFJvd0hlaWdodDogbnVtYmVyID0gMzcuNTtcclxuICAgIEBJbnB1dCgpIHBvcHVwSGVhZGVySGVpZ2h0OiBudW1iZXIgPSAzODtcclxuICAgIEBJbnB1dCgpIHRhYmxlRGF0YUxlbmd0aDogbnVtYmVyO1xyXG4gICAgbWF4Um93c1JlbmRlcmVkV2l0aG91dFNjcm9sbEZvclBvcHVwOiBudW1iZXIgPSAxMDtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICkge31cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxyXG4gICAgb25XaW5kb3dSZXNpemUoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRQb3BVcFRhYmxlSGVpZ2h0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zZXRQb3BVcFRhYmxlSGVpZ2h0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UG9wVXBUYWJsZUhlaWdodCgpIHtcclxuICAgICAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgICBjb25zdCBtYXhOb09mUm93c1RvRGlzcGxheSA9IHZpZXdwb3J0SGVpZ2h0IDwgNzQwID8gNSA6IDEwO1xyXG4gICAgICAgIHRoaXMubWF4Um93c1JlbmRlcmVkV2l0aG91dFNjcm9sbEZvclBvcHVwID0gbWF4Tm9PZlJvd3NUb0Rpc3BsYXk7XHJcbiAgICAgICAgY29uc3QgdG90YWxQb3B1cFRhYmxlSGVpZ2h0ID1cclxuICAgICAgICAgICAgdGhpcy5tYXhSb3dzUmVuZGVyZWRXaXRob3V0U2Nyb2xsRm9yUG9wdXAgKiB0aGlzLnBvcHVwUm93SGVpZ2h0ICsgdGhpcy5wb3B1cEhlYWRlckhlaWdodDtcclxuXHJcbiAgICAgICAgY29uc3QgdGFibGVIZWlnaHRGb3JQb3B1cCA9XHJcbiAgICAgICAgICAgIHRoaXMudGFibGVEYXRhTGVuZ3RoIDwgdGhpcy5tYXhSb3dzUmVuZGVyZWRXaXRob3V0U2Nyb2xsRm9yUG9wdXBcclxuICAgICAgICAgICAgICAgID8gdGhpcy5wb3B1cFJvd0hlaWdodCAqICh0aGlzLnRhYmxlRGF0YUxlbmd0aCA/IHRoaXMudGFibGVEYXRhTGVuZ3RoIDogMSkgKyB0aGlzLnBvcHVwSGVhZGVySGVpZ2h0XHJcbiAgICAgICAgICAgICAgICA6IHRvdGFsUG9wdXBUYWJsZUhlaWdodDtcclxuXHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIFwibWF4LWhlaWdodFwiLCBgY2FsYygke3RhYmxlSGVpZ2h0Rm9yUG9wdXB9cHgpYCk7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostListener } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ShowEllipsisTextOnHoverDirective {
|
|
4
|
-
constructor(elementRef) {
|
|
5
|
-
this.elementRef = elementRef;
|
|
6
|
-
}
|
|
7
|
-
onMouseEnter() {
|
|
8
|
-
const 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: "18.2.13", ngImport: i0, type: ShowEllipsisTextOnHoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: ShowEllipsisTextOnHoverDirective, isStandalone: true, selector: "[annaCoreShowEllipsisTextOnHover]", host: { listeners: { "mouseenter": "onMouseEnter()" } }, ngImport: i0 }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShowEllipsisTextOnHoverDirective, decorators: [{
|
|
32
|
-
type: Directive,
|
|
33
|
-
args: [{
|
|
34
|
-
selector: "[annaCoreShowEllipsisTextOnHover]",
|
|
35
|
-
standalone: true,
|
|
36
|
-
}]
|
|
37
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onMouseEnter: [{
|
|
38
|
-
type: HostListener,
|
|
39
|
-
args: ["mouseenter"]
|
|
40
|
-
}] } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1lbGxpcHNpcy10ZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL2RpcmVjdGl2ZXMvc2hvdy1lbGxpcHNpcy10ZXh0L3Nob3ctZWxsaXBzaXMtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1wRSxNQUFNLE9BQU8sZ0NBQWdDO0lBQ3pDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRzlDLFlBQVk7UUFDUixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUNqRCxJQUFJLFVBQVUsQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUMvRixVQUFVLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxXQUFXLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO1FBQ2pHLENBQUM7YUFBTSxJQUFJLFVBQVUsQ0FBQyxLQUFLO1lBQUUsVUFBVSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsd0JBQXdCLENBQUMsVUFBbUI7UUFDeEMsZ0VBQWdFO1FBQ2hFLDJEQUEyRDtRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFcEcsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDdkQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRWpFLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxZQUFZLENBQUM7UUFDeEUsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRWhHLCtEQUErRDtRQUMvRCxnRUFBZ0U7UUFDaEUsT0FBTyxTQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDO0lBQ3pELENBQUM7K0dBekJRLGdDQUFnQzttR0FBaEMsZ0NBQWdDOzs0RkFBaEMsZ0NBQWdDO2tCQUo1QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsrRUFLRyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW2FubmFDb3JlU2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJdXCIsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hvd0VsbGlwc2lzVGV4dE9uSG92ZXJEaXJlY3RpdmUge1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICAgIEBIb3N0TGlzdGVuZXIoXCJtb3VzZWVudGVyXCIpXHJcbiAgICBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3QgZG9tRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xyXG4gICAgICAgIGlmIChkb21FbGVtZW50Lm9mZnNldFdpZHRoIDwgZG9tRWxlbWVudC5zY3JvbGxXaWR0aCB8fCB0aGlzLmNoZWNrUG9zaXRpb25zSW5EZWNpbWFscyhkb21FbGVtZW50KSkge1xyXG4gICAgICAgICAgICBkb21FbGVtZW50LnRpdGxlID0gZG9tRWxlbWVudC50ZXh0Q29udGVudCA9PT0gXCJcIiA/IGRvbUVsZW1lbnQudmFsdWUgOiBkb21FbGVtZW50LnRleHRDb250ZW50O1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZG9tRWxlbWVudC50aXRsZSkgZG9tRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoXCJ0aXRsZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICBjaGVja1Bvc2l0aW9uc0luRGVjaW1hbHMoZG9tRWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIC8vIGlmIHdlIGRvbid0IGhhdmUgYW55IGNoaWxkcmVuIGVsZW1lbnQgVGhlbiB3ZSBjYW4ndCBjYWxjdWxhdGVcclxuICAgICAgICAvLyBhbmQgY29tcGFyZSBhbnl0aGluZyBzbyB3ZSBhcmUgcmV0dXJuaW5nIGZhbHNlIGZyb20gaGVyZVxyXG4gICAgICAgIGlmICghZG9tRWxlbWVudC5jaGlsZHJlbiB8fCAoZG9tRWxlbWVudC5jaGlsZHJlbiAmJiBkb21FbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkpIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAgICAgY29uc3QgZWxlbWVudFJlY3QgPSBkb21FbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgICAgIGNvbnN0IGNoaWxkUmVjdCA9IGRvbUVsZW1lbnQuY2hpbGRyZW5bMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhZGRpbmdPblJpZ2h0ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9tRWxlbWVudCkucGFkZGluZ1JpZ2h0O1xyXG4gICAgICAgIGNvbnN0IHBhZGRpbmcgPSArKHBhZGRpbmdPblJpZ2h0LmVuZHNXaXRoKFwicHhcIikgPyBwYWRkaW5nT25SaWdodC5zbGljZSgwLCAtMikgOiBwYWRkaW5nT25SaWdodCk7XHJcblxyXG4gICAgICAgIC8vIElmIG92ZXJmbG93IGhhcHBlbnMgdGhlbiBDaGlsZCBlbGVtZW50J3MgcmlnaHQgc2lkZSBwb3NpdGlvblxyXG4gICAgICAgIC8vIHdpbGwgYmUgZ3JlYXRlciB0aGFuIGNvbnRhaW5lciBlbGVtZW50J3MgcmlnaHQgc2lkZSBwb3NpdGlvbi5cclxuICAgICAgICByZXR1cm4gY2hpbGRSZWN0LnJpZ2h0ICsgcGFkZGluZyA+IGVsZW1lbnRSZWN0LnJpZ2h0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLWRhdGEtdHlwZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL21vZGVscy9hbm5hLWdlbmVyaWMtZGF0YS10eXBlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFdlZWtPYmplY3Qge1xyXG4gICAgc3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICBlbmREYXRlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsbGVyR3JvdXBIaWVyYXJjaHkge1xyXG4gICAgaW52ZW50b3J5Q29kZTogc3RyaW5nO1xyXG4gICAgcHJvZ3JhbTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJhdGluZ1NlbGxlckdyb3VwSGllcmFyY2h5IHtcclxuICAgIEludmVudG9yeUNvZGU6IHN0cmluZztcclxuICAgIFByb2dyYW06IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEd0Q29sdW1uSWNvbkVtaXR0ZWREYXRhIHtcclxuICAgIGRhdGE6IGFueTtcclxuICAgIGtleTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtZHJvcGRvd24tY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJUmFkaW9CdXR0b24ge1xyXG4gICAgdmFsdWU6IGFueTtcclxuICAgIGlzRGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgICBsYWJlbDogc3RyaW5nO1xyXG4gICAgY2xhc3M6IHN0cmluZztcclxuICAgIHRvb2x0aXA/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUFuZ3VsYXIyTXVsdGlTZWxlY3RTZXR0aW5ncyB7XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbiAgICBzZWxlY3RBbGxUZXh0OiBzdHJpbmc7XHJcbiAgICB1blNlbGVjdEFsbFRleHQ6IHN0cmluZztcclxuICAgIGJhZGdlU2hvd0xpbWl0OiBudW1iZXI7XHJcbiAgICBzaW5nbGVTZWxlY3Rpb246IGJvb2xlYW47XHJcbiAgICBjbGFzc2VzOiBzdHJpbmc7XHJcbiAgICBlbmFibGVTZWFyY2hGaWx0ZXI6IGJvb2xlYW47XHJcbiAgICBlbmFibGVDaGVja0FsbDogYm9vbGVhbjtcclxuICAgIGF1dG9Qb3NpdGlvbjogYm9vbGVhbjtcclxuICAgIHBvc2l0aW9uOiBzdHJpbmc7XHJcbiAgICBsYXp5TG9hZGluZzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkOiBib29sZWFuO1xyXG4gICAgc2hvd0NoZWNrYm94OiBib29sZWFuO1xyXG4gICAgZW5hYmxlRmlsdGVyU2VsZWN0QWxsOiBib29sZWFuO1xyXG4gICAgbWF4SGVpZ2h0OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU5neEFzaWRlU2V0dGluZ3Mge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIGNhbmNlbEJ1dHRvblRpdGxlOiBzdHJpbmc7XHJcbiAgICBzdWJtaXRCdXR0b25UaXRsZTogc3RyaW5nO1xyXG4gICAgY2xvc2VPbkVzY2FwZTogYm9vbGVhbjtcclxuICAgIHNob3dPdmVybGF5OiBib29sZWFuO1xyXG4gICAgc2hvd0RlZmF1bHRGb290ZXI6IGJvb2xlYW47XHJcbiAgICBzaG93RGVmYXVsdEhlYWRlcjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJTmdiRGF0ZVBpY2tlclNldHRpbmdzIHtcclxuICAgIGF1dG9DbG9zZTogYm9vbGVhbjtcclxuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgICBkaXNwbGF5TW9udGhzOiBudW1iZXI7XHJcbiAgICBmaXJzdERheU9mV2VlazogbnVtYmVyO1xyXG4gICAgc2hvd1dlZWtOdW1iZXJzOiBib29sZWFuO1xyXG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU5nU2VsZWN0U2V0dGluZ3Mge1xyXG4gICAgYWxsb3dDbGVhcjogYm9vbGVhbjtcclxuICAgIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU5neEluZmluaXRlU2Nyb2xsU2V0dGluZ3Mge1xyXG4gICAgaW5maW5pdGVTY3JvbGxEaXN0YW5jZTogbnVtYmVyO1xyXG4gICAgaW5maW5pdGVTY3JvbGxVcERpc3RhbmNlOiBudW1iZXI7XHJcbiAgICBpbmZpbml0ZVNjcm9sbFRocm90dGxlOiBudW1iZXI7XHJcbiAgICBzY3JvbGxXaW5kb3c6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSU5neFNrZWxldG9uTG9hZGVyU2V0dGluZ3Mge1xyXG4gICAgbnVtYmVyT2ZTa2VsZXRvblJvd3M6IG51bWJlcltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElSYWRpb0J1dHRvbkNvbXBvbmVudENvbmZpZyB7XHJcbiAgICBoZWFkaW5nPzogc3RyaW5nO1xyXG4gICAgcmFkaW9CdXR0b25zOiBJUmFkaW9CdXR0b25bXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29uZmlybWF0aW9uUG9wdXBDb25maWcge1xyXG4gICAgc2hvd0NhbmNlbEJ1dHRvbjogYm9vbGVhbjtcclxuICAgIHRpdGxlOiBzdHJpbmc7XHJcbiAgICBzdWJUaXRsZT86IHN0cmluZztcclxuICAgIHNob3dDb25maXJtQnV0dG9uOiBib29sZWFuO1xyXG4gICAgY2FuY2VsQnV0dG9uTGFiZWw6IHN0cmluZztcclxuICAgIGNvbmZpcm1CdXR0b25MYWJlbDogc3RyaW5nO1xyXG4gICAgc2hvd0Nsb3NlSWNvbjogYm9vbGVhbjtcclxuICAgIHdpbmRvd0NsYXNzOiBzdHJpbmc7XHJcbiAgICBiYWNrZHJvcDogXCJzdGF0aWNcIiB8IGJvb2xlYW47XHJcbiAgICBzaXplOiBcInNtXCIgfCBcImxnXCI7XHJcbiAgICBrZXlib2FyZDogYm9vbGVhbjtcclxuICAgIGNlbnRlcmVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJV2Vla0NhbGVuZGFyIHtcclxuICAgIGZpcnN0RGF5T2ZXZWVrPzogbnVtYmVyO1xyXG4gICAgbnVtYmVyT2ZNb250aHNUb0VuYWJsZUluUGFzdDogbnVtYmVyO1xyXG4gICAgc2VsZWN0TXVsdGlwbGVXZWVrczogYm9vbGVhbjtcclxuICAgIHNob3dXZWVrTnVtYmVycz86IGJvb2xlYW47XHJcbiAgICBkYXRlRm9ybWF0VG9EaXNwbGF5Pzogc3RyaW5nO1xyXG4gICAgbWF4V2Vla3NUb1Nob3dXaXRoUmVtYWluaW5nQ291bnQ/OiBudW1iZXI7XHJcbiAgICBjdXN0b21DbGFzcz86IHN0cmluZztcclxuICAgIGVtaXRNdWx0aXBsZVdlZWtPYmplY3RzPzogYm9vbGVhbjtcclxuICAgIGVtaXRJbml0aWFsU2VsZWN0aW9uPzogYm9vbGVhbjtcclxuICAgIGRhdGVGb3JtYXRGb3JSZXF1ZXN0Pzogc3RyaW5nO1xyXG4gICAgbWF4V2Vla3NUb1NlbGVjdD86IG51bWJlcjtcclxuICAgIHNob3dBc0Ryb3Bkb3duOiBib29sZWFuO1xyXG4gICAgc2VsZWN0Q3VycmVudFdlZWs6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVNpbmdsZVNlbGVjdCB7XHJcbiAgICBzaG93U2VhcmNoQmFyOiBib29sZWFuO1xyXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIGNsYXNzZXM6IHN0cmluZztcclxuICAgIHBvc2l0aW9uOiBQb3NpdGlvbjtcclxuICAgIG1heEhlaWdodE9mTGlzdDogbnVtYmVyOyAvLyBweCB2YWx1ZVxyXG4gICAgbWluSGVpZ2h0T2ZMaXN0PzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDdXN0b21NdWx0aVNlbGVjdCBleHRlbmRzIElDdXN0b21TaW5nbGVTZWxlY3Qge1xyXG4gICAgc2hvd0Vycm9yV2hlbk5vT3B0aW9uU2VsZWN0ZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbnR5cGUgUG9zaXRpb24gPSBcIlRPUFwiIHwgXCJCT1RUT01cIjtcclxuIl19
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
export class SvgOrIconTypeInGTTable {
|
|
2
|
-
constructor(data) {
|
|
3
|
-
this.showObjectKey = data.showObjectKey;
|
|
4
|
-
this.svgOrIconName = data.svgOrIconName;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
export var SvgOrIconNames;
|
|
8
|
-
(function (SvgOrIconNames) {
|
|
9
|
-
SvgOrIconNames["PAY_FOR_PERFORMANCE_ACTIVE"] = "PAY_FOR_PERFORMANCE_ACTIVE";
|
|
10
|
-
SvgOrIconNames["AUTOMATED"] = "AUTOMATED";
|
|
11
|
-
SvgOrIconNames["DELETED_ORDER"] = "DELETED_ORDER";
|
|
12
|
-
SvgOrIconNames["WARNING_ICON"] = "WARNING_ICON";
|
|
13
|
-
SvgOrIconNames["INFORMATION_OUTLINE_ICON"] = "INFORMATION_OUTLINE_ICON";
|
|
14
|
-
SvgOrIconNames["ALERT_OCTAGON_ICON"] = "ALERT_OCTAGON_ICON";
|
|
15
|
-
SvgOrIconNames["CANCEL_ICON"] = "CANCEL_ICON";
|
|
16
|
-
SvgOrIconNames["ALPHA_B_CIRCLE"] = "ALPHA_B_CIRCLE";
|
|
17
|
-
SvgOrIconNames["ALPHA_R_CIRCLE"] = "ALPHA_R_CIRCLE";
|
|
18
|
-
SvgOrIconNames["ALPHA_E_CIRCLE"] = "ALPHA_E_CIRCLE";
|
|
19
|
-
SvgOrIconNames["ALPHA_A_CIRCLE"] = "ALPHA_A_CIRCLE";
|
|
20
|
-
})(SvgOrIconNames || (SvgOrIconNames = {}));
|
|
21
|
-
export class ClickableItem {
|
|
22
|
-
constructor(typeOfActionLinkForGt, name, className, showTooltip, tooltipData) {
|
|
23
|
-
this.id = typeOfActionLinkForGt;
|
|
24
|
-
this.name = name;
|
|
25
|
-
this.class = className;
|
|
26
|
-
this.showTooltip = showTooltip;
|
|
27
|
-
this.tooltipData = tooltipData;
|
|
28
|
-
this.enableTooltipForAdditionalText = false;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
export class IconCellActionKey {
|
|
32
|
-
constructor(id, showIcon, iconClass, showObjectKey, showTooltip, tooltipData) {
|
|
33
|
-
this.showIcon = true;
|
|
34
|
-
this.id = id;
|
|
35
|
-
this.showIcon = showIcon;
|
|
36
|
-
this.iconClass = iconClass;
|
|
37
|
-
this.showObjectKey = showObjectKey;
|
|
38
|
-
this.showTooltip = showTooltip;
|
|
39
|
-
this.tooltipData = tooltipData;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
export class TableClassNameConstant {
|
|
43
|
-
static { this.defaultClass = "table-body-row "; }
|
|
44
|
-
static { this.selectedRow = "selected-row "; }
|
|
45
|
-
static { this.selectableRow = "selectable-row "; }
|
|
46
|
-
static { this.lastRowOfGroup = "last-row-of-group "; }
|
|
47
|
-
static { this.mgRow = "mg-row "; }
|
|
48
|
-
static { this.redColorCellBorder = "redcolor-cell-border "; }
|
|
49
|
-
static { this.redColorCellBorderForBookedRtgImpsCol = " redcolor-cell-border-rtg-imps-col"; }
|
|
50
|
-
static { this.greenColorCellBorder = "greencolor-cell-border "; }
|
|
51
|
-
static { this.yellowColorCellBorder = "yellowcolor-cell-border"; }
|
|
52
|
-
static { this.orangeColorCellBorder = "orangecolor-cell-border "; }
|
|
53
|
-
static { this.redColorStatus = "redcolor-status "; }
|
|
54
|
-
static { this.groupedTableClass = "grouped-table-container "; }
|
|
55
|
-
}
|
|
56
|
-
export class EllipsisWithTableTooltip {
|
|
57
|
-
constructor(heading, tableHeaders, tableData, cellValue, tooltipText, showTooltip, tooltipClass) {
|
|
58
|
-
this.tooltipHeader = heading;
|
|
59
|
-
this.tableHeaders = tableHeaders;
|
|
60
|
-
this.tableData = tableData;
|
|
61
|
-
this.cellValue = cellValue;
|
|
62
|
-
this.tooltipHoverText = tooltipText;
|
|
63
|
-
this.showTooltip = showTooltip;
|
|
64
|
-
this.tooltipClass = tooltipClass;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1ub24tZWRpdGFibGUtZ3QtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtbm9uLWVkaXRhYmxlLWd0LW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFzRUEsTUFBTSxPQUFPLHNCQUFzQjtJQUcvQixZQUFZLElBQXVEO1FBQy9ELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUMsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFOLElBQVksY0FZWDtBQVpELFdBQVksY0FBYztJQUN0QiwyRUFBeUQsQ0FBQTtJQUN6RCx5Q0FBdUIsQ0FBQTtJQUN2QixpREFBK0IsQ0FBQTtJQUMvQiwrQ0FBNkIsQ0FBQTtJQUM3Qix1RUFBcUQsQ0FBQTtJQUNyRCwyREFBeUMsQ0FBQTtJQUN6Qyw2Q0FBMkIsQ0FBQTtJQUMzQixtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtJQUNqQyxtREFBaUMsQ0FBQTtBQUNyQyxDQUFDLEVBWlcsY0FBYyxLQUFkLGNBQWMsUUFZekI7QUE0RUQsTUFBTSxPQUFPLGFBQWE7SUFTdEIsWUFDSSxxQkFBMEIsRUFDMUIsSUFBWSxFQUNaLFNBQWlCLEVBQ2pCLFdBQW9CLEVBQ3BCLFdBQTJDO1FBRTNDLElBQUksQ0FBQyxFQUFFLEdBQUcscUJBQXFCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLDhCQUE4QixHQUFHLEtBQUssQ0FBQztJQUNoRCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBUTFCLFlBQ0ksRUFBTyxFQUNQLFFBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLGFBQXNCLEVBQ3RCLFdBQW9CLEVBQ3BCLFdBQW9CO1FBWnhCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFjckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNuQyxDQUFDO0NBQ0o7QUFnREQsTUFBTSxPQUFPLHNCQUFzQjthQUNmLGlCQUFZLEdBQUcsaUJBQWlCLENBQUM7YUFDakMsZ0JBQVcsR0FBRyxlQUFlLENBQUM7YUFDOUIsa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQzthQUNsQyxtQkFBYyxHQUFHLG9CQUFvQixDQUFDO2FBQ3RDLFVBQUssR0FBRyxTQUFTLENBQUM7YUFDbEIsdUJBQWtCLEdBQUcsdUJBQXVCLENBQUM7YUFDN0MsMENBQXFDLEdBQUcsb0NBQW9DLENBQUM7YUFDN0UseUJBQW9CLEdBQUcseUJBQXlCLENBQUM7YUFDakQsMEJBQXFCLEdBQUcseUJBQXlCLENBQUM7YUFDbEQsMEJBQXFCLEdBQUcsMEJBQTBCLENBQUM7YUFDbkQsbUJBQWMsR0FBRyxrQkFBa0IsQ0FBQzthQUVwQyxzQkFBaUIsR0FBRywwQkFBMEIsQ0FBQzs7QUFHbkUsTUFBTSxPQUFPLHdCQUF3QjtJQVNqQyxZQUNJLE9BQWUsRUFDZixZQUFtQyxFQUNuQyxTQUFnQixFQUNoQixTQUFpQixFQUNqQixXQUFtQixFQUNuQixXQUFvQixFQUNwQixZQUFvQjtRQUVwQixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ3JDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpbmdsZVNlbGVjdElkVGV4dCB9IGZyb20gXCIuLi8uLi9hbm5hLWRyb3Bkb3duLWxpYi9jb21wb25lbnRzL2FubmEtc2luZ2xlLXNlbGVjdC9tb2RlbHMvYW5uYS1zaW5nbGUtc2VsZWN0Lm1vZGVsXCI7XHJcbmltcG9ydCB7IElDdXN0b21TaW5nbGVTZWxlY3QsIElXZWVrQ2FsZW5kYXIgfSBmcm9tIFwiLi9hbm5hLWdsb2JhbC1kcm9wZG93bi1jb25maWcubW9kZWxcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUd0VGFibGVIZWFkZXIge1xyXG4gICAgaGVhZGVySW5mbzogSUhlYWRlckluZm9bXTtcclxuICAgIHZpc2libGU6IGJvb2xlYW47XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElIZWFkZXJJbmZvIHtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIG9iamVjdEtleTogc3RyaW5nO1xyXG4gICAgYWN0aW9uS2V5Pzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcEtleT86IHN0cmluZztcclxuICAgIGlzRGlzYWJsZWRLZXk/OiBzdHJpbmc7XHJcbiAgICB0eXBlT2ZIZWFkZXJEYXRhOiBEQVRBVFlQRTtcclxuICAgIHR5cGVPZkJvZHlEYXRhOiBEQVRBVFlQRTtcclxuICAgIGZpbHRlcj86IEZJTFRFUlRZUEU7XHJcbiAgICBmaWx0ZXJTb3J0T2JqZWN0S2V5cz86IHN0cmluZ1tdO1xyXG4gICAgaXNTb3J0UmVxdWlyZWQ/OiBib29sZWFuW107XHJcbiAgICBpc0ZpbHRlclJlcXVpcmVkPzogYm9vbGVhbltdO1xyXG4gICAgc2hvd1Rvb2x0aXBJY29uOiBib29sZWFuO1xyXG4gICAgZGlzYWJsZVRvb2x0aXBJY29uPzogYm9vbGVhbjtcclxuICAgIHRvb2x0aXA/OiBJVG9vbHRpcDtcclxuICAgIGpvaW5lZEZpbHRlclNvcnRPYmplY3RLZXlzPzogc3RyaW5nO1xyXG4gICAgc2hvd1NwbGl0ZWRPcHRpb25zSW5GaWx0ZXI/OiBib29sZWFuW107XHJcbiAgICAvLyBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IHNwbGl0IG9wdGlvbnMgaW4gYSBjaGVja2JveCBmaWx0ZXIuXHJcbiAgICAvLyBXaGVuIHNldCB0byB0cnVlLCB0aGUgdmFsdWVzIGluIHRoZSBmaWx0ZXIgd2lsbCBiZSBzcGxpdCBpbnRvIGluZGl2aWR1YWwgb3B0aW9ucy5cclxuICAgIC8vIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGhhcyB2YWx1ZXMgbGlrZSBcIkExOCssIEEzNStcIiwgaXQgd2lsbCBzcGxpdCB0aGVtIGludG8gdHdvIHNlcGFyYXRlIG9wdGlvbnMgKFwiQTE4K1wiIGFuZCBcIkEzNStcIikgaW4gdGhlIGNoZWNrYm94IGZpbHRlci5cclxuXHJcbiAgICBzcGxpdERlbGltaXRlcj86IHN0cmluZ1tdO1xyXG4gICAgLy8gRGVmaW5lcyB0aGUga2V5IG9yIGxvZ2ljIHVzZWQgdG8gc3BsaXQgdGhlIHZhbHVlcyBpbiB0aGUgY2hlY2tib3ggZmlsdGVyIHdoZW4gYHNob3dTcGxpdGVkT3B0aW9uc0luRmlsdGVyYCBpcyB0cnVlLlxyXG4gICAgLy8gVGhpcyBrZXkgZGV0ZXJtaW5lcyBob3cgdGhlIHZhbHVlcyBhcmUgc3BsaXQuIEZvciBleGFtcGxlLCBpZiB0aGUgZmlsdGVyIGNvbnRhaW5zIFwiQTE4KywgQTM1K1wiIGFuZCBgc3BsaXREZWxpbWl0ZXJgIGlzIHNldCB0byBhIGNvbW1hIG9yIHBsdXMgc2lnbiAoJysnKSxcclxuICAgIC8vIHRoZSBmaWx0ZXIgd2lsbCBnZW5lcmF0ZSBzZXBhcmF0ZSBvcHRpb25zIGZvciBcIkExOCtcIiBhbmQgXCJBMzUrXCIgYmFzZWQgb24gdGhlIHNwbGl0IGRlbGltaXRlci5cclxufVxyXG5cclxudHlwZSBEQVRBVFlQRSA9XHJcbiAgICB8IFwiQ0hFQ0tCT1hcIlxyXG4gICAgfCBcIklDT05cIlxyXG4gICAgfCBcIlNUUklOR1wiXHJcbiAgICB8IFwiUkFESU9cIlxyXG4gICAgfCBcIlwiXHJcbiAgICB8IFwiU1ZHX0lDT05cIlxyXG4gICAgfCBcIlRFWFRfQUNUSU9OU1wiXHJcbiAgICB8IFwiQ0xJQ0tBQkxFX0RBVEFcIlxyXG4gICAgfCBcIlNUUklOR19fVEVYVF9BQ1RJT05cIlxyXG4gICAgfCBcIlNUUklOR19fSUNPTl9BQ1RJT05cIlxyXG4gICAgfCBcIlNUUklOR19fX0lDT05fT1JfVEVYVF9BQ1RJT05cIlxyXG4gICAgfCBcIkhUTUxcIlxyXG4gICAgfCBcIkhUTUxfU1RSSU5HXCJcclxuICAgIHwgXCJJQ09OX0NFTExcIlxyXG4gICAgfCBcIlNUUklOR19PUl9JTlBVVFwiXHJcbiAgICB8IFwiU0lOR0xFX1JBRElPXCJcclxuICAgIHwgXCJTVFJJTkdfV0lUSF9UT09MVElQXCJcclxuICAgIHwgXCJTVFJJTkdfV0lUSF9FTExJUFNJU19BTkRfUkVBRF9NT1JFX1RPT0xUSVBcIlxyXG4gICAgfCBcIlNUUklOR19FTExJUFNJU19XSVRIX1RBQkxFX1RPT0xUSVBcIlxyXG4gICAgfCBcIlNUUklOR19XSVRIX1RPT0xUSVBfSU5ORVJfSFRNTFwiXHJcbiAgICB8IFwiSUNPTl9DRUxMX0FORF9TVFJJTkdfV0lUSF9FTExJUFNJU19BTkRfUkVBRF9NT1JFX1RPT0xUSVBcIlxyXG4gICAgfCBcIlNJTkdMRV9TRUxFQ1RfRFJPUERPV05cIjtcclxuXHJcbnR5cGUgRklMVEVSVFlQRSA9IFwiQ0hFQ0tCT1hcIiB8IFwiU0xJREVSXCIgfCBcIkRBVEVcIiB8IFwiVElNRVwiIHwgXCJXRUVLXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElTdmdPckljb25UeXBlSW5HVFRhYmxlIHtcclxuICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW47XHJcbiAgICBzdmdPckljb25OYW1lPzogc3RyaW5nO1xyXG4gICAgc3ZnT3JJY29uVG9vbHRpcE1zZz86IHN0cmluZztcclxuICAgIGFkZGl0aW9uYWxUZXh0Pzogc3RyaW5nO1xyXG4gICAgYWRkaXRpb25hbFRleHRDbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFN2Z09ySWNvblR5cGVJbkdUVGFibGUge1xyXG4gICAgc2hvd09iamVjdEtleTogYm9vbGVhbjtcclxuICAgIHN2Z09ySWNvbk5hbWU/OiBzdHJpbmc7XHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiB7IHNob3dPYmplY3RLZXk6IGJvb2xlYW47IHN2Z09ySWNvbk5hbWU6IHN0cmluZyB9KSB7XHJcbiAgICAgICAgdGhpcy5zaG93T2JqZWN0S2V5ID0gZGF0YS5zaG93T2JqZWN0S2V5O1xyXG4gICAgICAgIHRoaXMuc3ZnT3JJY29uTmFtZSA9IGRhdGEuc3ZnT3JJY29uTmFtZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGVudW0gU3ZnT3JJY29uTmFtZXMge1xyXG4gICAgUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkUgPSBcIlBBWV9GT1JfUEVSRk9STUFOQ0VfQUNUSVZFXCIsXHJcbiAgICBBVVRPTUFURUQgPSBcIkFVVE9NQVRFRFwiLFxyXG4gICAgREVMRVRFRF9PUkRFUiA9IFwiREVMRVRFRF9PUkRFUlwiLFxyXG4gICAgV0FSTklOR19JQ09OID0gXCJXQVJOSU5HX0lDT05cIixcclxuICAgIElORk9STUFUSU9OX09VVExJTkVfSUNPTiA9IFwiSU5GT1JNQVRJT05fT1VUTElORV9JQ09OXCIsXHJcbiAgICBBTEVSVF9PQ1RBR09OX0lDT04gPSBcIkFMRVJUX09DVEFHT05fSUNPTlwiLFxyXG4gICAgQ0FOQ0VMX0lDT04gPSBcIkNBTkNFTF9JQ09OXCIsXHJcbiAgICBBTFBIQV9CX0NJUkNMRSA9IFwiQUxQSEFfQl9DSVJDTEVcIixcclxuICAgIEFMUEhBX1JfQ0lSQ0xFID0gXCJBTFBIQV9SX0NJUkNMRVwiLFxyXG4gICAgQUxQSEFfRV9DSVJDTEUgPSBcIkFMUEhBX0VfQ0lSQ0xFXCIsXHJcbiAgICBBTFBIQV9BX0NJUkNMRSA9IFwiQUxQSEFfQV9DSVJDTEVcIixcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVG90YWxSb3dJbmZvIHtcclxuICAgIGNvbHNwYW46IG51bWJlcjtcclxuICAgIGRhdGE6IHN0cmluZztcclxuICAgIGxvd2VyRGF0YT86IHN0cmluZztcclxuICAgIGNvbE5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzPzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcE1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgICBhZGRpdGlvbmFsUmVkVGV4dEFmdGVyRGF0YT86IHN0cmluZztcclxuICAgIGlzQWN0aW9uQ29sdW1uPzogYm9vbGVhbjtcclxuICAgIGFjdGlvbkRhdGE/OiBDbGlja2FibGVJdGVtW107XHJcbiAgICBpc0ljb25Db2x1bW4/OiBib29sZWFuO1xyXG4gICAgaWNvbkRhdGE/OiB7IGNsYXNzOiBzdHJpbmc7IGRpc2FibGVkPzogYm9vbGVhbiB9O1xyXG4gICAgdG9vbHRpcEljb25DbGFzcz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJR3RIZWFkZXJDb25maWcge1xyXG4gICAgaWNvbkNvbHVtbjogYm9vbGVhbjtcclxuICAgIGNoZWNrYm94Q29sdW1uOiBib29sZWFuO1xyXG4gICAgbGFzdENvbHVtbktleXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdEdlbmVyYWxDb25maWcgZXh0ZW5kcyBJU3BvdFRhYmxlQ29uZmlnIHtcclxuICAgIGNvbXBvbmVudDogQ09NUE9ORU5UTkFNRTtcclxuICAgIHRvdGFsUm93OiBib29sZWFuO1xyXG4gICAgaXNIZWFkZXJDaGVja2VkPzogYm9vbGVhbjtcclxuICAgIGRpc2FibGVIZWFkZXJDaGVja2JveD86IGJvb2xlYW47XHJcbiAgICBtdWx0aVdlZWtQaWNrZXJDb25maWc/OiBJV2Vla0NhbGVuZGFyO1xyXG4gICAgdmVydGljYWxTY3JvbGxPZmZzZXRGb3JGaWx0ZXJUb29sdGlwPzogbnVtYmVyO1xyXG4gICAgdGFibGVDb250YWluZXJOYW1lPzogc3RyaW5nO1xyXG4gICAgdGFibGVPdXRlckNvbnRhaW5lck5hbWU/OiBzdHJpbmc7XHJcbiAgICBzaG93QWxsQ29sdW1uRmlsdGVyOiBib29sZWFuO1xyXG4gICAgYnVmZmVyU2l6ZTogbnVtYmVyO1xyXG4gICAgcGFnZTogc3RyaW5nO1xyXG59XHJcblxyXG50eXBlIENPTVBPTkVOVE5BTUUgPVxyXG4gICAgfCBcIlNQT1RERVRBSUxTXCJcclxuICAgIHwgXCJFWENMVURFSU5WRU5UT1JZUE9QVVBcIlxyXG4gICAgfCBcIkVYQ0xVREVJTlZFTlRPUllcIlxyXG4gICAgfCBcIkRSUkxJU1RJTkdcIlxyXG4gICAgfCBcIkRSUlwiXHJcbiAgICB8IFwiXCJcclxuICAgIHwgXCJSQVRJTkdcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfSU5GTElHSFRcIlxyXG4gICAgfCBcIk9SREVSX0xJU1RJTkdfQ09NUExFVEVEXCJcclxuICAgIHwgXCJPUkRFUl9MSVNUSU5HX0JMQU5LXCJcclxuICAgIHwgXCJMVVJfVklPTEFUSU9OU1wiXHJcbiAgICB8IFwiQUNUSVZJVFlMT0dcIlxyXG4gICAgfCBcIk5PVElGSUNBVElPTlNcIlxyXG4gICAgfCBcIkRQX1JFU1RSSUNUSU9OU1wiO1xyXG5pbnRlcmZhY2UgSVNwb3RUYWJsZUNvbmZpZyB7XHJcbiAgICBpc0dyb3VwZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXAge1xyXG4gICAgaWNvblBvc2l0aW9uOiBcImxlZnRcIiB8IFwicmlnaHRcIiB8IFwiYWJvdmVcIiB8IFwiYmVsb3dcIiB8IFwiYmVmb3JlXCIgfCBcImFmdGVyXCI7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwUG9zaXRpb246IHN0cmluZztcclxuICAgIGljb25DbGFzczogc3RyaW5nO1xyXG4gICAgdG9vbHRpcENsYXNzOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwTWVzc2FnZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJY29uRGF0YSB7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICBpY29uQ2xhc3M6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHRBY3Rpb24ge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIG5hbWU6IHN0cmluZztcclxuICAgIGNsYXNzOiBzdHJpbmc7XHJcbiAgICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ2xpY2thYmxlSXRlbSB7XHJcbiAgICBpZDogYW55O1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgaXNEaXNhYmxlZDogYm9vbGVhbjtcclxuICAgIGNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH07XHJcbiAgICBlbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQ6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgdHlwZU9mQWN0aW9uTGlua0Zvckd0OiBhbnksXHJcbiAgICAgICAgbmFtZTogc3RyaW5nLFxyXG4gICAgICAgIGNsYXNzTmFtZTogc3RyaW5nLFxyXG4gICAgICAgIHNob3dUb29sdGlwOiBib29sZWFuLFxyXG4gICAgICAgIHRvb2x0aXBEYXRhOiB7IGtleTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0sXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmlkID0gdHlwZU9mQWN0aW9uTGlua0Zvckd0O1xyXG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICAgICAgdGhpcy5jbGFzcyA9IGNsYXNzTmFtZTtcclxuICAgICAgICB0aGlzLnNob3dUb29sdGlwID0gc2hvd1Rvb2x0aXA7XHJcbiAgICAgICAgdGhpcy50b29sdGlwRGF0YSA9IHRvb2x0aXBEYXRhO1xyXG4gICAgICAgIHRoaXMuZW5hYmxlVG9vbHRpcEZvckFkZGl0aW9uYWxUZXh0ID0gZmFsc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJY29uQ2VsbEFjdGlvbktleSB7XHJcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nO1xyXG4gICAgc2hvd0ljb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgaWNvbkNsYXNzOiBzdHJpbmc7XHJcbiAgICBzaG93T2JqZWN0S2V5OiBib29sZWFuO1xyXG4gICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XHJcbiAgICB0b29sdGlwRGF0YT86IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBpZDogYW55LFxyXG4gICAgICAgIHNob3dJY29uOiBib29sZWFuLFxyXG4gICAgICAgIGljb25DbGFzczogc3RyaW5nLFxyXG4gICAgICAgIHNob3dPYmplY3RLZXk6IGJvb2xlYW4sXHJcbiAgICAgICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sXHJcbiAgICAgICAgdG9vbHRpcERhdGE/OiBzdHJpbmcsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmlkID0gaWQ7XHJcbiAgICAgICAgdGhpcy5zaG93SWNvbiA9IHNob3dJY29uO1xyXG4gICAgICAgIHRoaXMuaWNvbkNsYXNzID0gaWNvbkNsYXNzO1xyXG4gICAgICAgIHRoaXMuc2hvd09iamVjdEtleSA9IHNob3dPYmplY3RLZXk7XHJcbiAgICAgICAgdGhpcy5zaG93VG9vbHRpcCA9IHNob3dUb29sdGlwO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcERhdGEgPSB0b29sdGlwRGF0YTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9uSXRlbVR5cGVXaXRoU3RyaW5nSWNvbk9yVGV4dEFjdGlvbiB7XHJcbiAgICBpZDogYW55O1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG5cclxuICAgIHR5cGVPZkRhdGE6IFwiU1RSSU5HXCIgfCBcIklDT05fVEVYVF9BQ1RJT05cIjtcclxuICAgIGFkZGl0aW9uYWxUZXh0QmVmb3JlTGluaz86IHN0cmluZztcclxuXHJcbiAgICBpY29uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgICBzaG93SWNvbjogYm9vbGVhbjtcclxuICAgIGRpc2FibGVkSWNvbj86IGJvb2xlYW47XHJcblxyXG4gICAgbGlua0NsYXNzPzogc3RyaW5nO1xyXG4gICAgc2hvd0xpbms/OiBib29sZWFuO1xyXG4gICAgZGlzYWJsZWRMaW5rPzogYm9vbGVhbjtcclxuXHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuXHJcbiAgICB0b29sdGlwRGF0YT86IHsga2V5OiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdO1xyXG4gICAgdG9vbHRpcENsYXNzPzogc3RyaW5nO1xyXG4gICAgdG9vbHRpcFBsYWNlbWVudD86IHN0cmluZztcclxuXHJcbiAgICBlbmFibGVUb29sdGlwRm9yQWRkaXRpb25hbFRleHQ/OiBib29sZWFuO1xyXG4gICAgYWRkaXRpb25hbFRleHRBZnRlckxpbms/OnN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSWNvblRvU2hvdyA9XHJcbiAgICB8IFwiTElWRVwiXHJcbiAgICB8IFwiUEFZX0ZPUl9QRVJGT1JNQU5DRV9BQ1RJVkVcIlxyXG4gICAgfCBcIlBBWV9GT1JfUEVSRk9STUFOQ0VcIlxyXG4gICAgfCBcIlJFSkVDVEVEXCJcclxuICAgIHwgXCJOT1RJRllcIlxyXG4gICAgfCBcIkFXQUlUSU5HX0FQUFJPVkFMXCJcclxuICAgIHwgXCJERUxFVEVEX09SREVSXCJcclxuICAgIHwgXCJORUVEX1NFTExFUl9DT05GSVJNQVRJT05cIlxyXG4gICAgfCBcIk5FRURfQlVZRVJfQ09ORklSTUFUSU9OXCJcclxuICAgIHwgXCJBVVRPTUFURURcIlxyXG4gICAgfCBcIldBUk5JTkdfSUNPTlwiXHJcbiAgICB8IFwiSU5GT1JNQVRJT05fT1VUTElORV9JQ09OXCJcclxuICAgIHwgXCJBTEVSVF9PQ1RBR09OX0lDT05cIlxyXG4gICAgfCBcIkNBTkNFTF9JQ09OXCJcclxuICAgIHwgXCJBTFBIQV9CX0NJUkNMRVwiXHJcbiAgICB8IFwiQUxQSEFfUl9DSVJDTEVcIlxyXG4gICAgfCBcIkFMUEhBX0VfQ0lSQ0xFXCJcclxuICAgIHwgXCJBTFBIQV9BX0NJUkNMRVwiXHJcbiAgICB8IFwiTUVTU0FHRVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRhYmxlQ2xhc3NOYW1lQ29uc3RhbnQge1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IGRlZmF1bHRDbGFzcyA9IFwidGFibGUtYm9keS1yb3cgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgc2VsZWN0ZWRSb3cgPSBcInNlbGVjdGVkLXJvdyBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBzZWxlY3RhYmxlUm93ID0gXCJzZWxlY3RhYmxlLXJvdyBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBsYXN0Um93T2ZHcm91cCA9IFwibGFzdC1yb3ctb2YtZ3JvdXAgXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgbWdSb3cgPSBcIm1nLXJvdyBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSByZWRDb2xvckNlbGxCb3JkZXIgPSBcInJlZGNvbG9yLWNlbGwtYm9yZGVyIFwiO1xyXG4gICAgc3RhdGljIHJlYWRvbmx5IHJlZENvbG9yQ2VsbEJvcmRlckZvckJvb2tlZFJ0Z0ltcHNDb2wgPSBcIiByZWRjb2xvci1jZWxsLWJvcmRlci1ydGctaW1wcy1jb2xcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSBncmVlbkNvbG9yQ2VsbEJvcmRlciA9IFwiZ3JlZW5jb2xvci1jZWxsLWJvcmRlciBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSB5ZWxsb3dDb2xvckNlbGxCb3JkZXIgPSBcInllbGxvd2NvbG9yLWNlbGwtYm9yZGVyXCI7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgb3JhbmdlQ29sb3JDZWxsQm9yZGVyID0gXCJvcmFuZ2Vjb2xvci1jZWxsLWJvcmRlciBcIjtcclxuICAgIHN0YXRpYyByZWFkb25seSByZWRDb2xvclN0YXR1cyA9IFwicmVkY29sb3Itc3RhdHVzIFwiO1xyXG5cclxuICAgIHN0YXRpYyByZWFkb25seSBncm91cGVkVGFibGVDbGFzcyA9IFwiZ3JvdXBlZC10YWJsZS1jb250YWluZXIgXCI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFbGxpcHNpc1dpdGhUYWJsZVRvb2x0aXAge1xyXG4gICAgdG9vbHRpcEhlYWRlcjogc3RyaW5nO1xyXG4gICAgdGFibGVIZWFkZXJzOiBIZWFkZXJXaXRoT2JqZWN0S2V5W107XHJcbiAgICB0YWJsZURhdGE6IGFueVtdO1xyXG4gICAgY2VsbFZhbHVlOiBzdHJpbmc7XHJcbiAgICB0b29sdGlwSG92ZXJUZXh0OiBzdHJpbmc7XHJcbiAgICBzaG93VG9vbHRpcDogYm9vbGVhbjtcclxuICAgIHRvb2x0aXBDbGFzczogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIGhlYWRpbmc6IHN0cmluZyxcclxuICAgICAgICB0YWJsZUhlYWRlcnM6IEhlYWRlcldpdGhPYmplY3RLZXlbXSxcclxuICAgICAgICB0YWJsZURhdGE6IGFueVtdLFxyXG4gICAgICAgIGNlbGxWYWx1ZTogc3RyaW5nLFxyXG4gICAgICAgIHRvb2x0aXBUZXh0OiBzdHJpbmcsXHJcbiAgICAgICAgc2hvd1Rvb2x0aXA6IGJvb2xlYW4sXHJcbiAgICAgICAgdG9vbHRpcENsYXNzOiBzdHJpbmcsXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnRvb2x0aXBIZWFkZXIgPSBoZWFkaW5nO1xyXG4gICAgICAgIHRoaXMudGFibGVIZWFkZXJzID0gdGFibGVIZWFkZXJzO1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gdGFibGVEYXRhO1xyXG4gICAgICAgIHRoaXMuY2VsbFZhbHVlID0gY2VsbFZhbHVlO1xyXG4gICAgICAgIHRoaXMudG9vbHRpcEhvdmVyVGV4dCA9IHRvb2x0aXBUZXh0O1xyXG4gICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAgPSBzaG93VG9vbHRpcDtcclxuICAgICAgICB0aGlzLnRvb2x0aXBDbGFzcyA9IHRvb2x0aXBDbGFzcztcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJXaXRoT2JqZWN0S2V5IHtcclxuICAgIGhlYWRlck5hbWU6IHN0cmluZztcclxuICAgIG9iamVjdEtleTogc3RyaW5nO1xyXG4gICAgd2lkdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbm5lckhUTUxUb29sdGlwQWN0aW9uIHtcclxuICAgIGRhdGFUb0Rpc3BsYXk/OiBzdHJpbmc7IC8vIFRleHQgb3IgZGF0YSB0byBkaXNwbGF5IGJlZm9yZSB0aGUgdG9vbHRpcFxyXG4gICAgc2hvd1Rvb2x0aXA/OiBib29sZWFuOyAvLyBXaGV0aGVyIHRvIHNob3cgdGhlIHRvb2x0aXBcclxuICAgIHRvb2x0aXBJbm5lckh0bWxUZW1wbGF0ZT86IHN0cmluZzsgLy8gVGVtcGxhdGUgb3IgY29udGVudCBmb3IgdGhlIHRvb2x0aXBcclxuICAgIHRvb2x0aXBQb3NpdGlvbj86IHN0cmluZzsgLy8gVG9vbHRpcCBwb3NpdGlvbiAoZS5nLiwgJ3RvcCcsICdib3R0b20nKVxyXG4gICAgdG9vbHRpcEljb25DbGFzcz86IHN0cmluZzsgLy8gQ1NTIGNsYXNzIGZvciB0aGUgdG9vbHRpcCBpY29uXHJcbiAgICB0b29sdGlwSW5uZXJDbGFzcz86IHN0cmluZzsgLy8gQ1NTIGNsYXNzIGZvciBjdXN0b21pemluZyB0b29sdGlwJ3MgaW5uZXIgY29udGVudFxyXG4gICAgZGlzYWJsZVRvb2x0aXA/OiBib29sZWFuOyAvLyBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIHRvb2x0aXBcclxuICAgIHRvb2x0aXBNYXJrZXJUZXh0Pzogc3RyaW5nOyAvLyBUZXh0IGZvciB0aGUgdG9vbHRpcCBpY29uIG9yIGluZGljYXRvclxyXG4gICAgZGF0YVRvRGlzcGxheUFmdGVyVG9vbHRpcD86IHN0cmluZzsgLy8gRGF0YSB0byBkaXNwbGF5IGFmdGVyIHRoZSB0b29sdGlwXHJcbiAgICBpc01hbnVhbFRyaWdnZXI/OiBib29sZWFuOyAvLyBXaGV0aGVyIHRoZSB0b29sdGlwIHRyaWdnZXIgaXMgbWFudWFsIG9yIGF1dG9tYXRpY1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUb29sdGlwVGFibGVIZWFkZXIge1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAga2V5OiBzdHJpbmc7XHJcbiAgICB3aWR0aDogc3RyaW5nO1xyXG4gICAgY29sc3Bhbj86IG51bWJlcjtcclxuICAgIHJvd3NwYW4/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRvb2x0aXBUYWJsZVJvd0RhdGEge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55OyAvLyBBbGxvdyBkeW5hbWljIGtleXMgZm9yIHJvdyBkYXRhXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSURyb3Bkb3duQ29uZmlnRm9yR1Qge1xyXG4gICAgaXRlbUxpc3Q6IFNpbmdsZVNlbGVjdElkVGV4dFtdO1xyXG4gICAgc2VsZWN0ZWRJdGVtOiBTaW5nbGVTZWxlY3RJZFRleHQ7XHJcbiAgICBkcm9wZG93bkNvbmZpZzogSUN1c3RvbVNpbmdsZVNlbGVjdDtcclxufVxyXG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export var SortTypeEnum;
|
|
2
|
-
(function (SortTypeEnum) {
|
|
3
|
-
SortTypeEnum["DEFAULT"] = "DEFAULT";
|
|
4
|
-
SortTypeEnum["ASC"] = "ASC";
|
|
5
|
-
SortTypeEnum["DESC"] = "DESC";
|
|
6
|
-
})(SortTypeEnum || (SortTypeEnum = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1zb3J0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvbW9kZWxzL2FubmEtc29ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLG1DQUFtQixDQUFBO0lBQ25CLDJCQUFXLENBQUE7SUFDWCw2QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFKVyxZQUFZLEtBQVosWUFBWSxRQUl2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNvcnRUeXBlID0gXCJERUZBVUxUXCIgfCBcIkFTQ1wiIHwgXCJERVNDXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRPcHRpb24ge1xyXG4gICAgc29ydFR5cGU6IFNvcnRUeXBlO1xyXG4gICAgaXNPcHRpb25BY3RpdmU6IGJvb2xlYW47XHJcbiAgICB0ZXh0OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFNvcnRUeXBlRW51bSB7XHJcbiAgICBERUZBVUxUID0gXCJERUZBVUxUXCIsXHJcbiAgICBBU0MgPSBcIkFTQ1wiLFxyXG4gICAgREVTQyA9IFwiREVTQ1wiLFxyXG59XHJcbiJdfQ==
|