@3kles/kles-material-dynamicforms 14.8.1 → 14.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,18 @@
1
- import { FormArray, FormGroup } from "@angular/forms";
1
+ import { FormArray, FormControl, FormGroup } from "@angular/forms";
2
2
  import { KlesFormControl } from "./default.control";
3
+ import { v4 as uuidv4 } from 'uuid';
3
4
  export class KlesFormArray extends KlesFormControl {
4
5
  create() {
5
- const array = new FormArray([]);
6
+ const array = new FormArray([], {
7
+ validators: this.bindValidations(this.field.validations || []),
8
+ asyncValidators: this.bindAsyncValidations(this.field.asyncValidations || []),
9
+ updateOn: this.field.updateOn || 'change'
10
+ });
6
11
  if (this.field.value && Array.isArray(this.field.value)) {
7
12
  if (this.field.collections && Array.isArray(this.field.collections)) {
8
13
  this.field.value.forEach(val => {
9
14
  const group = new FormGroup({});
15
+ group.addControl('_id', new FormControl(uuidv4()));
10
16
  this.field.collections.forEach(subfield => {
11
17
  const data = val[subfield.name] || null;
12
18
  const control = new KlesFormControl({ ...subfield, ...(data && { value: data }) }).create();
@@ -24,7 +30,10 @@ export class KlesFormArray extends KlesFormControl {
24
30
  });
25
31
  array.push(group);
26
32
  }
33
+ if (this.field.disabled) {
34
+ array.disable();
35
+ }
27
36
  return array;
28
37
  }
29
38
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvYXJyYXkuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxlQUFlO0lBRXZDLE1BQU07UUFDVCxNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVoQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNyRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDakUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO3dCQUN0QyxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQzt3QkFDeEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxHQUFHLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUM1RixLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7b0JBQzdDLENBQUMsQ0FBQyxDQUFDO29CQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RCLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDSjthQUFNO1lBQ0gsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUN0QyxNQUFNLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDOUQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEtsZXNGb3JtQ29udHJvbCB9IGZyb20gXCIuL2RlZmF1bHQuY29udHJvbFwiO1xuXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1BcnJheSBleHRlbmRzIEtsZXNGb3JtQ29udHJvbCB7XG5cbiAgICBwdWJsaWMgY3JlYXRlKCk6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4ge1xuICAgICAgICBjb25zdCBhcnJheSA9IG5ldyBGb3JtQXJyYXkoW10pO1xuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnZhbHVlICYmIEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC52YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpZWxkLmNvbGxlY3Rpb25zICYmIEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlLmZvckVhY2godmFsID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5jb2xsZWN0aW9ucy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB2YWxbc3ViZmllbGQubmFtZV0gfHwgbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBuZXcgS2xlc0Zvcm1Db250cm9sKHsgLi4uc3ViZmllbGQsIC4uLihkYXRhICYmIHsgdmFsdWU6IGRhdGEgfSkgfSkuY3JlYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBncm91cC5hZGRDb250cm9sKHN1YmZpZWxkLm5hbWUsIGNvbnRyb2wpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgYXJyYXkucHVzaChncm91cCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBncm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgICAgICAgICAgdGhpcy5maWVsZC5jb2xsZWN0aW9ucy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gbmV3IEtsZXNGb3JtQ29udHJvbCh7IC4uLnN1YmZpZWxkIH0pLmNyZWF0ZSgpO1xuICAgICAgICAgICAgICAgIGdyb3VwLmFkZENvbnRyb2woc3ViZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGFycmF5LnB1c2goZ3JvdXApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG59XG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvYXJyYXkuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxFQUFFLElBQUksTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE1BQU0sT0FBTyxhQUFjLFNBQVEsZUFBZTtJQUV2QyxNQUFNO1FBQ1QsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFFO1lBQzVCLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUM5RCxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1lBQzdFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxRQUFRO1NBQzVDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNoQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ25ELElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDdEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUM7d0JBQ3hDLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsR0FBRyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDNUYsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO29CQUM3QyxDQUFDLENBQUMsQ0FBQztvQkFDSCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7YUFBTTtZQUNILE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxHQUFHLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzlELEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztZQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckI7UUFHRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ3JCLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNuQjtRQUdELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBLbGVzRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi9kZWZhdWx0LmNvbnRyb2xcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gJ3V1aWQnO1xuXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1BcnJheSBleHRlbmRzIEtsZXNGb3JtQ29udHJvbCB7XG5cbiAgICBwdWJsaWMgY3JlYXRlKCk6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4ge1xuICAgICAgICBjb25zdCBhcnJheSA9IG5ldyBGb3JtQXJyYXkoW10sIHtcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6IHRoaXMuYmluZFZhbGlkYXRpb25zKHRoaXMuZmllbGQudmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgYXN5bmNWYWxpZGF0b3JzOiB0aGlzLmJpbmRBc3luY1ZhbGlkYXRpb25zKHRoaXMuZmllbGQuYXN5bmNWYWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICB1cGRhdGVPbjogdGhpcy5maWVsZC51cGRhdGVPbiB8fCAnY2hhbmdlJ1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC52YWx1ZSAmJiBBcnJheS5pc0FycmF5KHRoaXMuZmllbGQudmFsdWUpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZC5jb2xsZWN0aW9ucyAmJiBBcnJheS5pc0FycmF5KHRoaXMuZmllbGQuY29sbGVjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZS5mb3JFYWNoKHZhbCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgICAgICAgICAgICAgICAgIGdyb3VwLmFkZENvbnRyb2woJ19pZCcsIG5ldyBGb3JtQ29udHJvbCh1dWlkdjQoKSkpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHZhbFtzdWJmaWVsZC5uYW1lXSB8fCBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IG5ldyBLbGVzRm9ybUNvbnRyb2woeyAuLi5zdWJmaWVsZCwgLi4uKGRhdGEgJiYgeyB2YWx1ZTogZGF0YSB9KSB9KS5jcmVhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwLmFkZENvbnRyb2woc3ViZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBhcnJheS5wdXNoKGdyb3VwKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgICAgICAgICB0aGlzLmZpZWxkLmNvbGxlY3Rpb25zLmZvckVhY2goc3ViZmllbGQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSBuZXcgS2xlc0Zvcm1Db250cm9sKHsgLi4uc3ViZmllbGQgfSkuY3JlYXRlKCk7XG4gICAgICAgICAgICAgICAgZ3JvdXAuYWRkQ29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYXJyYXkucHVzaChncm91cCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBhcnJheS5kaXNhYmxlKCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG59XG4iXX0=
@@ -11,6 +11,9 @@ export class KlesFormControl {
11
11
  asyncValidators: this.bindAsyncValidations(this.field.asyncValidations || []),
12
12
  updateOn: this.field.updateOn || 'change'
13
13
  });
14
+ if (this.field.disabled) {
15
+ control.disable();
16
+ }
14
17
  if (this.field.asyncValue) {
15
18
  concat(of({ value: null, pending: true }), this.field.asyncValue.pipe(take(1), catchError((err) => {
16
19
  console.error(err);
@@ -21,7 +24,9 @@ export class KlesFormControl {
21
24
  control.disable({ emitEvent: false });
22
25
  }
23
26
  else {
24
- control.enable({ emitEvent: false });
27
+ if (!this.field.disabled) {
28
+ control.enable({ emitEvent: false });
29
+ }
25
30
  control.setValue(response.value);
26
31
  this.field.value = response.value;
27
32
  }
@@ -50,4 +55,4 @@ export class KlesFormControl {
50
55
  return null;
51
56
  }
52
57
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9jb250cm9scy9kZWZhdWx0LmNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixXQUFXLEVBQWUsVUFBVSxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3ZELE1BQU0sT0FBTyxlQUFlO0lBRXhCLFlBQXNCLEtBQXVCO1FBQXZCLFVBQUssR0FBTCxLQUFLLENBQWtCO0lBQzdDLENBQUM7SUFFTSxNQUFNO1FBQ1QsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUNoQjtZQUNJLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUM5RCxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1lBQzdFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxRQUFRO1NBQzVDLENBQ0osQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDdkIsTUFBTSxDQUNGLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDdEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25CLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUM5QyxDQUNKLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQ3RDLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtvQkFDbEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2lCQUN6QztxQkFBTTtvQkFDSCxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7b0JBQ3JDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO2lCQUNyQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU0sZUFBZSxDQUFDLFdBQTBDO1FBQzdELElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBRXhDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLG9CQUFvQixDQUFDLFdBQStDO1FBQ3ZFLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3hCLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxVQUFVLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBRTdDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMsIEFzeW5jVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IGNvbmNhdCwgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvZmllbGQuY29uZmlnLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgSUtsZXNWYWxpZGF0b3IgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy92YWxpZGF0b3IuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBJS2xlc0NvbnRyb2wgfSBmcm9tIFwiLi9jb250cm9sLmludGVyZmFjZVwiO1xuXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1Db250cm9sIGltcGxlbWVudHMgSUtsZXNDb250cm9sIHtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmaWVsZDogSUtsZXNGaWVsZENvbmZpZykge1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGUoKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChcbiAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdmFsaWRhdG9yczogdGhpcy5iaW5kVmFsaWRhdGlvbnModGhpcy5maWVsZC52YWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICAgICAgYXN5bmNWYWxpZGF0b3JzOiB0aGlzLmJpbmRBc3luY1ZhbGlkYXRpb25zKHRoaXMuZmllbGQuYXN5bmNWYWxpZGF0aW9ucyB8fCBbXSksXG4gICAgICAgICAgICAgICAgdXBkYXRlT246IHRoaXMuZmllbGQudXBkYXRlT24gfHwgJ2NoYW5nZSdcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICBpZiAodGhpcy5maWVsZC5hc3luY1ZhbHVlKSB7XG4gICAgICAgICAgICBjb25jYXQoXG4gICAgICAgICAgICAgICAgb2YoeyB2YWx1ZTogbnVsbCwgcGVuZGluZzogdHJ1ZSB9KSxcbiAgICAgICAgICAgICAgICB0aGlzLmZpZWxkLmFzeW5jVmFsdWUucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBtYXAoKHZhbHVlKSA9PiAoeyB2YWx1ZSwgcGVuZGluZzogZmFsc2UgfSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5wZW5kaW5nID0gcmVzcG9uc2UucGVuZGluZztcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UucGVuZGluZykge1xuICAgICAgICAgICAgICAgICAgICBjb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5zZXRWYWx1ZShyZXNwb25zZS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQudmFsdWUgPSByZXNwb25zZS52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb250cm9sO1xuICAgIH1cblxuICAgIHB1YmxpYyBiaW5kVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IElLbGVzVmFsaWRhdG9yPFZhbGlkYXRvckZuPltdKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICBpZiAodmFsaWRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRMaXN0ID0gW107XG4gICAgICAgICAgICB2YWxpZGF0aW9ucy5mb3JFYWNoKHZhbGlkID0+IHtcbiAgICAgICAgICAgICAgICB2YWxpZExpc3QucHVzaCh2YWxpZC52YWxpZGF0b3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gVmFsaWRhdG9ycy5jb21wb3NlKHZhbGlkTGlzdCk7XG5cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgYmluZEFzeW5jVmFsaWRhdGlvbnModmFsaWRhdGlvbnM6IElLbGVzVmFsaWRhdG9yPEFzeW5jVmFsaWRhdG9yRm4+W10pOiBBc3luY1ZhbGlkYXRvckZuIHtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkTGlzdCA9IFtdO1xuICAgICAgICAgICAgdmFsaWRhdGlvbnMuZm9yRWFjaCh2YWxpZCA9PiB7XG4gICAgICAgICAgICAgICAgdmFsaWRMaXN0LnB1c2godmFsaWQudmFsaWRhdG9yKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRvcnMuY29tcG9zZUFzeW5jKHZhbGlkTGlzdCk7XG5cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9jb250cm9scy9kZWZhdWx0LmNvbnRyb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixXQUFXLEVBQWUsVUFBVSxFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS3ZELE1BQU0sT0FBTyxlQUFlO0lBRXhCLFlBQXNCLEtBQXVCO1FBQXZCLFVBQUssR0FBTCxLQUFLLENBQWtCO0lBQzdDLENBQUM7SUFFTSxNQUFNO1FBQ1QsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUNoQjtZQUNJLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUM5RCxlQUFlLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO1lBQzdFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxRQUFRO1NBQzVDLENBQ0osQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDckIsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3JCO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUN2QixNQUFNLENBQ0YsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN0QixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQzlDLENBQ0osQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDdEMsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO29CQUNsQixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7aUJBQ3pDO3FCQUFNO29CQUNILElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTt3QkFDdEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO3FCQUN4QztvQkFDRCxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztpQkFDckM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNOO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxXQUEwQztRQUM3RCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNyQixXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUV4QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxXQUErQztRQUN2RSxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUNyQixXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN4QixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUU3QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzLCBBc3luY1ZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBjb25jYXQsIG9mIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgdGFrZSB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgSUtsZXNGaWVsZENvbmZpZyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2ZpZWxkLmNvbmZpZy5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IElLbGVzVmFsaWRhdG9yIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvdmFsaWRhdG9yLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgSUtsZXNDb250cm9sIH0gZnJvbSBcIi4vY29udHJvbC5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtQ29udHJvbCBpbXBsZW1lbnRzIElLbGVzQ29udHJvbCB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZmllbGQ6IElLbGVzRmllbGRDb25maWcpIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlKCk6IEFic3RyYWN0Q29udHJvbCB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgICB0aGlzLmZpZWxkLnZhbHVlLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHZhbGlkYXRvcnM6IHRoaXMuYmluZFZhbGlkYXRpb25zKHRoaXMuZmllbGQudmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgICAgIGFzeW5jVmFsaWRhdG9yczogdGhpcy5iaW5kQXN5bmNWYWxpZGF0aW9ucyh0aGlzLmZpZWxkLmFzeW5jVmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgICAgIHVwZGF0ZU9uOiB0aGlzLmZpZWxkLnVwZGF0ZU9uIHx8ICdjaGFuZ2UnXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQuYXN5bmNWYWx1ZSkge1xuICAgICAgICAgICAgY29uY2F0KFxuICAgICAgICAgICAgICAgIG9mKHsgdmFsdWU6IG51bGwsIHBlbmRpbmc6IHRydWUgfSksXG4gICAgICAgICAgICAgICAgdGhpcy5maWVsZC5hc3luY1ZhbHVlLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCh2YWx1ZSkgPT4gKHsgdmFsdWUsIHBlbmRpbmc6IGZhbHNlIH0pKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZmllbGQucGVuZGluZyA9IHJlc3BvbnNlLnBlbmRpbmc7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnBlbmRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb250cm9sLnNldFZhbHVlKHJlc3BvbnNlLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC52YWx1ZSA9IHJlc3BvbnNlLnZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHVibGljIGJpbmRWYWxpZGF0aW9ucyh2YWxpZGF0aW9uczogSUtsZXNWYWxpZGF0b3I8VmFsaWRhdG9yRm4+W10pOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIGlmICh2YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHZhbGlkYXRpb25zLmZvckVhY2godmFsaWQgPT4ge1xuICAgICAgICAgICAgICAgIHZhbGlkTGlzdC5wdXNoKHZhbGlkLnZhbGlkYXRvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBWYWxpZGF0b3JzLmNvbXBvc2UodmFsaWRMaXN0KTtcblxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBiaW5kQXN5bmNWYWxpZGF0aW9ucyh2YWxpZGF0aW9uczogSUtsZXNWYWxpZGF0b3I8QXN5bmNWYWxpZGF0b3JGbj5bXSk6IEFzeW5jVmFsaWRhdG9yRm4ge1xuICAgICAgICBpZiAodmFsaWRhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgdmFsaWRMaXN0ID0gW107XG4gICAgICAgICAgICB2YWxpZGF0aW9ucy5mb3JFYWNoKHZhbGlkID0+IHtcbiAgICAgICAgICAgICAgICB2YWxpZExpc3QucHVzaCh2YWxpZC52YWxpZGF0b3IpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gVmFsaWRhdG9ycy5jb21wb3NlQXN5bmModmFsaWRMaXN0KTtcblxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -9,7 +9,10 @@ export class KlesFormGroup extends KlesFormControl {
9
9
  subGroup.addControl(subfield.name, control);
10
10
  });
11
11
  }
12
+ if (this.field.disabled) {
13
+ subGroup.disable();
14
+ }
12
15
  return subGroup;
13
16
  }
14
17
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvZ3JvdXAuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE1BQU0sT0FBTyxhQUFjLFNBQVEsZUFBZTtJQUV2QyxNQUFNO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN2RCxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBLbGVzRm9ybUNvbnRyb2wgfSBmcm9tIFwiLi9kZWZhdWx0LmNvbnRyb2xcIjtcblxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtR3JvdXAgZXh0ZW5kcyBLbGVzRm9ybUNvbnRyb2wge1xuXG4gICAgcHVibGljIGNyZWF0ZSgpOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHtcbiAgICAgICAgY29uc3Qgc3ViR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLmNvbGxlY3Rpb25zICYmIEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC5jb2xsZWN0aW9ucykpIHtcbiAgICAgICAgICAgIHRoaXMuZmllbGQuY29sbGVjdGlvbnMuZm9yRWFjaChzdWJmaWVsZCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IG5ldyBLbGVzRm9ybUNvbnRyb2woc3ViZmllbGQpLmNyZWF0ZSgpO1xuICAgICAgICAgICAgICAgIHN1Ykdyb3VwLmFkZENvbnRyb2woc3ViZmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3ViR3JvdXA7XG4gICAgfVxufVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvZ3JvdXAuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE1BQU0sT0FBTyxhQUFjLFNBQVEsZUFBZTtJQUV2QyxNQUFNO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN2RCxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDckIsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3RCO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEtsZXNGb3JtQ29udHJvbCB9IGZyb20gXCIuL2RlZmF1bHQuY29udHJvbFwiO1xuXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1Hcm91cCBleHRlbmRzIEtsZXNGb3JtQ29udHJvbCB7XG5cbiAgICBwdWJsaWMgY3JlYXRlKCk6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4ge1xuICAgICAgICBjb25zdCBzdWJHcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQuY29sbGVjdGlvbnMgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmZpZWxkLmNvbGxlY3Rpb25zKSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZC5jb2xsZWN0aW9ucy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gbmV3IEtsZXNGb3JtQ29udHJvbChzdWJmaWVsZCkuY3JlYXRlKCk7XG4gICAgICAgICAgICAgICAgc3ViR3JvdXAuYWRkQ29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHN1Ykdyb3VwLmRpc2FibGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdWJHcm91cDtcbiAgICB9XG59XG4iXX0=
@@ -69,6 +69,7 @@ import * as i3$1 from '@angular/flex-layout/flex';
69
69
  import * as i4$3 from '@angular/cdk/text-field';
70
70
  import * as i12 from 'ngx-mat-select-search';
71
71
  import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
72
+ import { v4 } from 'uuid';
72
73
 
73
74
  class KlesFormControl {
74
75
  constructor(field) {
@@ -80,6 +81,9 @@ class KlesFormControl {
80
81
  asyncValidators: this.bindAsyncValidations(this.field.asyncValidations || []),
81
82
  updateOn: this.field.updateOn || 'change'
82
83
  });
84
+ if (this.field.disabled) {
85
+ control.disable();
86
+ }
83
87
  if (this.field.asyncValue) {
84
88
  concat(of({ value: null, pending: true }), this.field.asyncValue.pipe(take(1), catchError((err) => {
85
89
  console.error(err);
@@ -90,7 +94,9 @@ class KlesFormControl {
90
94
  control.disable({ emitEvent: false });
91
95
  }
92
96
  else {
93
- control.enable({ emitEvent: false });
97
+ if (!this.field.disabled) {
98
+ control.enable({ emitEvent: false });
99
+ }
94
100
  control.setValue(response.value);
95
101
  this.field.value = response.value;
96
102
  }
@@ -2176,6 +2182,9 @@ class KlesFormGroup extends KlesFormControl {
2176
2182
  subGroup.addControl(subfield.name, control);
2177
2183
  });
2178
2184
  }
2185
+ if (this.field.disabled) {
2186
+ subGroup.disable();
2187
+ }
2179
2188
  return subGroup;
2180
2189
  }
2181
2190
  }
@@ -2908,11 +2917,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
2908
2917
 
2909
2918
  class KlesFormArray extends KlesFormControl {
2910
2919
  create() {
2911
- const array = new FormArray([]);
2920
+ const array = new FormArray([], {
2921
+ validators: this.bindValidations(this.field.validations || []),
2922
+ asyncValidators: this.bindAsyncValidations(this.field.asyncValidations || []),
2923
+ updateOn: this.field.updateOn || 'change'
2924
+ });
2912
2925
  if (this.field.value && Array.isArray(this.field.value)) {
2913
2926
  if (this.field.collections && Array.isArray(this.field.collections)) {
2914
2927
  this.field.value.forEach(val => {
2915
2928
  const group = new FormGroup({});
2929
+ group.addControl('_id', new FormControl(v4()));
2916
2930
  this.field.collections.forEach(subfield => {
2917
2931
  const data = val[subfield.name] || null;
2918
2932
  const control = new KlesFormControl(Object.assign(Object.assign({}, subfield), (data && { value: data }))).create();
@@ -2930,6 +2944,9 @@ class KlesFormArray extends KlesFormControl {
2930
2944
  });
2931
2945
  array.push(group);
2932
2946
  }
2947
+ if (this.field.disabled) {
2948
+ array.disable();
2949
+ }
2933
2950
  return array;
2934
2951
  }
2935
2952
  }