@koalarx/ui 12.7.4 → 12.7.8

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.
@@ -54,66 +54,69 @@ export class DynamicFormBuilder {
54
54
  return new MoreItemsBuilder(label, name, btnAddLabel, min, max, this.config, this.fb, this.deviceService);
55
55
  }
56
56
  autofill(object) {
57
+ var _a, _b;
57
58
  if (object) {
58
59
  const setValues = [];
59
60
  Object.keys(object).forEach(indexName => {
60
- var _a;
61
+ var _a, _b, _c, _d, _e;
61
62
  const arrField = koala(this.config.formConfig).array().filter(indexName, 'name').getValue();
62
- const field = (_a = arrField[0]) !== null && _a !== void 0 ? _a : null;
63
- if (typeof object[indexName] !== "object" ||
64
- field.type === DynamicFormTypeFieldEnum.autocomplete ||
65
- field.type === DynamicFormTypeFieldEnum.selectMultipleNative) {
66
- if ((field === null || field === void 0 ? void 0 : field.type) === DynamicFormTypeFieldEnum.textLogs) {
67
- field.textObs = object[indexName];
63
+ if (arrField.length === 1) {
64
+ const field = (_a = arrField[0]) !== null && _a !== void 0 ? _a : null;
65
+ if (typeof object[indexName] !== "object" ||
66
+ field.type === DynamicFormTypeFieldEnum.autocomplete ||
67
+ field.type === DynamicFormTypeFieldEnum.selectMultipleNative) {
68
+ if (field.type === DynamicFormTypeFieldEnum.textLogs) {
69
+ field.textObs = object[indexName];
70
+ }
71
+ else {
72
+ setValues.push({
73
+ name: indexName,
74
+ value: object[indexName]
75
+ });
76
+ }
68
77
  }
69
78
  else {
70
- setValues.push({
71
- name: indexName,
72
- value: object[indexName]
73
- });
74
- }
75
- }
76
- else {
77
- if (field.type === DynamicFormTypeFieldEnum.moreItems) {
78
- const setValuesMoreItems = [];
79
- const objectMoreItems = object[indexName];
80
- objectMoreItems.forEach(objectItem => {
81
- const moreItemValues = [];
82
- Object.keys(objectItem).forEach(objectIndexName => {
83
- moreItemValues.push({
84
- name: objectIndexName,
85
- value: objectItem[objectIndexName]
79
+ if (field.type === DynamicFormTypeFieldEnum.moreItems) {
80
+ const setValuesMoreItems = [];
81
+ const objectMoreItems = object[indexName];
82
+ objectMoreItems.forEach(objectItem => {
83
+ const moreItemValues = [];
84
+ Object.keys(objectItem).forEach(objectIndexName => {
85
+ moreItemValues.push({
86
+ name: objectIndexName,
87
+ value: objectItem[objectIndexName]
88
+ });
86
89
  });
90
+ setValuesMoreItems.push(new BehaviorSubject(moreItemValues));
87
91
  });
88
- setValuesMoreItems.push(new BehaviorSubject(moreItemValues));
89
- });
90
- field.moreItemsConfig.setValues.next(setValuesMoreItems);
91
- }
92
- else if (field.type === DynamicFormTypeFieldEnum.dynamicForm) {
93
- const dynamicFormObject = object[indexName];
94
- const dynamicFormSetValues = [];
95
- Object.keys(dynamicFormObject).forEach(dynamicFormIndexName => {
96
- var _a;
97
- const arrDynamicField = koala(field.dynamicFormConfig.formConfig).array().filter(indexName, 'name').getValue();
98
- const dynamicField = (_a = arrDynamicField[0]) !== null && _a !== void 0 ? _a : null;
99
- if ((dynamicField === null || dynamicField === void 0 ? void 0 : dynamicField.type) === DynamicFormTypeFieldEnum.textLogs) {
100
- dynamicField.textObs = object[indexName];
101
- }
102
- else {
103
- dynamicFormSetValues.push({
104
- name: dynamicFormIndexName,
105
- value: dynamicFormObject[dynamicFormIndexName]
106
- });
107
- }
108
- });
109
- field.dynamicFormConfig.setValues.next(dynamicFormSetValues);
110
- }
111
- else {
112
- this.autofill(object[indexName]);
92
+ (_c = (_b = field.moreItemsConfig) === null || _b === void 0 ? void 0 : _b.setValues) === null || _c === void 0 ? void 0 : _c.next(setValuesMoreItems);
93
+ }
94
+ else if (field.type === DynamicFormTypeFieldEnum.dynamicForm) {
95
+ const dynamicFormObject = object[indexName];
96
+ const dynamicFormSetValues = [];
97
+ Object.keys(dynamicFormObject).forEach(dynamicFormIndexName => {
98
+ var _a;
99
+ const arrDynamicField = koala(field.dynamicFormConfig.formConfig).array().filter(indexName, 'name').getValue();
100
+ const dynamicField = (_a = arrDynamicField[0]) !== null && _a !== void 0 ? _a : null;
101
+ if ((dynamicField === null || dynamicField === void 0 ? void 0 : dynamicField.type) === DynamicFormTypeFieldEnum.textLogs) {
102
+ dynamicField.textObs = object[indexName];
103
+ }
104
+ else {
105
+ dynamicFormSetValues.push({
106
+ name: dynamicFormIndexName,
107
+ value: dynamicFormObject[dynamicFormIndexName]
108
+ });
109
+ }
110
+ });
111
+ (_e = (_d = field.dynamicFormConfig) === null || _d === void 0 ? void 0 : _d.setValues) === null || _e === void 0 ? void 0 : _e.next(dynamicFormSetValues);
112
+ }
113
+ else {
114
+ this.autofill(object[indexName]);
115
+ }
113
116
  }
114
117
  }
115
118
  });
116
- this.config.setValues.next(setValues);
119
+ (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.setValues) === null || _b === void 0 ? void 0 : _b.next(setValues);
117
120
  }
118
121
  return this;
119
122
  }
@@ -135,4 +138,4 @@ export class DynamicFormBuilder {
135
138
  return new DynamicFormBuilder(this.fb, this.deviceService, this.config.formConfig);
136
139
  }
137
140
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2J1aWxkZXIvZHluYW1pYy1mb3JtLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSS9ELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDVSxFQUFlLEVBQ2YsYUFBb0MsRUFDNUMsY0FBaUQ7UUFGekMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUU1QyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFVBQVUsRUFBRSxjQUFjLGFBQWQsY0FBYyxjQUFkLGNBQWMsR0FBSSxFQUFFO1lBQ2hDLFNBQVMsRUFBRSxJQUFJLGVBQWUsQ0FBa0MsSUFBSSxDQUFDO1lBQ3JFLFVBQVUsRUFBRSxJQUFJLGVBQWUsQ0FBdUMsSUFBSSxDQUFDO1NBQzVFLENBQUE7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsSUFBMEI7UUFDbEUsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQztZQUNWLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxV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QUMsQ0FBQztRQUNqRyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDRSxJQUFJLEVBQUUsY0FBYztZQUNwQixJQUFJLEVBQUUsd0JBQXdCLENBQUMsU0FBUztTQUN6QyxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLGtCQUFrQixDQUMzQixJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUN2QixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEtvYWxhRHluYW1pY0Zvcm1Db25maWdJbnRlcmZhY2UgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tY29uZmlnLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMva29hbGEuZHluYW1pYy1mb3JtLWZpZWxkLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtIH0gZnJvbSBcIi4uL2VudW1zL2R5bmFtaWMtZm9ybS10eXBlLWZpZWxkLmVudW1cIjtcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUJ1aWxkZXIgfSBmcm9tIFwiLi9maWVsZHMvYXV0b2NvbXBsZXRlLmJ1aWxkZXJcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNTZXRWYWx1ZUludGVyZmFjZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtc2V0LXZhbHVlLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljRm9ybVNob3dGaWVsZEludGVyZmFjZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtZm9ybS1zaG93LWZpZWxkLmludGVyZmFjZVwiO1xuaW1wb3J0IHsga29hbGEgfSBmcm9tIFwiQGtvYWxhcngvdXRpbHNcIjtcbmltcG9ydCB7IERldmljZURldGVjdG9yU2VydmljZSB9IGZyb20gXCJuZ3gtZGV2aWNlLWRldGVjdG9yXCI7XG5pbXBvcnQgeyBGaWVsZEJ1aWxkZXIgfSBmcm9tIFwiLi9maWVsZHMvZmllbGQuYnVpbGRlclwiO1xuaW1wb3J0IHsgTW9yZUl0ZW1zQnVpbGRlciB9IGZyb20gXCIuL2ZpZWxkcy9tb3JlLWl0ZW1zLmJ1aWxkZXJcIjtcblxuZXhwb3J0IHR5cGUgRHluYW1pY0Zvcm1GaWVsZFR5cGUgPSAndGV4dCcgfCAncGFzc3dvcmQnIHwgJ2NwZicgfCAnY25waicgfCAnZGF0ZXRpbWUnIHwgJ2VtYWlsJyB8ICdwaG9uZScgfCAnbnVtYmVyJyB8ICdzdHJpbmdOdW1iZXInIHwgJ3ZhbHVlTGlzdCcgfCAndGV4dGFyZWEnIHwgJ3RpbWUnIHwgJ2hvdXJzQW5kTWludXRlcycgfCAnY2hlY2tib3gnIHwgJ3NlbGVjdCcgfCAnc2VsZWN0TXVsdGlwbGVOYXRpdmUnIHwgJ2NvaW4nIHwgJ3BlcmNlbnQnIHwgJ2lkJyB8ICd0ZXh0TG9ncycgfCAnY29sb3InIHwgJ2RhdGUnIHwgJ3JhZGlvJyB8ICdmbG9hdCcgfCAnbW9udGgnIHwgJ2NvbXBldGVuY2VEYXRlJyB8ICdzdHJpbmdXaXRoQ3VzdG9tTWFzYyc7XG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUJ1aWxkZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogS29hbGFEeW5hbWljRm9ybUNvbmZpZ0ludGVyZmFjZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIGRldmljZVNlcnZpY2U6IERldmljZURldGVjdG9yU2VydmljZSxcbiAgICBjb25maWdJbk1lbW9yeT86IEtvYWxhRHluYW1pY0Zvcm1GaWVsZEludGVyZmFjZVtdKSB7XG4gICAgdGhpcy5jb25maWcgPSB7XG4gICAgICBmb3JtOiBmYi5ncm91cCh7fSksXG4gICAgICBmb3JtQ29uZmlnOiBjb25maWdJbk1lbW9yeSA/PyBbXSxcbiAgICAgIHNldFZhbHVlczogbmV3IEJlaGF2aW9yU3ViamVjdDxLb2FsYUR5bmFtaWNTZXRWYWx1ZUludGVyZmFjZVtdPihudWxsKSxcbiAgICAgIHNob3dGaWVsZHM6IG5ldyBCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljRm9ybVNob3dGaWVsZEludGVyZmFjZVtdPihudWxsKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWVsZChsYWJlbDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIHR5cGU6IER5bmFtaWNGb3JtRmllbGRUeXBlKSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwiaWRcIjpcbiAgICAgIGNhc2UgXCJ0ZXh0XCI6XG4gICAgICBjYXNlIFwidGV4dGFyZWFcIjpcbiAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgIGNhc2UgXCJzdHJpbmdOdW1iZXJcIjpcbiAgICAgIGNhc2UgXCJjbnBqXCI6XG4gICAgICBjYXNlIFwiY3BmXCI6XG4gICAgICBjYXNlIFwiY29pblwiOlxuICAgICAgY2FzZSBcImNvbG9yXCI6XG4gICAgICBjYXNlIFwiZGF0ZVwiOlxuICAgICAgY2FzZSBcImRhdGV0aW1lXCI6XG4gICAgICBjYXNlIFwiZW1haWxcIjpcbiAgICAgIGNhc2UgXCJmbG9hdFwiOlxuICAgICAgY2FzZSBcInBhc3N3b3JkXCI6XG4gICAgICBjYXNlIFwicGVyY2VudFwiOlxuICAgICAgY2FzZSBcInBob25lXCI6XG4gICAgICBjYXNlIFwidGltZVwiOlxuICAgICAgY2FzZSBcImhvdXJzQW5kTWludXRlc1wiOlxuICAgICAgY2FzZSBcInRleHRMb2dzXCI6XG4gICAgICBjYXNlIFwidmFsdWVMaXN0XCI6XG4gICAgICBjYXNlIFwiY2hlY2tib3hcIjpcbiAgICAgIGNhc2UgXCJyYWRpb1wiOlxuICAgICAgY2FzZSBcInNlbGVjdFwiOlxuICAgICAgY2FzZSBcInNlbGVjdE11bHRpcGxlTmF0aXZlXCI6XG4gICAgICBjYXNlIFwibW9udGhcIjpcbiAgICAgIGNhc2UgXCJjb21wZXRlbmNlRGF0ZVwiOlxuICAgICAgY2FzZSBcInN0cmluZ1dpdGhDdXN0b21NYXNjXCI6XG4gICAgICAgIHJldHVybiBuZXcgRmllbGRCdWlsZGVyKGxhYmVsLCBuYW1lLCBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW1bdHlwZV0sIHRoaXMuY29uZmlnLCB0aGlzLmZiLCB0aGlzLmRldmljZVNlcnZpY2UpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhdXRvY29tcGxldGUobGFiZWw6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBBdXRvY29tcGxldGVCdWlsZGVyKGxhYmVsLCBuYW1lLCB0aGlzLmNvbmZpZywgdGhpcy5mYiwgdGhpcy5kZXZpY2VTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBzaW1wbGVNb3JlSXRlbXMobGFiZWw6IHN0cmluZywgbmFtZTogc3RyaW5nLCBidG5BZGRMYWJlbDogc3RyaW5nLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcbiAgICByZXR1cm4gbmV3IE1vcmVJdGVtc0J1aWxkZXIoXG4gICAgICBsYWJlbCxcbiAgICAgIG5hbWUsXG4gICAgICBidG5BZGRMYWJlbCxcbiAgICAgIG1pbixcbiAgICAgIG1heCxcbiAgICAgIHRoaXMuY29uZmlnLFxuICAgICAgdGhpcy5mYixcbiAgICAgIHRoaXMuZGV2aWNlU2VydmljZVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXV0b2ZpbGwob2JqZWN0OiBhbnkpIHtcbiAgICBpZiAob2JqZWN0KSB7XG4gICAgICBjb25zdCBzZXRWYWx1ZXM6IEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlW10gPSBbXTtcbiAgICAgIE9iamVjdC5rZXlzKG9iamVjdCkuZm9yRWFjaChpbmRleE5hbWUgPT4ge1xuXG4gICAgICAgIGNvbnN0IGFyckZpZWxkID0ga29hbGEodGhpcy5jb25maWcuZm9ybUNvbmZpZykuYXJyYXk8S29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlPigpLmZpbHRlcihpbmRleE5hbWUsICduYW1lJykuZ2V0VmFsdWUoKTtcbiAgICAgICAgY29uc3QgZmllbGQgPSBhcnJGaWVsZFswXSA/PyBudWxsO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICB0eXBlb2Ygb2JqZWN0W2luZGV4TmFtZV0gIT09IFwib2JqZWN0XCIgfHxcbiAgICAgICAgICBmaWVsZC50eXBlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0uYXV0b2NvbXBsZXRlIHx8XG4gICAgICAgICAgZmllbGQudHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLnNlbGVjdE11bHRpcGxlTmF0aXZlXG4gICAgICAgICkge1xuICAgICAgICAgIGlmIChmaWVsZD8udHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLnRleHRMb2dzKSB7XG4gICAgICAgICAgICBmaWVsZC50ZXh0T2JzID0gb2JqZWN0W2luZGV4TmFtZV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHNldFZhbHVlcy5wdXNoKHtcbiAgICAgICAgICAgICAgbmFtZTogaW5kZXhOYW1lLFxuICAgICAgICAgICAgICB2YWx1ZTogb2JqZWN0W2luZGV4TmFtZV1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLm1vcmVJdGVtcykge1xuICAgICAgICAgICAgY29uc3Qgc2V0VmFsdWVzTW9yZUl0ZW1zID0gW107XG4gICAgICAgICAgICBjb25zdCBvYmplY3RNb3JlSXRlbXMgPSBvYmplY3RbaW5kZXhOYW1lXSBhcyBhbnlbXTtcbiAgICAgICAgICAgIG9iamVjdE1vcmVJdGVtcy5mb3JFYWNoKG9iamVjdEl0ZW0gPT4ge1xuICAgICAgICAgICAgICBjb25zdCBtb3JlSXRlbVZhbHVlczogS29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXSA9IFtdO1xuICAgICAgICAgICAgICBPYmplY3Qua2V5cyhvYmplY3RJdGVtKS5mb3JFYWNoKG9iamVjdEluZGV4TmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgbW9yZUl0ZW1WYWx1ZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICBuYW1lOiBvYmplY3RJbmRleE5hbWUsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogb2JqZWN0SXRlbVtvYmplY3RJbmRleE5hbWVdXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBzZXRWYWx1ZXNNb3JlSXRlbXMucHVzaChuZXcgQmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlW10+KG1vcmVJdGVtVmFsdWVzKSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZmllbGQubW9yZUl0ZW1zQ29uZmlnLnNldFZhbHVlcy5uZXh0KHNldFZhbHVlc01vcmVJdGVtcyk7XG4gICAgICAgICAgfSBlbHNlIGlmIChmaWVsZC50eXBlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0uZHluYW1pY0Zvcm0pIHtcbiAgICAgICAgICAgIGNvbnN0IGR5bmFtaWNGb3JtT2JqZWN0ID0gb2JqZWN0W2luZGV4TmFtZV07XG4gICAgICAgICAgICBjb25zdCBkeW5hbWljRm9ybVNldFZhbHVlczogS29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXSA9IFtdO1xuXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhkeW5hbWljRm9ybU9iamVjdCkuZm9yRWFjaChkeW5hbWljRm9ybUluZGV4TmFtZSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGFyckR5bmFtaWNGaWVsZCA9IGtvYWxhKGZpZWxkLmR5bmFtaWNGb3JtQ29uZmlnLmZvcm1Db25maWcpLmFycmF5PEtvYWxhRHluYW1pY0Zvcm1GaWVsZEludGVyZmFjZT4oKS5maWx0ZXIoaW5kZXhOYW1lLCAnbmFtZScpLmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgIGNvbnN0IGR5bmFtaWNGaWVsZCA9IGFyckR5bmFtaWNGaWVsZFswXSA/PyBudWxsO1xuXG4gICAgICAgICAgICAgIGlmIChkeW5hbWljRmllbGQ/LnR5cGUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS50ZXh0TG9ncykge1xuICAgICAgICAgICAgICAgIGR5bmFtaWNGaWVsZC50ZXh0T2JzID0gb2JqZWN0W2luZGV4TmFtZV07XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZHluYW1pY0Zvcm1TZXRWYWx1ZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICBuYW1lOiBkeW5hbWljRm9ybUluZGV4TmFtZSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBkeW5hbWljRm9ybU9iamVjdFtkeW5hbWljRm9ybUluZGV4TmFtZV1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGZpZWxkLmR5bmFtaWNGb3JtQ29uZmlnLnNldFZhbHVlcy5uZXh0KGR5bmFtaWNGb3JtU2V0VmFsdWVzKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hdXRvZmlsbChvYmplY3RbaW5kZXhOYW1lXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5jb25maWcuc2V0VmFsdWVzLm5leHQoc2V0VmFsdWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBsaXRlcmFsQ29uZmlnKGNvbmZpZzogS29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlKSB7XG4gICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZy5wdXNoKGNvbmZpZyk7XG4gICAgaWYgKGNvbmZpZy50eXBlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0ubW9yZUl0ZW1zKSB0aGlzLmdlbmVyYXRlTW9yZUl0ZW1zKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGUoKSB7XG4gICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZyA9IHRoaXMuY29uZmlnLmZvcm1Db25maWcuZmlsdGVyKGNvbmZpZyA9PiBjb25maWcubmFtZSAhPT0gJ2VuZE1vcmVJdGVtcycpO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZztcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZU1vcmVJdGVtcygpIHtcbiAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbmRNb3JlSXRlbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5tb3JlSXRlbXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljRm9ybUJ1aWxkZXIoXG4gICAgICB0aGlzLmZiLFxuICAgICAgdGhpcy5kZXZpY2VTZXJ2aWNlLFxuICAgICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZ1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtL3NyYy9saWIvZHluYW1pYy1mb3JtL2J1aWxkZXIvZHluYW1pYy1mb3JtLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSS9ELE1BQU0sT0FBTyxrQkFBa0I7SUFHN0IsWUFDVSxFQUFlLEVBQ2YsYUFBb0MsRUFDNUMsY0FBaUQ7UUFGekMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUU1QyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFVBQVUsRUFBRSxjQUFjLGFBQWQsY0FBYyxjQUFkLGNBQWMsR0FBSSxFQUFFO1lBQ2hDLFNBQVMsRUFBRSxJQUFJLGVBQWUsQ0FBa0MsSUFBSSxDQUFDO1lBQ3JFLFVBQVUsRUFBRSxJQUFJLGVBQWUsQ0FBdUMsSUFBSSxDQUFDO1NBQzVFLENBQUE7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsSUFBMEI7UUFDbEUsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLElBQUksQ0FBQztZQUNWLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLGNBQWMsQ0FBQztZQUNwQixLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssVUFBVSxDQUFDO1lBQ2hCLEtBQUssU0FBUyxDQUFDO1lBQ2YsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssaUJBQWlCLENBQUM7WUFDdkIsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxXQUFXLENBQUM7WUFDakIsS0FBSyxVQUFVLENBQUM7WUFDaEIsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLFFBQVEsQ0FBQztZQUNkLEtBQUssc0JBQXNCLENBQUM7WUFDNUIsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLGdCQUFnQixDQUFDO1lBQ3RCLEtBQUssc0JBQXNCO2dCQUN6QixPQUFPLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNsSDtJQUNILENBQUM7SUFFTSxZQUFZLENBQUMsS0FBYSxFQUFFLElBQVk7UUFDN0MsT0FBTyxJQUFJLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsV0FBbUIsRUFBRSxHQUFXLEVBQUUsR0FBVztRQUMvRixPQUFPLElBQUksZ0JBQWdCLENBQ3pCLEtBQUssRUFDTCxJQUFJLEVBQ0osV0FBVyxFQUNYLEdBQUcsRUFDSCxHQUFHLEVBQ0gsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxhQUFhLENBQ25CLENBQUM7SUFDSixDQUFDO0lBRU0sUUFBUSxDQUFDLE1BQVc7O1FBQ3pCLElBQUksTUFBTSxFQUFFO1lBQ1YsTUFBTSxTQUFTLEdBQW9DLEVBQUUsQ0FBQztZQUN0RCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTs7Z0JBRXRDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBa0MsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUM1SCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUV6QixNQUFNLEtBQUssR0FBRyxNQUFBLFFBQVEsQ0FBQyxDQUFDLENBQUMsbUNBQUksSUFBSSxDQUFDO29CQUVsQyxJQUNFLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLFFBQVE7d0JBQ3JDLEtBQUssQ0FBQyxJQUFJLEtBQUssd0JBQXdCLENBQUMsWUFBWTt3QkFDcEQsS0FBSyxDQUFDLElBQUksS0FBSyx3QkFBd0IsQ0FBQyxvQkFBb0IsRUFDNUQ7d0JBQ0EsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLHdCQUF3QixDQUFDLFFBQVEsRUFBRTs0QkFDcEQsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7eUJBQ25DOzZCQUFNOzRCQUNMLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0NBQ2IsSUFBSSxFQUFFLFNBQVM7Z0NBQ2YsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUM7NkJBQ3pCLENBQUMsQ0FBQzt5QkFDSjtxQkFDRjt5QkFBTTt3QkFDTCxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssd0JBQXdCLENBQUMsU0FBUyxFQUFFOzRCQUNyRCxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQzs0QkFDOUIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBVSxDQUFDOzRCQUNuRCxlQUFlLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dDQUNuQyxNQUFNLGNBQWMsR0FBb0MsRUFBRSxDQUFDO2dDQUMzRCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRTtvQ0FDaEQsY0FBYyxDQUFDLElBQUksQ0FBQzt3Q0FDbEIsSUFBSSxFQUFFLGVBQWU7d0NBQ3JCLEtBQUssRUFBRSxVQUFVLENBQUMsZUFBZSxDQUFDO3FDQUNuQyxDQUFDLENBQUM7Z0NBQ0wsQ0FBQyxDQUFDLENBQUM7Z0NBQ0gsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksZUFBZSxDQUFrQyxjQUFjLENBQUMsQ0FBQyxDQUFDOzRCQUNoRyxDQUFDLENBQUMsQ0FBQzs0QkFFSCxNQUFBLE1BQUEsS0FBSyxDQUFDLGVBQWUsMENBQUUsU0FBUywwQ0FBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQzt5QkFDNUQ7NkJBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLHdCQUF3QixDQUFDLFdBQVcsRUFBRTs0QkFDOUQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7NEJBQzVDLE1BQU0sb0JBQW9CLEdBQW9DLEVBQUUsQ0FBQzs0QkFFakUsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFOztnQ0FDNUQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUFLLEVBQWtDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQ0FDL0ksTUFBTSxZQUFZLEdBQUcsTUFBQSxlQUFlLENBQUMsQ0FBQyxDQUFDLG1DQUFJLElBQUksQ0FBQztnQ0FFaEQsSUFBSSxDQUFBLFlBQVksYUFBWixZQUFZLHVCQUFaLFlBQVksQ0FBRSxJQUFJLE1BQUssd0JBQXdCLENBQUMsUUFBUSxFQUFFO29DQUM1RCxZQUFZLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztpQ0FDMUM7cUNBQU07b0NBQ0wsb0JBQW9CLENBQUMsSUFBSSxDQUFDO3dDQUN4QixJQUFJLEVBQUUsb0JBQW9CO3dDQUMxQixLQUFLLEVBQUUsaUJBQWlCLENBQUMsb0JBQW9CLENBQUM7cUNBQy9DLENBQUMsQ0FBQztpQ0FDSjs0QkFDSCxDQUFDLENBQUMsQ0FBQzs0QkFFSCxNQUFBLE1BQUEsS0FBSyxDQUFDLGlCQUFpQiwwQ0FBRSxTQUFTLDBDQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO3lCQUNoRTs2QkFBTTs0QkFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3lCQUNsQztxQkFDRjtpQkFDRjtZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsTUFBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFNBQVMsMENBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sYUFBYSxDQUFDLE1BQXNDO1FBQ3pELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLEtBQUssd0JBQXdCLENBQUMsU0FBUztZQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2pGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxDQUFDO1FBQ2pHLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNFLElBQUksRUFBRSxjQUFjO1lBQ3BCLElBQUksRUFBRSx3QkFBd0IsQ0FBQyxTQUFTO1NBQ3pDLENBQUMsQ0FBQztRQUMvQixPQUFPLElBQUksa0JBQWtCLENBQzNCLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQ3ZCLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgS29hbGFEeW5hbWljRm9ybUNvbmZpZ0ludGVyZmFjZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2tvYWxhLmR5bmFtaWMtZm9ybS1jb25maWcuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNGb3JtRmllbGRJbnRlcmZhY2UgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9rb2FsYS5keW5hbWljLWZvcm0tZmllbGQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0gfSBmcm9tIFwiLi4vZW51bXMvZHluYW1pYy1mb3JtLXR5cGUtZmllbGQuZW51bVwiO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQnVpbGRlciB9IGZyb20gXCIuL2ZpZWxkcy9hdXRvY29tcGxldGUuYnVpbGRlclwiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMva29hbGEuZHluYW1pYy1zZXQtdmFsdWUuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBLb2FsYUR5bmFtaWNGb3JtU2hvd0ZpZWxkSW50ZXJmYWNlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMva29hbGEuZHluYW1pYy1mb3JtLXNob3ctZmllbGQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBrb2FsYSB9IGZyb20gXCJAa29hbGFyeC91dGlsc1wiO1xuaW1wb3J0IHsgRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlIH0gZnJvbSBcIm5neC1kZXZpY2UtZGV0ZWN0b3JcIjtcbmltcG9ydCB7IEZpZWxkQnVpbGRlciB9IGZyb20gXCIuL2ZpZWxkcy9maWVsZC5idWlsZGVyXCI7XG5pbXBvcnQgeyBNb3JlSXRlbXNCdWlsZGVyIH0gZnJvbSBcIi4vZmllbGRzL21vcmUtaXRlbXMuYnVpbGRlclwiO1xuXG5leHBvcnQgdHlwZSBEeW5hbWljRm9ybUZpZWxkVHlwZSA9ICd0ZXh0JyB8ICdwYXNzd29yZCcgfCAnY3BmJyB8ICdjbnBqJyB8ICdkYXRldGltZScgfCAnZW1haWwnIHwgJ3Bob25lJyB8ICdudW1iZXInIHwgJ3N0cmluZ051bWJlcicgfCAndmFsdWVMaXN0JyB8ICd0ZXh0YXJlYScgfCAndGltZScgfCAnaG91cnNBbmRNaW51dGVzJyB8ICdjaGVja2JveCcgfCAnc2VsZWN0JyB8ICdzZWxlY3RNdWx0aXBsZU5hdGl2ZScgfCAnY29pbicgfCAncGVyY2VudCcgfCAnaWQnIHwgJ3RleHRMb2dzJyB8ICdjb2xvcicgfCAnZGF0ZScgfCAncmFkaW8nIHwgJ2Zsb2F0JyB8ICdtb250aCcgfCAnY29tcGV0ZW5jZURhdGUnIHwgJ3N0cmluZ1dpdGhDdXN0b21NYXNjJztcblxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBLb2FsYUR5bmFtaWNGb3JtQ29uZmlnSW50ZXJmYWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgZGV2aWNlU2VydmljZTogRGV2aWNlRGV0ZWN0b3JTZXJ2aWNlLFxuICAgIGNvbmZpZ0luTWVtb3J5PzogS29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlW10pIHtcbiAgICB0aGlzLmNvbmZpZyA9IHtcbiAgICAgIGZvcm06IGZiLmdyb3VwKHt9KSxcbiAgICAgIGZvcm1Db25maWc6IGNvbmZpZ0luTWVtb3J5ID8/IFtdLFxuICAgICAgc2V0VmFsdWVzOiBuZXcgQmVoYXZpb3JTdWJqZWN0PEtvYWxhRHluYW1pY1NldFZhbHVlSW50ZXJmYWNlW10+KG51bGwpLFxuICAgICAgc2hvd0ZpZWxkczogbmV3IEJlaGF2aW9yU3ViamVjdDxLb2FsYUR5bmFtaWNGb3JtU2hvd0ZpZWxkSW50ZXJmYWNlW10+KG51bGwpXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpZWxkKGxhYmVsOiBzdHJpbmcsIG5hbWU6IHN0cmluZywgdHlwZTogRHluYW1pY0Zvcm1GaWVsZFR5cGUpIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgXCJpZFwiOlxuICAgICAgY2FzZSBcInRleHRcIjpcbiAgICAgIGNhc2UgXCJ0ZXh0YXJlYVwiOlxuICAgICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgY2FzZSBcInN0cmluZ051bWJlclwiOlxuICAgICAgY2FzZSBcImNucGpcIjpcbiAgICAgIGNhc2UgXCJjcGZcIjpcbiAgICAgIGNhc2UgXCJjb2luXCI6XG4gICAgICBjYXNlIFwiY29sb3JcIjpcbiAgICAgIGNhc2UgXCJkYXRlXCI6XG4gICAgICBjYXNlIFwiZGF0ZXRpbWVcIjpcbiAgICAgIGNhc2UgXCJlbWFpbFwiOlxuICAgICAgY2FzZSBcImZsb2F0XCI6XG4gICAgICBjYXNlIFwicGFzc3dvcmRcIjpcbiAgICAgIGNhc2UgXCJwZXJjZW50XCI6XG4gICAgICBjYXNlIFwicGhvbmVcIjpcbiAgICAgIGNhc2UgXCJ0aW1lXCI6XG4gICAgICBjYXNlIFwiaG91cnNBbmRNaW51dGVzXCI6XG4gICAgICBjYXNlIFwidGV4dExvZ3NcIjpcbiAgICAgIGNhc2UgXCJ2YWx1ZUxpc3RcIjpcbiAgICAgIGNhc2UgXCJjaGVja2JveFwiOlxuICAgICAgY2FzZSBcInJhZGlvXCI6XG4gICAgICBjYXNlIFwic2VsZWN0XCI6XG4gICAgICBjYXNlIFwic2VsZWN0TXVsdGlwbGVOYXRpdmVcIjpcbiAgICAgIGNhc2UgXCJtb250aFwiOlxuICAgICAgY2FzZSBcImNvbXBldGVuY2VEYXRlXCI6XG4gICAgICBjYXNlIFwic3RyaW5nV2l0aEN1c3RvbU1hc2NcIjpcbiAgICAgICAgcmV0dXJuIG5ldyBGaWVsZEJ1aWxkZXIobGFiZWwsIG5hbWUsIER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bVt0eXBlXSwgdGhpcy5jb25maWcsIHRoaXMuZmIsIHRoaXMuZGV2aWNlU2VydmljZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGF1dG9jb21wbGV0ZShsYWJlbDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IEF1dG9jb21wbGV0ZUJ1aWxkZXIobGFiZWwsIG5hbWUsIHRoaXMuY29uZmlnLCB0aGlzLmZiLCB0aGlzLmRldmljZVNlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIHNpbXBsZU1vcmVJdGVtcyhsYWJlbDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIGJ0bkFkZExhYmVsOiBzdHJpbmcsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICAgIHJldHVybiBuZXcgTW9yZUl0ZW1zQnVpbGRlcihcbiAgICAgIGxhYmVsLFxuICAgICAgbmFtZSxcbiAgICAgIGJ0bkFkZExhYmVsLFxuICAgICAgbWluLFxuICAgICAgbWF4LFxuICAgICAgdGhpcy5jb25maWcsXG4gICAgICB0aGlzLmZiLFxuICAgICAgdGhpcy5kZXZpY2VTZXJ2aWNlXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhdXRvZmlsbChvYmplY3Q6IGFueSkge1xuICAgIGlmIChvYmplY3QpIHtcbiAgICAgIGNvbnN0IHNldFZhbHVlczogS29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXSA9IFtdO1xuICAgICAgT2JqZWN0LmtleXMob2JqZWN0KS5mb3JFYWNoKGluZGV4TmFtZSA9PiB7XG5cbiAgICAgICAgY29uc3QgYXJyRmllbGQgPSBrb2FsYSh0aGlzLmNvbmZpZy5mb3JtQ29uZmlnKS5hcnJheTxLb2FsYUR5bmFtaWNGb3JtRmllbGRJbnRlcmZhY2U+KCkuZmlsdGVyKGluZGV4TmFtZSwgJ25hbWUnKS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAoYXJyRmllbGQubGVuZ3RoID09PSAxKSB7XG5cbiAgICAgICAgICBjb25zdCBmaWVsZCA9IGFyckZpZWxkWzBdID8/IG51bGw7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2Ygb2JqZWN0W2luZGV4TmFtZV0gIT09IFwib2JqZWN0XCIgfHxcbiAgICAgICAgICAgIGZpZWxkLnR5cGUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5hdXRvY29tcGxldGUgfHxcbiAgICAgICAgICAgIGZpZWxkLnR5cGUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5zZWxlY3RNdWx0aXBsZU5hdGl2ZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS50ZXh0TG9ncykge1xuICAgICAgICAgICAgICBmaWVsZC50ZXh0T2JzID0gb2JqZWN0W2luZGV4TmFtZV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZXRWYWx1ZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogaW5kZXhOYW1lLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBvYmplY3RbaW5kZXhOYW1lXVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGZpZWxkLnR5cGUgPT09IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5tb3JlSXRlbXMpIHtcbiAgICAgICAgICAgICAgY29uc3Qgc2V0VmFsdWVzTW9yZUl0ZW1zID0gW107XG4gICAgICAgICAgICAgIGNvbnN0IG9iamVjdE1vcmVJdGVtcyA9IG9iamVjdFtpbmRleE5hbWVdIGFzIGFueVtdO1xuICAgICAgICAgICAgICBvYmplY3RNb3JlSXRlbXMuZm9yRWFjaChvYmplY3RJdGVtID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtb3JlSXRlbVZhbHVlczogS29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXSA9IFtdO1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKG9iamVjdEl0ZW0pLmZvckVhY2gob2JqZWN0SW5kZXhOYW1lID0+IHtcbiAgICAgICAgICAgICAgICAgIG1vcmVJdGVtVmFsdWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBvYmplY3RJbmRleE5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvYmplY3RJdGVtW29iamVjdEluZGV4TmFtZV1cbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHNldFZhbHVlc01vcmVJdGVtcy5wdXNoKG5ldyBCZWhhdmlvclN1YmplY3Q8S29hbGFEeW5hbWljU2V0VmFsdWVJbnRlcmZhY2VbXT4obW9yZUl0ZW1WYWx1ZXMpKTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgZmllbGQubW9yZUl0ZW1zQ29uZmlnPy5zZXRWYWx1ZXM/Lm5leHQoc2V0VmFsdWVzTW9yZUl0ZW1zKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gRHluYW1pY0Zvcm1UeXBlRmllbGRFbnVtLmR5bmFtaWNGb3JtKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGR5bmFtaWNGb3JtT2JqZWN0ID0gb2JqZWN0W2luZGV4TmFtZV07XG4gICAgICAgICAgICAgIGNvbnN0IGR5bmFtaWNGb3JtU2V0VmFsdWVzOiBLb2FsYUR5bmFtaWNTZXRWYWx1ZUludGVyZmFjZVtdID0gW107XG5cbiAgICAgICAgICAgICAgT2JqZWN0LmtleXMoZHluYW1pY0Zvcm1PYmplY3QpLmZvckVhY2goZHluYW1pY0Zvcm1JbmRleE5hbWUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFyckR5bmFtaWNGaWVsZCA9IGtvYWxhKGZpZWxkLmR5bmFtaWNGb3JtQ29uZmlnLmZvcm1Db25maWcpLmFycmF5PEtvYWxhRHluYW1pY0Zvcm1GaWVsZEludGVyZmFjZT4oKS5maWx0ZXIoaW5kZXhOYW1lLCAnbmFtZScpLmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZHluYW1pY0ZpZWxkID0gYXJyRHluYW1pY0ZpZWxkWzBdID8/IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAoZHluYW1pY0ZpZWxkPy50eXBlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0udGV4dExvZ3MpIHtcbiAgICAgICAgICAgICAgICAgIGR5bmFtaWNGaWVsZC50ZXh0T2JzID0gb2JqZWN0W2luZGV4TmFtZV07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGR5bmFtaWNGb3JtU2V0VmFsdWVzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBkeW5hbWljRm9ybUluZGV4TmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGR5bmFtaWNGb3JtT2JqZWN0W2R5bmFtaWNGb3JtSW5kZXhOYW1lXVxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICBmaWVsZC5keW5hbWljRm9ybUNvbmZpZz8uc2V0VmFsdWVzPy5uZXh0KGR5bmFtaWNGb3JtU2V0VmFsdWVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuYXV0b2ZpbGwob2JqZWN0W2luZGV4TmFtZV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuY29uZmlnPy5zZXRWYWx1ZXM/Lm5leHQoc2V0VmFsdWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBsaXRlcmFsQ29uZmlnKGNvbmZpZzogS29hbGFEeW5hbWljRm9ybUZpZWxkSW50ZXJmYWNlKSB7XG4gICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZy5wdXNoKGNvbmZpZyk7XG4gICAgaWYgKGNvbmZpZy50eXBlID09PSBEeW5hbWljRm9ybVR5cGVGaWVsZEVudW0ubW9yZUl0ZW1zKSB0aGlzLmdlbmVyYXRlTW9yZUl0ZW1zKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGUoKSB7XG4gICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZyA9IHRoaXMuY29uZmlnLmZvcm1Db25maWcuZmlsdGVyKGNvbmZpZyA9PiBjb25maWcubmFtZSAhPT0gJ2VuZE1vcmVJdGVtcycpO1xuICAgIHJldHVybiB0aGlzLmNvbmZpZztcbiAgfVxuXG4gIHB1YmxpYyBnZW5lcmF0ZU1vcmVJdGVtcygpIHtcbiAgICB0aGlzLmNvbmZpZy5mb3JtQ29uZmlnLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdlbmRNb3JlSXRlbXMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IER5bmFtaWNGb3JtVHlwZUZpZWxkRW51bS5tb3JlSXRlbXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgcmV0dXJuIG5ldyBEeW5hbWljRm9ybUJ1aWxkZXIoXG4gICAgICB0aGlzLmZiLFxuICAgICAgdGhpcy5kZXZpY2VTZXJ2aWNlLFxuICAgICAgdGhpcy5jb25maWcuZm9ybUNvbmZpZ1xuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -387,66 +387,69 @@ class DynamicFormBuilder {
387
387
  return new MoreItemsBuilder(label, name, btnAddLabel, min, max, this.config, this.fb, this.deviceService);
388
388
  }
389
389
  autofill(object) {
390
+ var _a, _b;
390
391
  if (object) {
391
392
  const setValues = [];
392
393
  Object.keys(object).forEach(indexName => {
393
- var _a;
394
+ var _a, _b, _c, _d, _e;
394
395
  const arrField = koala(this.config.formConfig).array().filter(indexName, 'name').getValue();
395
- const field = (_a = arrField[0]) !== null && _a !== void 0 ? _a : null;
396
- if (typeof object[indexName] !== "object" ||
397
- field.type === DynamicFormTypeFieldEnum.autocomplete ||
398
- field.type === DynamicFormTypeFieldEnum.selectMultipleNative) {
399
- if ((field === null || field === void 0 ? void 0 : field.type) === DynamicFormTypeFieldEnum.textLogs) {
400
- field.textObs = object[indexName];
396
+ if (arrField.length === 1) {
397
+ const field = (_a = arrField[0]) !== null && _a !== void 0 ? _a : null;
398
+ if (typeof object[indexName] !== "object" ||
399
+ field.type === DynamicFormTypeFieldEnum.autocomplete ||
400
+ field.type === DynamicFormTypeFieldEnum.selectMultipleNative) {
401
+ if (field.type === DynamicFormTypeFieldEnum.textLogs) {
402
+ field.textObs = object[indexName];
403
+ }
404
+ else {
405
+ setValues.push({
406
+ name: indexName,
407
+ value: object[indexName]
408
+ });
409
+ }
401
410
  }
402
411
  else {
403
- setValues.push({
404
- name: indexName,
405
- value: object[indexName]
406
- });
407
- }
408
- }
409
- else {
410
- if (field.type === DynamicFormTypeFieldEnum.moreItems) {
411
- const setValuesMoreItems = [];
412
- const objectMoreItems = object[indexName];
413
- objectMoreItems.forEach(objectItem => {
414
- const moreItemValues = [];
415
- Object.keys(objectItem).forEach(objectIndexName => {
416
- moreItemValues.push({
417
- name: objectIndexName,
418
- value: objectItem[objectIndexName]
412
+ if (field.type === DynamicFormTypeFieldEnum.moreItems) {
413
+ const setValuesMoreItems = [];
414
+ const objectMoreItems = object[indexName];
415
+ objectMoreItems.forEach(objectItem => {
416
+ const moreItemValues = [];
417
+ Object.keys(objectItem).forEach(objectIndexName => {
418
+ moreItemValues.push({
419
+ name: objectIndexName,
420
+ value: objectItem[objectIndexName]
421
+ });
419
422
  });
423
+ setValuesMoreItems.push(new BehaviorSubject(moreItemValues));
420
424
  });
421
- setValuesMoreItems.push(new BehaviorSubject(moreItemValues));
422
- });
423
- field.moreItemsConfig.setValues.next(setValuesMoreItems);
424
- }
425
- else if (field.type === DynamicFormTypeFieldEnum.dynamicForm) {
426
- const dynamicFormObject = object[indexName];
427
- const dynamicFormSetValues = [];
428
- Object.keys(dynamicFormObject).forEach(dynamicFormIndexName => {
429
- var _a;
430
- const arrDynamicField = koala(field.dynamicFormConfig.formConfig).array().filter(indexName, 'name').getValue();
431
- const dynamicField = (_a = arrDynamicField[0]) !== null && _a !== void 0 ? _a : null;
432
- if ((dynamicField === null || dynamicField === void 0 ? void 0 : dynamicField.type) === DynamicFormTypeFieldEnum.textLogs) {
433
- dynamicField.textObs = object[indexName];
434
- }
435
- else {
436
- dynamicFormSetValues.push({
437
- name: dynamicFormIndexName,
438
- value: dynamicFormObject[dynamicFormIndexName]
439
- });
440
- }
441
- });
442
- field.dynamicFormConfig.setValues.next(dynamicFormSetValues);
443
- }
444
- else {
445
- this.autofill(object[indexName]);
425
+ (_c = (_b = field.moreItemsConfig) === null || _b === void 0 ? void 0 : _b.setValues) === null || _c === void 0 ? void 0 : _c.next(setValuesMoreItems);
426
+ }
427
+ else if (field.type === DynamicFormTypeFieldEnum.dynamicForm) {
428
+ const dynamicFormObject = object[indexName];
429
+ const dynamicFormSetValues = [];
430
+ Object.keys(dynamicFormObject).forEach(dynamicFormIndexName => {
431
+ var _a;
432
+ const arrDynamicField = koala(field.dynamicFormConfig.formConfig).array().filter(indexName, 'name').getValue();
433
+ const dynamicField = (_a = arrDynamicField[0]) !== null && _a !== void 0 ? _a : null;
434
+ if ((dynamicField === null || dynamicField === void 0 ? void 0 : dynamicField.type) === DynamicFormTypeFieldEnum.textLogs) {
435
+ dynamicField.textObs = object[indexName];
436
+ }
437
+ else {
438
+ dynamicFormSetValues.push({
439
+ name: dynamicFormIndexName,
440
+ value: dynamicFormObject[dynamicFormIndexName]
441
+ });
442
+ }
443
+ });
444
+ (_e = (_d = field.dynamicFormConfig) === null || _d === void 0 ? void 0 : _d.setValues) === null || _e === void 0 ? void 0 : _e.next(dynamicFormSetValues);
445
+ }
446
+ else {
447
+ this.autofill(object[indexName]);
448
+ }
446
449
  }
447
450
  }
448
451
  });
449
- this.config.setValues.next(setValues);
452
+ (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.setValues) === null || _b === void 0 ? void 0 : _b.next(setValues);
450
453
  }
451
454
  return this;
452
455
  }