@3kles/kles-material-dynamicforms 14.8.0 → 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.
- package/esm2020/lib/controls/array.control.mjs +12 -3
- package/esm2020/lib/controls/default.control.mjs +7 -2
- package/esm2020/lib/controls/group.control.mjs +4 -1
- package/esm2020/lib/fields/array.component.mjs +3 -2
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/3kles-kles-material-dynamicforms.mjs +48 -31
- package/fesm2015/3kles-kles-material-dynamicforms.mjs.map +1 -1
- package/fesm2020/3kles-kles-material-dynamicforms.mjs +48 -31
- package/fesm2020/3kles-kles-material-dynamicforms.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -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,
|
|
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
|
-
|
|
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,
|
|
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,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9saWIvY29udHJvbHMvZ3JvdXAuY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBELE1BQU0sT0FBTyxhQUFjLFNBQVEsZUFBZTtJQUV2QyxNQUFNO1FBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN2RCxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEQsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7WUFDckIsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3RCO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEtsZXNGb3JtQ29udHJvbCB9IGZyb20gXCIuL2RlZmF1bHQuY29udHJvbFwiO1xuXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1Hcm91cCBleHRlbmRzIEtsZXNGb3JtQ29udHJvbCB7XG5cbiAgICBwdWJsaWMgY3JlYXRlKCk6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4ge1xuICAgICAgICBjb25zdCBzdWJHcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgICAgICAgaWYgKHRoaXMuZmllbGQuY29sbGVjdGlvbnMgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmZpZWxkLmNvbGxlY3Rpb25zKSkge1xuICAgICAgICAgICAgdGhpcy5maWVsZC5jb2xsZWN0aW9ucy5mb3JFYWNoKHN1YmZpZWxkID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250cm9sID0gbmV3IEtsZXNGb3JtQ29udHJvbChzdWJmaWVsZCkuY3JlYXRlKCk7XG4gICAgICAgICAgICAgICAgc3ViR3JvdXAuYWRkQ29udHJvbChzdWJmaWVsZC5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHN1Ykdyb3VwLmRpc2FibGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzdWJHcm91cDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
2
|
import { Component } from '@angular/core';
|
|
3
|
+
import { KlesFormArray } from '../controls/array.control';
|
|
3
4
|
import { FieldMapper } from '../decorators/component.decorator';
|
|
4
5
|
import { EnumType } from '../enums/type.enum';
|
|
5
6
|
import { KlesFieldAbstract } from './field.abstract';
|
|
@@ -34,7 +35,7 @@ KlesFormArrayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
34
35
|
</div>
|
|
35
36
|
`, isInline: true, styles: ["mat-form-field{width:100%}\n", ":host{display:flex;flex-direction:inherit}\n", ".group-container{display:flex;flex-direction:inherit}\n", ".row{gap:10px;flex-direction:row}\n", ".column{flex-direction:column;gap:0px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i4.KlesDynamicFieldDirective, selector: "[klesDynamicField]", inputs: ["field", "group", "siblingFields"] }] });
|
|
36
37
|
KlesFormArrayComponent = __decorate([
|
|
37
|
-
FieldMapper({ type: EnumType.array })
|
|
38
|
+
FieldMapper({ type: EnumType.array, factory: (field) => (new KlesFormArray(field).create()) })
|
|
38
39
|
], KlesFormArrayComponent);
|
|
39
40
|
export { KlesFormArrayComponent };
|
|
40
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KlesFormArrayComponent, decorators: [{
|
|
@@ -54,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
54
55
|
</div>
|
|
55
56
|
`, styles: ["mat-form-field{width:100%}\n", ":host{display:flex;flex-direction:inherit}\n", ".group-container{display:flex;flex-direction:inherit}\n", ".row{gap:10px;flex-direction:row}\n", ".column{flex-direction:column;gap:0px}\n"] }]
|
|
56
57
|
}] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMvc3JjL2xpYi9maWVsZHMvYXJyYXkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7O0lBMEJ4QyxzQkFBc0IsU0FBdEIsc0JBQXVCLFNBQVEsaUJBQWlCO0lBTXpELFFBQVE7UUFDSixxRUFBcUU7UUFDckUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQXFCLENBQUM7SUFDOUUsQ0FBQztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQztDQUNKLENBQUE7bUhBZlksc0JBQXNCO3VHQUF0QixzQkFBc0IseUVBckJyQjs7Ozs7Ozs7Ozs7OztDQWFiO0FBUVksc0JBQXNCO0lBeEJsQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0dBd0JsRixzQkFBc0IsQ0FlbEM7U0FmWSxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkF2QmxDLFNBQVM7K0JBQ0ksWUFBWSxZQUNaOzs7Ozs7Ozs7Ozs7O0NBYWIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgS2xlc0Zvcm1BcnJheSB9IGZyb20gJy4uL2NvbnRyb2xzL2FycmF5LmNvbnRyb2wnO1xuaW1wb3J0IHsgRmllbGRNYXBwZXIgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2NvbXBvbmVudC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgRW51bVR5cGUgfSBmcm9tICcuLi9lbnVtcy90eXBlLmVudW0nO1xuaW1wb3J0IHsgS2xlc0ZpZWxkQWJzdHJhY3QgfSBmcm9tICcuL2ZpZWxkLmFic3RyYWN0JztcblxuQEZpZWxkTWFwcGVyKHsgdHlwZTogRW51bVR5cGUuYXJyYXksIGZhY3Rvcnk6IChmaWVsZCkgPT4gKG5ldyBLbGVzRm9ybUFycmF5KGZpZWxkKS5jcmVhdGUoKSkgfSlcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2xlcy1hcnJheScsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZ3JvdXBcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbZm9ybUFycmF5TmFtZV09XCJmaWVsZC5uYW1lXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JvdXAtY29udGFpbmVyXCIgKm5nRm9yPVwibGV0IHN1Ykdyb3VwIG9mIGZvcm1BcnJheS5jb250cm9scyBsZXQgaW5kZXggPSBpbmRleDtcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiZmllbGQuZGlyZWN0aW9uID09PSAnY29sdW1uJyA/ICdjb2x1bW4nOiAncm93J1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YmZpZWxkIG9mIGZpZWxkLmNvbGxlY3Rpb25zO1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3ViZmllbGQudmlzaWJsZSAhPT0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAga2xlc0R5bmFtaWNGaWVsZCBbZmllbGRdPVwic3ViZmllbGRcIiBbZ3JvdXBdPVwic3ViR3JvdXBcIiBbc2libGluZ0ZpZWxkc109XCJmaWVsZC5jb2xsZWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbmAsXG4gICAgc3R5bGVzOiBbJ21hdC1mb3JtLWZpZWxkIHt3aWR0aDogY2FsYygxMDAlKX0nLFxuICAgICAgICAnOmhvc3QgeyBkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0fScsXG4gICAgICAgICcuZ3JvdXAtY29udGFpbmVyIHtkaXNwbGF5OmZsZXg7IGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0fScsXG4gICAgICAgICcucm93IHsgZ2FwOiAxMHB4OyBmbGV4LWRpcmVjdGlvbjogcm93IH0nLFxuICAgICAgICAnLmNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMHB4fSdcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtQXJyYXlDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIC8vIHN1Ykdyb3VwOiBGb3JtR3JvdXBcblxuICAgIGZvcm1BcnJheTogVW50eXBlZEZvcm1BcnJheTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyB0aGlzLnN1Ykdyb3VwID0gdGhpcy5ncm91cC5jb250cm9sc1t0aGlzLmZpZWxkLm5hbWVdIGFzIEZvcm1Hcm91cDtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5mb3JtQXJyYXkgPSB0aGlzLmdyb3VwLmNvbnRyb2xzW3RoaXMuZmllbGQubmFtZV0gYXMgVW50eXBlZEZvcm1BcnJheTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -67,4 +67,4 @@ export * from './lib/controls/control.interface';
|
|
|
67
67
|
export * from './lib/controls/default.control';
|
|
68
68
|
export * from './lib/controls/group.control';
|
|
69
69
|
export * from './lib/controls/range.control';
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2tsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxlQUFlO0FBQ2YsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZDQUE2QyxDQUFDO0FBRTVELFNBQVM7QUFDVCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxZQUFZO0FBQ1osY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLFdBQVc7QUFDWCxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGdCQUFnQjtBQUNoQixjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxhQUFhO0FBQ2IsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxnQkFBZ0I7QUFDaEIsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxVQUFVO0FBQ1YsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxXQUFXO0FBQ1gsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGdCQUFnQjtBQUNoQixjQUFjLHNDQUFzQyxDQUFDO0FBRXJELGVBQWU7QUFDZixjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWM7QUFDZCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGtsZXMtbWF0ZXJpYWwtZHluYW1pY2Zvcm1zXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIva2xlcy1tYXRlcmlhbC1keW5hbWljZm9ybXMubW9kdWxlJztcblxuLyoqRElSRUNUSVZFICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmUvZHluYW1pYy1maWVsZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlL2R5bmFtaWMtY29tcG9uZW50LmRpcmVjdGl2ZSc7XG5cbi8qRk9STVMqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvYnV0dG9uLWNvbnRyb2wuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm1zL2J1dHRvbmNoZWNrZXItY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybXMvYnV0dG9uZmlsZS1jb250cm9sLmNvbXBvbmVudCc7XG5cbi8qKkZJRUxEUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2JhZGdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvYnV0dG9uLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b25jaGVja2VyLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b25maWxlLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9idXR0b24tc3VibWl0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9jb2xvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2RhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9maWVsZC5hYnN0cmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9pbnB1dC5jbGVhcmFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2xpc3QtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3NlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3RleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2NoaXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9zZWxlY3Quc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvbGluZS1icmVhay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2xpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9zbGlkZS10b2dnbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9zZWxlY3Rpb24tbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL2J1dHRvbi10b29nbGUtZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ZpZWxkcy9hcnJheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmllbGRzL3JhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWVsZHMvY2xlYXIuY29tcG9uZW50JztcblxuLyoqRU5VTVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zL3R5cGUuZW51bSc7XG5cbi8qKklOVEVSRkFDRVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvY29tcG9uZW50LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2ZpZWxkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2ZpZWxkLmNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaW50ZXJmYWNlcy92YWxpZGF0b3IuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ludGVyZmFjZXMvZGlyZWN0aXZlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzL2NsZWFyLWNvbnRyb2wuaW50ZXJmYWNlJztcblxuLyoqTUFUQ0hFUiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWF0Y2hlci9mb3JtLWVycm9yLm1hdGNoZXInO1xuXG4vKipWQUxJREFUT1JTICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi92YWxpZGF0b3JzL2F1dG9jb21wbGV0ZS52YWxpZGF0b3InO1xuXG4vKipGT1JNICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9keW5hbWljLWZvcm0uY29tcG9uZW50JztcblxuLyoqUElQRVMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGUvYXJyYXkucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlL3RyYW5zZm9ybS5waXBlJztcblxuLyoqREVDT1JBVE9SUyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGVjb3JhdG9ycy9jb21wb25lbnQuZGVjb3JhdG9yJztcblxuLyoqRkFDVE9SSUVTICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mYWN0b3JpZXMvZmllbGQuZmFjdG9yeSc7XG5cbi8qKkNPTlRST0xTICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9hcnJheS5jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2NvbnRyb2wuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL2RlZmF1bHQuY29udHJvbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb250cm9scy9ncm91cC5jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbnRyb2xzL3JhbmdlLmNvbnRyb2wnO1xuIl19
|
|
@@ -3,7 +3,7 @@ import { Component, Injector, Directive, Input, EventEmitter, Output, Injectable
|
|
|
3
3
|
import * as i1 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i2 from '@angular/forms';
|
|
6
|
-
import { FormControl, Validators, FormControlDirective, FormControlName, NG_VALUE_ACCESSOR, UntypedFormGroup, UntypedFormControl, FormGroup, ReactiveFormsModule, FormsModule
|
|
6
|
+
import { FormControl, Validators, FormControlDirective, FormControlName, NG_VALUE_ACCESSOR, UntypedFormGroup, UntypedFormControl, FormArray, FormGroup, ReactiveFormsModule, FormsModule } from '@angular/forms';
|
|
7
7
|
import { concat, of, Subject, Observable, BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
8
8
|
import { take, catchError, map, takeUntil, startWith, switchMap } from 'rxjs/operators';
|
|
9
9
|
import * as i7$1 from '@angular/material/core';
|
|
@@ -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
|
-
|
|
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
|
}
|
|
@@ -2906,6 +2915,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
2906
2915
|
}]
|
|
2907
2916
|
}] });
|
|
2908
2917
|
|
|
2918
|
+
class KlesFormArray extends KlesFormControl {
|
|
2919
|
+
create() {
|
|
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
|
+
});
|
|
2925
|
+
if (this.field.value && Array.isArray(this.field.value)) {
|
|
2926
|
+
if (this.field.collections && Array.isArray(this.field.collections)) {
|
|
2927
|
+
this.field.value.forEach(val => {
|
|
2928
|
+
const group = new FormGroup({});
|
|
2929
|
+
group.addControl('_id', new FormControl(v4()));
|
|
2930
|
+
this.field.collections.forEach(subfield => {
|
|
2931
|
+
const data = val[subfield.name] || null;
|
|
2932
|
+
const control = new KlesFormControl(Object.assign(Object.assign({}, subfield), (data && { value: data }))).create();
|
|
2933
|
+
group.addControl(subfield.name, control);
|
|
2934
|
+
});
|
|
2935
|
+
array.push(group);
|
|
2936
|
+
});
|
|
2937
|
+
}
|
|
2938
|
+
}
|
|
2939
|
+
else {
|
|
2940
|
+
const group = new FormGroup({});
|
|
2941
|
+
this.field.collections.forEach(subfield => {
|
|
2942
|
+
const control = new KlesFormControl(Object.assign({}, subfield)).create();
|
|
2943
|
+
group.addControl(subfield.name, control);
|
|
2944
|
+
});
|
|
2945
|
+
array.push(group);
|
|
2946
|
+
}
|
|
2947
|
+
if (this.field.disabled) {
|
|
2948
|
+
array.disable();
|
|
2949
|
+
}
|
|
2950
|
+
return array;
|
|
2951
|
+
}
|
|
2952
|
+
}
|
|
2953
|
+
|
|
2909
2954
|
let KlesFormArrayComponent = class KlesFormArrayComponent extends KlesFieldAbstract {
|
|
2910
2955
|
ngOnInit() {
|
|
2911
2956
|
// this.subGroup = this.group.controls[this.field.name] as FormGroup;
|
|
@@ -2932,7 +2977,7 @@ KlesFormArrayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
2932
2977
|
</div>
|
|
2933
2978
|
`, isInline: true, styles: ["mat-form-field{width:100%}\n", ":host{display:flex;flex-direction:inherit}\n", ".group-container{display:flex;flex-direction:inherit}\n", ".row{gap:10px;flex-direction:row}\n", ".column{flex-direction:column;gap:0px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: KlesDynamicFieldDirective, selector: "[klesDynamicField]", inputs: ["field", "group", "siblingFields"] }] });
|
|
2934
2979
|
KlesFormArrayComponent = __decorate([
|
|
2935
|
-
FieldMapper({ type: EnumType.array })
|
|
2980
|
+
FieldMapper({ type: EnumType.array, factory: (field) => (new KlesFormArray(field).create()) })
|
|
2936
2981
|
], KlesFormArrayComponent);
|
|
2937
2982
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: KlesFormArrayComponent, decorators: [{
|
|
2938
2983
|
type: Component,
|
|
@@ -3221,34 +3266,6 @@ function autocompleteStringValidator(validOptions, optional) {
|
|
|
3221
3266
|
};
|
|
3222
3267
|
}
|
|
3223
3268
|
|
|
3224
|
-
class KlesFormArray extends KlesFormControl {
|
|
3225
|
-
create() {
|
|
3226
|
-
const array = new FormArray([]);
|
|
3227
|
-
if (this.field.value && Array.isArray(this.field.value)) {
|
|
3228
|
-
if (this.field.collections && Array.isArray(this.field.collections)) {
|
|
3229
|
-
this.field.value.forEach(val => {
|
|
3230
|
-
const group = new FormGroup({});
|
|
3231
|
-
this.field.collections.forEach(subfield => {
|
|
3232
|
-
const data = val[subfield.name] || null;
|
|
3233
|
-
const control = new KlesFormControl(Object.assign(Object.assign({}, subfield), (data && { value: data }))).create();
|
|
3234
|
-
group.addControl(subfield.name, control);
|
|
3235
|
-
});
|
|
3236
|
-
array.push(group);
|
|
3237
|
-
});
|
|
3238
|
-
}
|
|
3239
|
-
}
|
|
3240
|
-
else {
|
|
3241
|
-
const group = new FormGroup({});
|
|
3242
|
-
this.field.collections.forEach(subfield => {
|
|
3243
|
-
const control = new KlesFormControl(Object.assign({}, subfield)).create();
|
|
3244
|
-
group.addControl(subfield.name, control);
|
|
3245
|
-
});
|
|
3246
|
-
array.push(group);
|
|
3247
|
-
}
|
|
3248
|
-
return array;
|
|
3249
|
-
}
|
|
3250
|
-
}
|
|
3251
|
-
|
|
3252
3269
|
/*
|
|
3253
3270
|
* Public API Surface of kles-material-dynamicforms
|
|
3254
3271
|
*/
|