mmhglobal-dynamicform 2.12.4 → 2.14.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/README.md +540 -1
- package/esm2020/lib/services/main.service.mjs +26 -26
- package/esm2020/lib/services/zcomponent.debug.service.mjs +80 -60
- package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +3 -3
- package/esm2020/lib/uipage/uipage.component.mjs +7 -7
- package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +512 -265
- package/esm2020/lib/zgrid/zgrid.component.mjs +144 -268
- package/esm2020/lib/zgrid/zgrid.service.mjs +109 -0
- package/esm2020/lib/znumeric/znumeric.component.mjs +22 -18
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +42 -10
- package/esm2020/lib/ztree/ztree.component.mjs +57 -13
- package/fesm2015/mmhglobal-dynamicform.mjs +4862 -4530
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +4819 -4496
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/services/main.service.d.ts +3 -3
- package/lib/services/zcomponent.debug.service.d.ts +3 -2
- package/lib/zgrid/zgrid.binding.directive.d.ts +113 -20
- package/lib/zgrid/zgrid.component.d.ts +16 -21
- package/lib/zgrid/zgrid.service.d.ts +33 -0
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +14 -2
- package/lib/ztree/ztree.component.d.ts +7 -2
- package/package.json +1 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/********** Angular **********/
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
/********** Component & Service **********/
|
|
4
|
+
import { Delimiter } from 'mmhglobal-zcore';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "mmhglobal-zcore";
|
|
7
|
+
export var GridSettingType;
|
|
8
|
+
(function (GridSettingType) {
|
|
9
|
+
GridSettingType["OriginalSetting"] = "OriginalSetting";
|
|
10
|
+
GridSettingType["SavedSetting"] = "SavedSetting";
|
|
11
|
+
GridSettingType["CachedDataSetting"] = "CachedDataSetting";
|
|
12
|
+
})(GridSettingType || (GridSettingType = {}));
|
|
13
|
+
export var GridStateLogicType;
|
|
14
|
+
(function (GridStateLogicType) {
|
|
15
|
+
GridStateLogicType["SettingAndDataCache"] = "SettingAndDataCache";
|
|
16
|
+
GridStateLogicType["SettingOnly"] = "SettingOnly";
|
|
17
|
+
GridStateLogicType["DataCacheOnly"] = "DataCache";
|
|
18
|
+
})(GridStateLogicType || (GridStateLogicType = {}));
|
|
19
|
+
export class ZGridService {
|
|
20
|
+
constructor(offlineDatabaseService) {
|
|
21
|
+
this.offlineDatabaseService = offlineDatabaseService;
|
|
22
|
+
this.gridDefaultState = { skip: 0, take: 20 };
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Configure grid settings based on the provided ZField object.
|
|
26
|
+
* @param field The ZField object containing configuration information.
|
|
27
|
+
* @returns The configured grid state.
|
|
28
|
+
*/
|
|
29
|
+
setupGridSetting(field) {
|
|
30
|
+
// Set the default number of items to display (take) based on the provided field's PageSize or a default of 20.
|
|
31
|
+
this.gridDefaultState.take = field.PageSize || 20;
|
|
32
|
+
// Create a copy of the default state and assign it to this.gridState.
|
|
33
|
+
this.gridState = Object.assign({}, this.gridDefaultState);
|
|
34
|
+
if (field.CacheInfo) {
|
|
35
|
+
//const cacheName = this.getGridStateCacheStorageKey(GridSettingType.OriginalSetting);
|
|
36
|
+
//sessionStorage.setItem(cacheName, JSON.stringify(this.gridSettings));
|
|
37
|
+
// Generate a cache name based on the cache type and the field.
|
|
38
|
+
let cacheName = this.getGridStateCacheStorageKey(GridSettingType.CachedDataSetting, field);
|
|
39
|
+
// Determine whether to use SavedSetting cache type based on configuration.
|
|
40
|
+
if (field.CacheInfo.EnableSaveState === true && field.CacheInfo.DisableCacheData === true) {
|
|
41
|
+
cacheName = this.getGridStateCacheStorageKey(GridSettingType.SavedSetting, field);
|
|
42
|
+
}
|
|
43
|
+
// Retrieve the cached value from sessionStorage.
|
|
44
|
+
const cacheInfo = this.generateCacheInfo(field, cacheName);
|
|
45
|
+
const cacheValue = this.offlineDatabaseService.getItemByKey(cacheInfo, cacheInfo.offlineDatabaseKey);
|
|
46
|
+
// If a cached value exists, update this.gridState with the cached value.
|
|
47
|
+
if (cacheValue) {
|
|
48
|
+
this.gridState = cacheValue.gridState;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return this.gridState;
|
|
52
|
+
}
|
|
53
|
+
generateCacheInfo(gridField, offlineDatabaseKey) {
|
|
54
|
+
const cacheInfo = gridField.CacheInfo;
|
|
55
|
+
return {
|
|
56
|
+
priorityNumber: 0,
|
|
57
|
+
componentType: 'zgrid',
|
|
58
|
+
resourceURL: cacheInfo.ResourceURL,
|
|
59
|
+
appendPaginationData: cacheInfo.AppendPaginationData,
|
|
60
|
+
definedDatabase: cacheInfo.DefinedDatabase,
|
|
61
|
+
definedTable: cacheInfo.DefinedTable,
|
|
62
|
+
offlineDatabaseKey: offlineDatabaseKey ?? `${gridField.FieldElementName}${Delimiter.default}${gridField.Name}`,
|
|
63
|
+
saveAsJson: cacheInfo.SaveAsJson,
|
|
64
|
+
encryptValue: cacheInfo.EncryptValue
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
// Used for Grid state setting ONLY.
|
|
68
|
+
getGridStateCacheStorageKey(gridStateType, field) {
|
|
69
|
+
if (!field.CacheInfo) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const cacheName = `${field.FieldElementName}${Delimiter.default}${field.CacheInfo.Name ?? field.FieldElementName}`;
|
|
73
|
+
if (gridStateType === GridSettingType.OriginalSetting || gridStateType === GridSettingType.SavedSetting) {
|
|
74
|
+
return gridStateType + Delimiter.default + cacheName;
|
|
75
|
+
}
|
|
76
|
+
else if (gridStateType === GridSettingType.CachedDataSetting) {
|
|
77
|
+
return cacheName;
|
|
78
|
+
}
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
getGridStateLogic(field) {
|
|
82
|
+
if (field.CacheInfo) {
|
|
83
|
+
const enableSaveState = field.CacheInfo.EnableSaveState;
|
|
84
|
+
const disableCacheData = field.CacheInfo.DisableCacheData;
|
|
85
|
+
if (enableSaveState && !disableCacheData) {
|
|
86
|
+
return GridStateLogicType.SettingAndDataCache;
|
|
87
|
+
}
|
|
88
|
+
else if (enableSaveState && disableCacheData) {
|
|
89
|
+
return GridStateLogicType.SettingOnly;
|
|
90
|
+
}
|
|
91
|
+
else if (!enableSaveState && !disableCacheData) {
|
|
92
|
+
return GridStateLogicType.DataCacheOnly;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
console.log('CacheInfo is undefined.');
|
|
97
|
+
}
|
|
98
|
+
return null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
ZGridService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZGridService, deps: [{ token: i1.OfflineDatabaseService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
102
|
+
ZGridService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZGridService, providedIn: 'root' });
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZGridService, decorators: [{
|
|
104
|
+
type: Injectable,
|
|
105
|
+
args: [{
|
|
106
|
+
providedIn: 'root'
|
|
107
|
+
}]
|
|
108
|
+
}], ctorParameters: function () { return [{ type: i1.OfflineDatabaseService }]; } });
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemdyaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3pncmlkL3pncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPM0MsMkNBQTJDO0FBQzNDLE9BQU8sRUFDRyxTQUFTLEVBQ2xCLE1BQU0saUJBQWlCLENBQUM7OztBQUV6QixNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3pCLHNEQUFtQyxDQUFBO0lBQ25DLGdEQUE2QixDQUFBO0lBQzdCLDBEQUF1QyxDQUFBO0FBQ3pDLENBQUMsRUFKVyxlQUFlLEtBQWYsZUFBZSxRQUkxQjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIsaUVBQTJDLENBQUE7SUFDM0MsaURBQTJCLENBQUE7SUFDM0IsaURBQTJCLENBQUE7QUFDN0IsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0I7QUFNRCxNQUFNLE9BQU8sWUFBWTtJQUl2QixZQUNVLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBSGhELHFCQUFnQixHQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFLeEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ25DLCtHQUErRztRQUMvRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBRWxELHNFQUFzRTtRQUN0RSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTFELElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUNuQixzRkFBc0Y7WUFDdEYsdUVBQXVFO1lBRXZFLCtEQUErRDtZQUMvRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRTNGLDJFQUEyRTtZQUMzRSxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsZUFBZSxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLGdCQUFnQixLQUFLLElBQUksRUFBRTtnQkFDekYsU0FBUyxHQUFHLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ25GO1lBRUQsaURBQWlEO1lBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDM0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFFckcseUVBQXlFO1lBQ3pFLElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksQ0FBQyxTQUFTLEdBQUksVUFBNEIsQ0FBQyxTQUFTLENBQUM7YUFDMUQ7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRU0saUJBQWlCLENBQUMsU0FBaUIsRUFBRSxrQkFBMkI7UUFDckUsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUV0QyxPQUFPO1lBQ0wsY0FBYyxFQUFFLENBQUM7WUFDakIsYUFBYSxFQUFFLE9BQU87WUFDdEIsV0FBVyxFQUFFLFNBQVMsQ0FBQyxXQUFXO1lBQ2xDLG9CQUFvQixFQUFFLFNBQVMsQ0FBQyxvQkFBb0I7WUFDcEQsZUFBZSxFQUFFLFNBQVMsQ0FBQyxlQUFlO1lBQzFDLFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtZQUNwQyxrQkFBa0IsRUFBRSxrQkFBa0IsSUFBRyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDN0csVUFBVSxFQUFFLFNBQVMsQ0FBQyxVQUFVO1lBQ2hDLFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtTQUNyQyxDQUFBO0lBQ0gsQ0FBQztJQUVELG9DQUFvQztJQUM3QiwyQkFBMkIsQ0FBQyxhQUE4QixFQUFFLEtBQWE7UUFDOUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBRUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUVuSCxJQUFJLGFBQWEsS0FBSyxlQUFlLENBQUMsZUFBZSxJQUFJLGFBQWEsS0FBSyxlQUFlLENBQUMsWUFBWSxFQUFFO1lBQ3ZHLE9BQU8sYUFBYSxHQUFHLFNBQVMsQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1NBQ3REO2FBQ0ksSUFBSSxhQUFhLEtBQUssZUFBZSxDQUFDLGlCQUFpQixFQUFFO1lBQzVELE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0saUJBQWlCLENBQUMsS0FBYTtRQUNwQyxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFDbkIsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7WUFDeEQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDO1lBRTFELElBQUksZUFBZSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3hDLE9BQU8sa0JBQWtCLENBQUMsbUJBQW1CLENBQUM7YUFDL0M7aUJBQ0ksSUFBSSxlQUFlLElBQUksZ0JBQWdCLEVBQUU7Z0JBQzVDLE9BQU8sa0JBQWtCLENBQUMsV0FBVyxDQUFDO2FBQ3ZDO2lCQUNJLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDOUMsT0FBTyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7YUFDekM7U0FDRjthQUNJO1lBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzt5R0FwR1UsWUFBWTs2R0FBWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5XCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFxyXG4gIFpGaWVsZCwgRGVsaW1pdGVyLCBaR3JpZFNldHRpbmdzLCBPZmZsaW5lRGF0YWJhc2VTZXJ2aWNlLCBvZmZsaW5lRGF0YWJhc2VTZXR0aW5nXHJcbn0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJzsgIFxyXG4gXHJcbmV4cG9ydCBlbnVtIEdyaWRTZXR0aW5nVHlwZSB7XHJcbiAgT3JpZ2luYWxTZXR0aW5nID0gXCJPcmlnaW5hbFNldHRpbmdcIixcclxuICBTYXZlZFNldHRpbmcgPSBcIlNhdmVkU2V0dGluZ1wiLFxyXG4gIENhY2hlZERhdGFTZXR0aW5nID0gXCJDYWNoZWREYXRhU2V0dGluZ1wiXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEdyaWRTdGF0ZUxvZ2ljVHlwZSB7XHJcbiAgU2V0dGluZ0FuZERhdGFDYWNoZSA9IFwiU2V0dGluZ0FuZERhdGFDYWNoZVwiLFxyXG4gIFNldHRpbmdPbmx5ID0gXCJTZXR0aW5nT25seVwiLFxyXG4gIERhdGFDYWNoZU9ubHkgPSBcIkRhdGFDYWNoZVwiXHJcbn1cclxuXHJcbiBcclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWkdyaWRTZXJ2aWNlIHtcclxuICBwcml2YXRlIGdyaWRTdGF0ZTogU3RhdGU7XHJcbiAgcHJpdmF0ZSBncmlkRGVmYXVsdFN0YXRlOiBTdGF0ZSA9IHsgc2tpcDogMCwgdGFrZTogMjAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG9mZmxpbmVEYXRhYmFzZVNlcnZpY2U6IE9mZmxpbmVEYXRhYmFzZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbmZpZ3VyZSBncmlkIHNldHRpbmdzIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBaRmllbGQgb2JqZWN0LlxyXG4gICAqIEBwYXJhbSBmaWVsZCBUaGUgWkZpZWxkIG9iamVjdCBjb250YWluaW5nIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uXHJcbiAgICogQHJldHVybnMgVGhlIGNvbmZpZ3VyZWQgZ3JpZCBzdGF0ZS5cclxuICAgKi9cclxuICBwdWJsaWMgc2V0dXBHcmlkU2V0dGluZyhmaWVsZDogWkZpZWxkKTogU3RhdGUge1xyXG4gICAgLy8gU2V0IHRoZSBkZWZhdWx0IG51bWJlciBvZiBpdGVtcyB0byBkaXNwbGF5ICh0YWtlKSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZmllbGQncyBQYWdlU2l6ZSBvciBhIGRlZmF1bHQgb2YgMjAuXHJcbiAgICB0aGlzLmdyaWREZWZhdWx0U3RhdGUudGFrZSA9IGZpZWxkLlBhZ2VTaXplIHx8IDIwO1xyXG5cclxuICAgIC8vIENyZWF0ZSBhIGNvcHkgb2YgdGhlIGRlZmF1bHQgc3RhdGUgYW5kIGFzc2lnbiBpdCB0byB0aGlzLmdyaWRTdGF0ZS5cclxuICAgIHRoaXMuZ3JpZFN0YXRlID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5ncmlkRGVmYXVsdFN0YXRlKTtcclxuXHJcbiAgICBpZiAoZmllbGQuQ2FjaGVJbmZvKSB7XHJcbiAgICAgIC8vY29uc3QgY2FjaGVOYW1lID0gdGhpcy5nZXRHcmlkU3RhdGVDYWNoZVN0b3JhZ2VLZXkoR3JpZFNldHRpbmdUeXBlLk9yaWdpbmFsU2V0dGluZyk7XHJcbiAgICAgIC8vc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShjYWNoZU5hbWUsIEpTT04uc3RyaW5naWZ5KHRoaXMuZ3JpZFNldHRpbmdzKSk7XHJcblxyXG4gICAgICAvLyBHZW5lcmF0ZSBhIGNhY2hlIG5hbWUgYmFzZWQgb24gdGhlIGNhY2hlIHR5cGUgYW5kIHRoZSBmaWVsZC5cclxuICAgICAgbGV0IGNhY2hlTmFtZSA9IHRoaXMuZ2V0R3JpZFN0YXRlQ2FjaGVTdG9yYWdlS2V5KEdyaWRTZXR0aW5nVHlwZS5DYWNoZWREYXRhU2V0dGluZywgZmllbGQpO1xyXG5cclxuICAgICAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgdG8gdXNlIFNhdmVkU2V0dGluZyBjYWNoZSB0eXBlIGJhc2VkIG9uIGNvbmZpZ3VyYXRpb24uXHJcbiAgICAgIGlmIChmaWVsZC5DYWNoZUluZm8uRW5hYmxlU2F2ZVN0YXRlID09PSB0cnVlICYmIGZpZWxkLkNhY2hlSW5mby5EaXNhYmxlQ2FjaGVEYXRhID09PSB0cnVlKSB7XHJcbiAgICAgICAgY2FjaGVOYW1lID0gdGhpcy5nZXRHcmlkU3RhdGVDYWNoZVN0b3JhZ2VLZXkoR3JpZFNldHRpbmdUeXBlLlNhdmVkU2V0dGluZywgZmllbGQpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBSZXRyaWV2ZSB0aGUgY2FjaGVkIHZhbHVlIGZyb20gc2Vzc2lvblN0b3JhZ2UuXHJcbiAgICAgIGNvbnN0IGNhY2hlSW5mbyA9IHRoaXMuZ2VuZXJhdGVDYWNoZUluZm8oZmllbGQsIGNhY2hlTmFtZSk7XHJcbiAgICAgIGNvbnN0IGNhY2hlVmFsdWUgPSB0aGlzLm9mZmxpbmVEYXRhYmFzZVNlcnZpY2UuZ2V0SXRlbUJ5S2V5KGNhY2hlSW5mbywgY2FjaGVJbmZvLm9mZmxpbmVEYXRhYmFzZUtleSk7XHJcblxyXG4gICAgICAvLyBJZiBhIGNhY2hlZCB2YWx1ZSBleGlzdHMsIHVwZGF0ZSB0aGlzLmdyaWRTdGF0ZSB3aXRoIHRoZSBjYWNoZWQgdmFsdWUuXHJcbiAgICAgIGlmIChjYWNoZVZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5ncmlkU3RhdGUgPSAoY2FjaGVWYWx1ZSBhcyBaR3JpZFNldHRpbmdzKS5ncmlkU3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5ncmlkU3RhdGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2VuZXJhdGVDYWNoZUluZm8oZ3JpZEZpZWxkOiBaRmllbGQsIG9mZmxpbmVEYXRhYmFzZUtleT86IHN0cmluZyk6IG9mZmxpbmVEYXRhYmFzZVNldHRpbmcge1xyXG4gICAgY29uc3QgY2FjaGVJbmZvID0gZ3JpZEZpZWxkLkNhY2hlSW5mbztcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBwcmlvcml0eU51bWJlcjogMCxcclxuICAgICAgY29tcG9uZW50VHlwZTogJ3pncmlkJyxcclxuICAgICAgcmVzb3VyY2VVUkw6IGNhY2hlSW5mby5SZXNvdXJjZVVSTCxcclxuICAgICAgYXBwZW5kUGFnaW5hdGlvbkRhdGE6IGNhY2hlSW5mby5BcHBlbmRQYWdpbmF0aW9uRGF0YSxcclxuICAgICAgZGVmaW5lZERhdGFiYXNlOiBjYWNoZUluZm8uRGVmaW5lZERhdGFiYXNlLFxyXG4gICAgICBkZWZpbmVkVGFibGU6IGNhY2hlSW5mby5EZWZpbmVkVGFibGUsXHJcbiAgICAgIG9mZmxpbmVEYXRhYmFzZUtleTogb2ZmbGluZURhdGFiYXNlS2V5Pz8gYCR7Z3JpZEZpZWxkLkZpZWxkRWxlbWVudE5hbWV9JHtEZWxpbWl0ZXIuZGVmYXVsdH0ke2dyaWRGaWVsZC5OYW1lfWAsXHJcbiAgICAgIHNhdmVBc0pzb246IGNhY2hlSW5mby5TYXZlQXNKc29uLFxyXG4gICAgICBlbmNyeXB0VmFsdWU6IGNhY2hlSW5mby5FbmNyeXB0VmFsdWVcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFVzZWQgZm9yIEdyaWQgc3RhdGUgc2V0dGluZyBPTkxZLlxyXG4gIHB1YmxpYyBnZXRHcmlkU3RhdGVDYWNoZVN0b3JhZ2VLZXkoZ3JpZFN0YXRlVHlwZTogR3JpZFNldHRpbmdUeXBlLCBmaWVsZDogWkZpZWxkKSB7XHJcbiAgICBpZiAoIWZpZWxkLkNhY2hlSW5mbykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2FjaGVOYW1lID0gYCR7ZmllbGQuRmllbGRFbGVtZW50TmFtZX0ke0RlbGltaXRlci5kZWZhdWx0fSR7ZmllbGQuQ2FjaGVJbmZvLk5hbWUgPz8gZmllbGQuRmllbGRFbGVtZW50TmFtZX1gO1xyXG5cclxuICAgIGlmIChncmlkU3RhdGVUeXBlID09PSBHcmlkU2V0dGluZ1R5cGUuT3JpZ2luYWxTZXR0aW5nIHx8IGdyaWRTdGF0ZVR5cGUgPT09IEdyaWRTZXR0aW5nVHlwZS5TYXZlZFNldHRpbmcpIHtcclxuICAgICAgcmV0dXJuIGdyaWRTdGF0ZVR5cGUgKyBEZWxpbWl0ZXIuZGVmYXVsdCArIGNhY2hlTmFtZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGdyaWRTdGF0ZVR5cGUgPT09IEdyaWRTZXR0aW5nVHlwZS5DYWNoZWREYXRhU2V0dGluZykge1xyXG4gICAgICByZXR1cm4gY2FjaGVOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEdyaWRTdGF0ZUxvZ2ljKGZpZWxkOiBaRmllbGQpIHtcclxuICAgIGlmIChmaWVsZC5DYWNoZUluZm8pIHtcclxuICAgICAgY29uc3QgZW5hYmxlU2F2ZVN0YXRlID0gZmllbGQuQ2FjaGVJbmZvLkVuYWJsZVNhdmVTdGF0ZTtcclxuICAgICAgY29uc3QgZGlzYWJsZUNhY2hlRGF0YSA9IGZpZWxkLkNhY2hlSW5mby5EaXNhYmxlQ2FjaGVEYXRhO1xyXG5cclxuICAgICAgaWYgKGVuYWJsZVNhdmVTdGF0ZSAmJiAhZGlzYWJsZUNhY2hlRGF0YSkge1xyXG4gICAgICAgIHJldHVybiBHcmlkU3RhdGVMb2dpY1R5cGUuU2V0dGluZ0FuZERhdGFDYWNoZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChlbmFibGVTYXZlU3RhdGUgJiYgZGlzYWJsZUNhY2hlRGF0YSkge1xyXG4gICAgICAgIHJldHVybiBHcmlkU3RhdGVMb2dpY1R5cGUuU2V0dGluZ09ubHk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoIWVuYWJsZVNhdmVTdGF0ZSAmJiAhZGlzYWJsZUNhY2hlRGF0YSkge1xyXG4gICAgICAgIHJldHVybiBHcmlkU3RhdGVMb2dpY1R5cGUuRGF0YUNhY2hlT25seTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdDYWNoZUluZm8gaXMgdW5kZWZpbmVkLicpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -67,31 +67,35 @@ export class ZnumericComponent extends InputFieldBase {
|
|
|
67
67
|
addMinAndMaxValidator() {
|
|
68
68
|
// Setup form validator for ionic components only (Kendo component will be auto setup)
|
|
69
69
|
if (this.isMobileScreen()) {
|
|
70
|
-
const control = this.form
|
|
71
|
-
if (
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
const control = this.form?.controls[this.data.Value];
|
|
71
|
+
if (control) {
|
|
72
|
+
if (this.minValue != undefined) {
|
|
73
|
+
this.minValidator = Validators.min(Number(this.minValue));
|
|
74
|
+
control.addValidators(this.minValidator);
|
|
75
|
+
}
|
|
76
|
+
if (this.maxValue != undefined) {
|
|
77
|
+
this.maxValidator = Validators.max(Number(this.maxValue));
|
|
78
|
+
control.addValidators(this.maxValidator);
|
|
79
|
+
}
|
|
80
|
+
control.updateValueAndValidity();
|
|
74
81
|
}
|
|
75
|
-
if (this.maxValue != undefined) {
|
|
76
|
-
this.maxValidator = Validators.max(Number(this.maxValue));
|
|
77
|
-
control.addValidators(this.maxValidator);
|
|
78
|
-
}
|
|
79
|
-
control.updateValueAndValidity();
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
removeMinAndMaxValidator() {
|
|
83
85
|
this.minValue = null;
|
|
84
86
|
this.maxValue = null;
|
|
85
|
-
const control = this.form
|
|
86
|
-
if (
|
|
87
|
-
if (
|
|
88
|
-
control.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
control.
|
|
87
|
+
const control = this.form?.controls[this.data.Value];
|
|
88
|
+
if (control) {
|
|
89
|
+
if (this.isMobileScreen()) {
|
|
90
|
+
if (control.hasValidator(this.minValidator)) {
|
|
91
|
+
control.removeValidators(this.minValidator);
|
|
92
|
+
}
|
|
93
|
+
if (control.hasValidator(this.maxValidator)) {
|
|
94
|
+
control.removeValidators(this.maxValidator);
|
|
95
|
+
}
|
|
92
96
|
}
|
|
97
|
+
control.updateValueAndValidity();
|
|
93
98
|
}
|
|
94
|
-
control.updateValueAndValidity();
|
|
95
99
|
}
|
|
96
100
|
}
|
|
97
101
|
ZnumericComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZnumericComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -103,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
103
107
|
type: ViewChild,
|
|
104
108
|
args: ["numeric"]
|
|
105
109
|
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem51bWVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU94RSwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXhFLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFPNUMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFRbkQsWUFDUyxnQkFBbUM7UUFFMUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFGakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQVByQyxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixhQUFRLEdBQUcsQ0FBQyxDQUFDO0lBUXBCLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENB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QUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUMxQztZQUNELE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUVyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ3pCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7Z0JBQzNDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7YUFDNUM7WUFFRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUMzQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO2FBQzVDO1NBQ0Y7UUFDRCxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzs4R0F0R1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsK0tDbkI5Qiwyc0VBa0NBOzJGRGZhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjO3dHQUtGLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IE51bWVyaWNUZXh0Qm94Q29tcG9uZW50IH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItaW5wdXRzJztcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgSW5wdXRGaWVsZEJhc2UgfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0ZmllbGRiYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXpudW1lcmljJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vem51bWVyaWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3pudW1lcmljLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBabnVtZXJpY0NvbXBvbmVudCBleHRlbmRzIElucHV0RmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoXCJudW1lcmljXCIpIG51bWVyaWM6IE51bWVyaWNUZXh0Qm94Q29tcG9uZW50O1xyXG4gIHB1YmxpYyBpbnB1dE1vZGUgPSBcImRlY2ltYWxcIjtcclxuICBwdWJsaWMgbWluVmFsdWUgPSAwO1xyXG4gIHB1YmxpYyBtYXhWYWx1ZSA9IDA7XHJcbiAgcHJpdmF0ZSBtaW5WYWxpZGF0b3I7XHJcbiAgcHJpdmF0ZSBtYXhWYWxpZGF0b3I7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbXBvbmVudFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb21wb25lbnRTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIuc2V0dXBJbm5lckZpZWxkKCk7XHJcbiAgICB0aGlzLnNldEluaXRNaW5BbmRNYXhWYWx1ZSgpO1xyXG4gICAgc3VwZXIuZm9jdXNPbkRlZmF1bHQodGhpcy5mb2N1cy5iaW5kKHRoaXMpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5yZW1vdmVNaW5BbmRNYXhWYWxpZGF0b3IoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuY29tcG9uZW50U2VydmljZS5kZWNyZW1lbnRDb21wb25lbnRDb3VudGVyRm9yRmllbGQodGhpcy5kYXRhKTtcclxuICB9XHJcblxyXG4gIHNldE1pblZhbHVlKG5ld1ZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMubWluVmFsdWUgPSBuZXdWYWx1ZTtcclxuXHJcbiAgICAvLyBtYXJrIHRoaXMgY29udHJvbCBhcyB0b3VjaGVkIHRvIHRyaWdnZXIgZm9yIHZhbGlkYXRpb25cclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0TWF4VmFsdWUobmV3VmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5tYXhWYWx1ZSA9IG5ld1ZhbHVlO1xyXG5cclxuICAgIC8vIG1hcmsgdGhpcyBjb250cm9sIGFzIHRvdWNoZWQgdG8gdHJpZ2dlciBmb3IgdmFsaWRhdGlvblxyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLmRhdGEuVmFsdWVdO1xyXG4gICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZm9jdXMoKSB7XHJcbiAgICBpZiAodGhpcy5udW1lcmljKSB7XHJcbiAgICAgIHRoaXMubnVtZXJpYy5mb2N1cygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SW5pdE1pbkFuZE1heFZhbHVlKCkge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmRhdGEuTWluVmFsdWUgPT0gJ3N0cmluZycgJiYgKHRoaXMuZGF0YS5NaW5WYWx1ZSBhcyBhbnkpLnRvU3RyaW5nKCkuc3RhcnRzV2l0aCgnZ3JvdXAuJykpIHtcclxuICAgICAgdGhpcy5taW5WYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSgodGhpcy5kYXRhLk1pblZhbHVlIGFzIGFueSkudG9TdHJpbmcoKSwgdGhpcy5ncm91cCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5taW5WYWx1ZSA9IHRoaXMuZGF0YS5NaW5WYWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIHRoaXMuZGF0YS5NYXhWYWx1ZSA9PSAnc3RyaW5nJyAmJiAodGhpcy5kYXRhLk1heFZhbHVlIGFzIGFueSkudG9TdHJpbmcoKS5zdGFydHNXaXRoKCdncm91cC4nKSkge1xyXG4gICAgICB0aGlzLm1heFZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKCh0aGlzLmRhdGEuTWF4VmFsdWUgYXMgYW55KS50b1N0cmluZygpLCB0aGlzLmdyb3VwKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm1heFZhbHVlID0gdGhpcy5kYXRhLk1heFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWRkTWluQW5kTWF4VmFsaWRhdG9yKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZE1pbkFuZE1heFZhbGlkYXRvcigpIHtcclxuICAgIC8vIFNldHVwIGZvcm0gdmFsaWRhdG9yIGZvciBpb25pYyBjb21wb25lbnRzIG9ubHkgKEtlbmRvIGNvbXBvbmVudCB3aWxsIGJlIGF1dG8gc2V0dXApXHJcbiAgICBpZiAodGhpcy5pc01vYmlsZVNjcmVlbigpKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgICAgaWYgKHRoaXMubWluVmFsdWUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5taW5WYWxpZGF0b3IgPSBWYWxpZGF0b3JzLm1pbihOdW1iZXIodGhpcy5taW5WYWx1ZSkpO1xyXG4gICAgICAgIGNvbnRyb2wuYWRkVmFsaWRhdG9ycyh0aGlzLm1pblZhbGlkYXRvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLm1heFZhbHVlICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMubWF4VmFsaWRhdG9yID0gVmFsaWRhdG9ycy5tYXgoTnVtYmVyKHRoaXMubWF4VmFsdWUpKTtcclxuICAgICAgICBjb250cm9sLmFkZFZhbGlkYXRvcnModGhpcy5tYXhWYWxpZGF0b3IpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVNaW5BbmRNYXhWYWxpZGF0b3IoKSB7XHJcbiAgICB0aGlzLm1pblZhbHVlID0gbnVsbDtcclxuICAgIHRoaXMubWF4VmFsdWUgPSBudWxsO1xyXG5cclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgIGlmICh0aGlzLmlzTW9iaWxlU2NyZWVuKCkpIHtcclxuICAgICAgaWYgKGNvbnRyb2wuaGFzVmFsaWRhdG9yKHRoaXMubWluVmFsaWRhdG9yKSkge1xyXG4gICAgICAgIGNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyh0aGlzLm1pblZhbGlkYXRvcilcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbnRyb2wuaGFzVmFsaWRhdG9yKHRoaXMubWF4VmFsaWRhdG9yKSkge1xyXG4gICAgICAgIGNvbnRyb2wucmVtb3ZlVmFsaWRhdG9ycyh0aGlzLm1heFZhbGlkYXRvcilcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJ6bnVtZXJpYy1jb250YWluZXIgZTF0YWctc3R5bGVcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZVwiPlxyXG4gIDxpb24taW5wdXQgKm5nSWY9XCJpc01vYmlsZVNjcmVlbigpXCIgI3pudW1lcmljRmllbGQgW2lkXT1cImRhdGEuVmFsdWVcIiB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgIFthdXRvY29ycmVjdF09XCJkYXRhLkF1dG9Db3JyZWN0ID8gJ29uJyA6ICdvZmYnXCJcclxuICAgICAgICAgICAgIFttaW5dPVwibWluVmFsdWVcIlxyXG4gICAgICAgICAgICAgW21heF09XCJtYXhWYWx1ZVwiXHJcbiAgICAgICAgICAgICBbc3RlcF09XCJkYXRhLlN0ZXBWYWx1ZVwiXHJcbiAgICAgICAgICAgICBbaW5wdXRtb2RlXT1cImlucHV0TW9kZVwiXHJcbiAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgICAgICAgICAgW2F0dHIuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCJcclxuICAgICAgICAgICAgIFt2YWx1ZV09XCIwIHwgem51bWVyaWMgOiBmb3JtIDogZGF0YVwiXHJcbiAgICAgICAgICAgICBbY2xhc3MubGVmdC1hbGlnbmVkXT1cInRoaXMuZGF0YS5SaWdodEFsaWduID09PSBmYWxzZVwiXHJcbiAgICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTFcIiBjbGFzcz1cImUxdGFnLXN0eWxlMVwiPlxyXG4gIDwvaW9uLWlucHV0PlxyXG4gIDxrZW5kby1udW1lcmljdGV4dGJveCAqbmdJZj1cIiFpc01vYmlsZVNjcmVlbigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3NwaW5uZXJzXT1cImRhdGEuU2hvd1NwaW5uZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9Db3JyZWN0XT1cImRhdGEuQXV0b0NvcnJlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwibWluVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIm1heFZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiZGF0YS5TdGVwVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cImRhdGEuRm9ybWF0T3B0aW9uc1wiIFtpZF09XCJkYXRhLlZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRhdGEuUGxhY2VIb2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWZpZWxkIGUxdGFnLXN0eWxlMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCIwIHwgem51bWVyaWMgOiBmb3JtIDogZGF0YVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNoYW5nZShudWxsLCAkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2RlY2ltYWxzXT1cImRhdGEuRGVjaW1hbFBsYWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmxlZnQtYWxpZ25lZF09XCJ0aGlzLmRhdGEuUmlnaHRBbGlnbiA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAjbnVtZXJpYz5cclxuICA8L2tlbmRvLW51bWVyaWN0ZXh0Ym94PlxyXG48L2Rpdj5cclxuIl19
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem51bWVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU94RSwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXhFLE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFPNUMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFRbkQsWUFDUyxnQkFBbUM7UUFFMUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFGakIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQVByQyxjQUFTLEdBQUcsU0FBUyxDQUFDO1FBQ3RCLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixhQUFRLEdBQUcsQ0FBQyxDQUFDO0lBUXBCLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWdCO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRXpCLHlEQUF5RDtRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQWdCO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRXpCLHlEQUF5RDtRQUN6RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFFBQVEsSUFBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3hHLElBQUksQ0FBQyxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBZ0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDcEc7YUFDSTtZQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDcEM7UUFFRCxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxJQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDeEcsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFnQixDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwRzthQUNJO1lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUNwQztRQUVELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxxQkFBcUI7UUFDM0Isc0ZBQXNGO1FBQ3RGLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckQsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRTtvQkFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDMUQsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQzFDO2dCQUVELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxTQUFTLEVBQUU7b0JBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQzFELE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUMxQztnQkFDRCxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzthQUNsQztTQUNGO0lBQ0gsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUVyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQzNDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7aUJBQzVDO2dCQUVELElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7b0JBQzNDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7aUJBQzVDO2FBQ0Y7WUFDRCxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUNsQztJQUNILENBQUM7OzhHQTFHVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwrS0NuQjlCLDJzRUFrQ0E7MkZEZmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWM7d0dBS0YsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgTnVtZXJpY1RleHRCb3hDb21wb25lbnQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbnB1dHMnO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtem51bWVyaWMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96bnVtZXJpYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vem51bWVyaWMuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpudW1lcmljQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZChcIm51bWVyaWNcIikgbnVtZXJpYzogTnVtZXJpY1RleHRCb3hDb21wb25lbnQ7XHJcbiAgcHVibGljIGlucHV0TW9kZSA9IFwiZGVjaW1hbFwiO1xyXG4gIHB1YmxpYyBtaW5WYWx1ZSA9IDA7XHJcbiAgcHVibGljIG1heFZhbHVlID0gMDtcclxuICBwcml2YXRlIG1pblZhbGlkYXRvcjtcclxuICBwcml2YXRlIG1heFZhbGlkYXRvcjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY29tcG9uZW50U2VydmljZTogWkNvbXBvbmVudFNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKGNvbXBvbmVudFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5zZXR1cElubmVyRmllbGQoKTtcclxuICAgIHRoaXMuc2V0SW5pdE1pbkFuZE1heFZhbHVlKCk7XHJcbiAgICBzdXBlci5mb2N1c09uRGVmYXVsdCh0aGlzLmZvY3VzLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnJlbW92ZU1pbkFuZE1heFZhbGlkYXRvcigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5jb21wb25lbnRTZXJ2aWNlLmRlY3JlbWVudENvbXBvbmVudENvdW50ZXJGb3JGaWVsZCh0aGlzLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgc2V0TWluVmFsdWUobmV3VmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5taW5WYWx1ZSA9IG5ld1ZhbHVlO1xyXG5cclxuICAgIC8vIG1hcmsgdGhpcyBjb250cm9sIGFzIHRvdWNoZWQgdG8gdHJpZ2dlciBmb3IgdmFsaWRhdGlvblxyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLmRhdGEuVmFsdWVdO1xyXG4gICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBzZXRNYXhWYWx1ZShuZXdWYWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm1heFZhbHVlID0gbmV3VmFsdWU7XHJcblxyXG4gICAgLy8gbWFyayB0aGlzIGNvbnRyb2wgYXMgdG91Y2hlZCB0byB0cmlnZ2VyIGZvciB2YWxpZGF0aW9uXHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb2N1cygpIHtcclxuICAgIGlmICh0aGlzLm51bWVyaWMpIHtcclxuICAgICAgdGhpcy5udW1lcmljLmZvY3VzKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0TWluQW5kTWF4VmFsdWUoKSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuZGF0YS5NaW5WYWx1ZSA9PSAnc3RyaW5nJyAmJiAodGhpcy5kYXRhLk1pblZhbHVlIGFzIGFueSkudG9TdHJpbmcoKS5zdGFydHNXaXRoKCdncm91cC4nKSkge1xyXG4gICAgICB0aGlzLm1pblZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKCh0aGlzLmRhdGEuTWluVmFsdWUgYXMgYW55KS50b1N0cmluZygpLCB0aGlzLmdyb3VwKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLm1pblZhbHVlID0gdGhpcy5kYXRhLk1pblZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgdGhpcy5kYXRhLk1heFZhbHVlID09ICdzdHJpbmcnICYmICh0aGlzLmRhdGEuTWF4VmFsdWUgYXMgYW55KS50b1N0cmluZygpLnN0YXJ0c1dpdGgoJ2dyb3VwLicpKSB7XHJcbiAgICAgIHRoaXMubWF4VmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwVmFsdWUoKHRoaXMuZGF0YS5NYXhWYWx1ZSBhcyBhbnkpLnRvU3RyaW5nKCksIHRoaXMuZ3JvdXApO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMubWF4VmFsdWUgPSB0aGlzLmRhdGEuTWF4VmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hZGRNaW5BbmRNYXhWYWxpZGF0b3IoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkTWluQW5kTWF4VmFsaWRhdG9yKCkge1xyXG4gICAgLy8gU2V0dXAgZm9ybSB2YWxpZGF0b3IgZm9yIGlvbmljIGNvbXBvbmVudHMgb25seSAoS2VuZG8gY29tcG9uZW50IHdpbGwgYmUgYXV0byBzZXR1cClcclxuICAgIGlmICh0aGlzLmlzTW9iaWxlU2NyZWVuKCkpIHtcclxuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybT8uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgICAgaWYgKGNvbnRyb2wpIHtcclxuICAgICAgICBpZiAodGhpcy5taW5WYWx1ZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMubWluVmFsaWRhdG9yID0gVmFsaWRhdG9ycy5taW4oTnVtYmVyKHRoaXMubWluVmFsdWUpKTtcclxuICAgICAgICAgIGNvbnRyb2wuYWRkVmFsaWRhdG9ycyh0aGlzLm1pblZhbGlkYXRvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5tYXhWYWx1ZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMubWF4VmFsaWRhdG9yID0gVmFsaWRhdG9ycy5tYXgoTnVtYmVyKHRoaXMubWF4VmFsdWUpKTtcclxuICAgICAgICAgIGNvbnRyb2wuYWRkVmFsaWRhdG9ycyh0aGlzLm1heFZhbGlkYXRvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbW92ZU1pbkFuZE1heFZhbGlkYXRvcigpIHtcclxuICAgIHRoaXMubWluVmFsdWUgPSBudWxsO1xyXG4gICAgdGhpcy5tYXhWYWx1ZSA9IG51bGw7XHJcblxyXG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybT8uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgIGlmIChjb250cm9sKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzTW9iaWxlU2NyZWVuKCkpIHtcclxuICAgICAgICBpZiAoY29udHJvbC5oYXNWYWxpZGF0b3IodGhpcy5taW5WYWxpZGF0b3IpKSB7XHJcbiAgICAgICAgICBjb250cm9sLnJlbW92ZVZhbGlkYXRvcnModGhpcy5taW5WYWxpZGF0b3IpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoY29udHJvbC5oYXNWYWxpZGF0b3IodGhpcy5tYXhWYWxpZGF0b3IpKSB7XHJcbiAgICAgICAgICBjb250cm9sLnJlbW92ZVZhbGlkYXRvcnModGhpcy5tYXhWYWxpZGF0b3IpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiem51bWVyaWMtY29udGFpbmVyIGUxdGFnLXN0eWxlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGVcIj5cclxuICA8aW9uLWlucHV0ICpuZ0lmPVwiaXNNb2JpbGVTY3JlZW4oKVwiICN6bnVtZXJpY0ZpZWxkIFtpZF09XCJkYXRhLlZhbHVlXCIgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgICBbYXV0b2NvcnJlY3RdPVwiZGF0YS5BdXRvQ29ycmVjdCA/ICdvbicgOiAnb2ZmJ1wiXHJcbiAgICAgICAgICAgICBbbWluXT1cIm1pblZhbHVlXCJcclxuICAgICAgICAgICAgIFttYXhdPVwibWF4VmFsdWVcIlxyXG4gICAgICAgICAgICAgW3N0ZXBdPVwiZGF0YS5TdGVwVmFsdWVcIlxyXG4gICAgICAgICAgICAgW2lucHV0bW9kZV09XCJpbnB1dE1vZGVcIlxyXG4gICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJkYXRhLlZhbHVlXCJcclxuICAgICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGF0YS5QbGFjZUhvbGRlclwiXHJcbiAgICAgICAgICAgICBbdmFsdWVdPVwiMCB8IHpudW1lcmljIDogZm9ybSA6IGRhdGFcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLmxlZnQtYWxpZ25lZF09XCJ0aGlzLmRhdGEuUmlnaHRBbGlnbiA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCIgY2xhc3M9XCJlMXRhZy1zdHlsZTFcIj5cclxuICA8L2lvbi1pbnB1dD5cclxuICA8a2VuZG8tbnVtZXJpY3RleHRib3ggKm5nSWY9XCIhaXNNb2JpbGVTY3JlZW4oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcGlubmVyc109XCJkYXRhLlNob3dTcGlubmVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvQ29ycmVjdF09XCJkYXRhLkF1dG9Db3JyZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJkYXRhLlZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIm1pblZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwXT1cImRhdGEuU3RlcFZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdF09XCJkYXRhLkZvcm1hdE9wdGlvbnNcIiBbaWRdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1maWVsZCBlMXRhZy1zdHlsZTFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiMCB8IHpudW1lcmljIDogZm9ybSA6IGRhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25DaGFuZ2UobnVsbCwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsc109XCJkYXRhLkRlY2ltYWxQbGFjZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5sZWZ0LWFsaWduZWRdPVwidGhpcy5kYXRhLlJpZ2h0QWxpZ24gPT09IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgI251bWVyaWM+XHJcbiAgPC9rZW5kby1udW1lcmljdGV4dGJveD5cclxuPC9kaXY+XHJcbiJdfQ==
|