@3kles/kles-material-dynamicforms 17.12.4 → 17.12.6
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/esm2022/lib/fields/list-field.component.mjs +20 -11
- package/esm2022/lib/fields/text.component.mjs +15 -15
- package/fesm2022/3kles-kles-material-dynamicforms.mjs +33 -24
- package/fesm2022/3kles-kles-material-dynamicforms.mjs.map +1 -1
- package/lib/fields/list-field.component.d.ts +2 -0
- package/package.json +1 -1
|
@@ -4,6 +4,7 @@ import { KlesFieldAbstract } from './field.abstract';
|
|
|
4
4
|
import { Validators } from '@angular/forms';
|
|
5
5
|
import { FieldMapper } from '../decorators/component.decorator';
|
|
6
6
|
import { KlesFormArray } from '../controls/array.control';
|
|
7
|
+
import { cloneDeep } from 'lodash';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/forms";
|
|
9
10
|
import * as i2 from "@angular/material/button";
|
|
@@ -16,8 +17,14 @@ let KlesFormListFieldComponent = class KlesFormListFieldComponent extends KlesFi
|
|
|
16
17
|
super(viewRef);
|
|
17
18
|
this.fb = fb;
|
|
18
19
|
this.viewRef = viewRef;
|
|
20
|
+
this.collections = [];
|
|
19
21
|
}
|
|
20
22
|
ngOnInit() {
|
|
23
|
+
if (this.field.value && Array.isArray(this.field.value)) {
|
|
24
|
+
this.collections = this.field.value?.map(() => {
|
|
25
|
+
return this.field.collections ? cloneDeep(this.field.collections) : [];
|
|
26
|
+
});
|
|
27
|
+
}
|
|
21
28
|
this.formArray = this.group.controls[this.field.name];
|
|
22
29
|
super.ngOnInit();
|
|
23
30
|
}
|
|
@@ -30,9 +37,11 @@ let KlesFormListFieldComponent = class KlesFormListFieldComponent extends KlesFi
|
|
|
30
37
|
return group;
|
|
31
38
|
}
|
|
32
39
|
deleteField(index) {
|
|
40
|
+
this.collections.splice(index, 1);
|
|
33
41
|
this.formArray.removeAt(index);
|
|
34
42
|
}
|
|
35
43
|
addField() {
|
|
44
|
+
this.collections.push(this.field.collections ? cloneDeep(this.field.collections) : []);
|
|
36
45
|
this.formArray.push(this.createFormGroup());
|
|
37
46
|
}
|
|
38
47
|
bindValidations(validations) {
|
|
@@ -69,14 +78,14 @@ let KlesFormListFieldComponent = class KlesFormListFieldComponent extends KlesFi
|
|
|
69
78
|
</div>
|
|
70
79
|
|
|
71
80
|
<div class="dynamic-form" [formGroupName]="field.name">
|
|
72
|
-
@for (subGroup of formArray.controls; track subGroup.value._id) {
|
|
81
|
+
@for (subGroup of formArray.controls; track subGroup.value._id; let idx = $index) {
|
|
73
82
|
<div class="subfields">
|
|
74
|
-
@for (subfield of
|
|
75
|
-
<ng-container klesDynamicField [field]="subfield" [group]="subGroup">
|
|
83
|
+
@for (subfield of collections[idx]; track subfield.name) {
|
|
84
|
+
<ng-container klesDynamicField [field]="subfield" [group]="subGroup" [siblingFields]="collections[idx]">
|
|
76
85
|
</ng-container>
|
|
77
86
|
}
|
|
78
|
-
@if(
|
|
79
|
-
<button mat-icon-button (click)="deleteField(
|
|
87
|
+
@if(collections){
|
|
88
|
+
<button mat-icon-button (click)="deleteField(idx)" color="primary">
|
|
80
89
|
<mat-icon>delete_outlined</mat-icon>
|
|
81
90
|
</button>
|
|
82
91
|
}
|
|
@@ -116,14 +125,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
116
125
|
</div>
|
|
117
126
|
|
|
118
127
|
<div class="dynamic-form" [formGroupName]="field.name">
|
|
119
|
-
@for (subGroup of formArray.controls; track subGroup.value._id) {
|
|
128
|
+
@for (subGroup of formArray.controls; track subGroup.value._id; let idx = $index) {
|
|
120
129
|
<div class="subfields">
|
|
121
|
-
@for (subfield of
|
|
122
|
-
<ng-container klesDynamicField [field]="subfield" [group]="subGroup">
|
|
130
|
+
@for (subfield of collections[idx]; track subfield.name) {
|
|
131
|
+
<ng-container klesDynamicField [field]="subfield" [group]="subGroup" [siblingFields]="collections[idx]">
|
|
123
132
|
</ng-container>
|
|
124
133
|
}
|
|
125
|
-
@if(
|
|
126
|
-
<button mat-icon-button (click)="deleteField(
|
|
134
|
+
@if(collections){
|
|
135
|
+
<button mat-icon-button (click)="deleteField(idx)" color="primary">
|
|
127
136
|
<mat-icon>delete_outlined</mat-icon>
|
|
128
137
|
</button>
|
|
129
138
|
}
|
|
@@ -147,4 +156,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
147
156
|
</div>
|
|
148
157
|
`, styles: [".subfields{display:flex;flex-direction:row;gap:5px}\n", ".label{display:flex;align-items:center;flex-direction:row;gap:5px}\n"] }]
|
|
149
158
|
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i0.ViewContainerRef }] });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2ZpZWxkcy9saXN0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUF1RSxVQUFVLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFnRG5ELElBQU0sMEJBQTBCLEdBQWhDLE1BQU0sMEJBQTJCLFNBQVEsaUJBQWlCO0lBSTdELFlBQW9CLEVBQXNCLEVBQVksT0FBeUI7UUFDM0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBREMsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFBWSxZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUUvRSxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQXFCLENBQUM7UUFDMUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxlQUFlO1FBQ25CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FDM0IsSUFBSSxFQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsRUFDNUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FDekQsQ0FBQztZQUNGLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV6QyxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBRWpCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFHTyxlQUFlLENBQUMsV0FBMEM7UUFDOUQsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDckIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7U0FFeEM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBR08sb0JBQW9CLENBQUMsV0FBK0M7UUFDeEUsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN4QixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDckIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLFVBQVUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7U0FFN0M7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsV0FBVztRQUNQLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQWpFUSwwQkFBMEI7bUdBQTFCLDBCQUEwQixrRkEzQ3pCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F1Q1Q7O0FBSVEsMEJBQTBCO0lBOUN0QyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7R0E4Qy9FLDBCQUEwQixDQWtFdEM7OzRGQWxFWSwwQkFBMEI7a0JBN0N0QyxTQUFTOytCQUNJLHFCQUFxQixZQUNyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBdUNUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2xlc0ZpZWxkQWJzdHJhY3QgfSBmcm9tICcuL2ZpZWxkLmFic3RyYWN0JztcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMsIEFzeW5jVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJS2xlc1ZhbGlkYXRvciB9IGZyb20gJy4uL2ludGVyZmFjZXMvdmFsaWRhdG9yLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZE1hcHBlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBLbGVzRm9ybUFycmF5IH0gZnJvbSAnLi4vY29udHJvbHMvYXJyYXkuY29udHJvbCc7XG5cbkBGaWVsZE1hcHBlcih7IHR5cGU6ICdsaXN0ZmllbGQnLCBmYWN0b3J5OiAoZmllbGQpID0+IChuZXcgS2xlc0Zvcm1BcnJheShmaWVsZCkuY3JlYXRlKCkpIH0pXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tsZXMtZm9ybS1saXN0ZmllbGQnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbZm9ybUdyb3VwXT1cImdyb3VwXCIgY2xhc3M9XCJmb3JtLWVsZW1lbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICB7e2ZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJhZGRGaWVsZCgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmFkZDwvbWF0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtZm9ybVwiIFtmb3JtR3JvdXBOYW1lXT1cImZpZWxkLm5hbWVcIj5cbiAgICAgICAgICAgIEBmb3IgKHN1Ykdyb3VwIG9mIGZvcm1BcnJheS5jb250cm9sczsgdHJhY2sgc3ViR3JvdXAudmFsdWUuX2lkKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1YmZpZWxkc1wiPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChzdWJmaWVsZCBvZiBmaWVsZC5jb2xsZWN0aW9uczsgdHJhY2sgc3ViZmllbGQubmFtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBrbGVzRHluYW1pY0ZpZWxkIFtmaWVsZF09XCJzdWJmaWVsZFwiIFtncm91cF09XCJzdWJHcm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGlmKGZpZWxkLmNvbGxlY3Rpb25zKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJkZWxldGVGaWVsZCgkaW5kZXgpXCIgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZV9vdXRsaW5lZDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGZvciAodmFsaWRhdGlvbiBvZiBmaWVsZC52YWxpZGF0aW9uczsgdHJhY2sgdmFsaWRhdGlvbi5uYW1lKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cIm1hdC1lcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGdyb3VwLmdldChmaWVsZC5uYW1lKS5oYXNFcnJvcih2YWxpZGF0aW9uLm5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPnt7dmFsaWRhdGlvbi5tZXNzYWdlIHwgdHJhbnNsYXRlfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGZvciAodmFsaWRhdGlvbiBvZiBmaWVsZC5hc3luY1ZhbGlkYXRpb25zOyB0cmFjayB2YWxpZGF0aW9uLm5hbWUpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwibWF0LWVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZ3JvdXAuZ2V0KGZpZWxkLm5hbWUpLmhhc0Vycm9yKHZhbGlkYXRpb24ubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+e3t2YWxpZGF0aW9uLm1lc3NhZ2UgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGAsXG4gICAgc3R5bGVzOiBbJy5zdWJmaWVsZHMge2Rpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGdhcDo1cHh9JyxcbiAgICAgICAgYC5sYWJlbCB7ZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZmxleC1kaXJlY3Rpb246IHJvdzsgZ2FwOiA1cHg7fWBdXG59KVxuZXhwb3J0IGNsYXNzIEtsZXNGb3JtTGlzdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgS2xlc0ZpZWxkQWJzdHJhY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBmb3JtQXJyYXk6IFVudHlwZWRGb3JtQXJyYXk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHByb3RlY3RlZCB2aWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKHZpZXdSZWYpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1BcnJheSA9IHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRm9ybUdyb3VwKCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuICAgICAgICB0aGlzLmZpZWxkLmNvbGxlY3Rpb25zPy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbChcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIHRoaXMuYmluZFZhbGlkYXRpb25zKGl0ZW0udmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgICAgIHRoaXMuYmluZEFzeW5jVmFsaWRhdGlvbnMoaXRlbS5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGdyb3VwLmFkZENvbnRyb2woaXRlbS5uYW1lLCBjb250cm9sKTtcblxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gZ3JvdXA7XG5cbiAgICB9XG5cbiAgICBkZWxldGVGaWVsZChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgICB9XG5cbiAgICBhZGRGaWVsZCgpIHtcbiAgICAgICAgdGhpcy5mb3JtQXJyYXkucHVzaCh0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpKTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgYmluZFZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxWYWxpZGF0b3JGbj5bXSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkTGlzdCA9IFtdO1xuICAgICAgICAgICAgdmFsaWRhdGlvbnMuZm9yRWFjaCh2YWxpZCA9PiB7XG4gICAgICAgICAgICAgICAgdmFsaWRMaXN0LnB1c2godmFsaWQudmFsaWRhdG9yKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZExpc3QpO1xuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGJpbmRBc3luY1ZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxBc3luY1ZhbGlkYXRvckZuPltdKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgICAgIGlmICh2YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHZhbGlkYXRpb25zLmZvckVhY2godmFsaWQgPT4ge1xuICAgICAgICAgICAgICAgIHZhbGlkTGlzdC5wdXNoKHZhbGlkLnZhbGlkYXRvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBWYWxpZGF0b3JzLmNvbXBvc2VBc3luYyh2YWxpZExpc3QpO1xuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuXG4iXX0=
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2ZpZWxkcy9saXN0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBdUMsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUF1RSxVQUFVLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkksT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sUUFBUSxDQUFDOzs7Ozs7OztBQWlENUIsSUFBTSwwQkFBMEIsR0FBaEMsTUFBTSwwQkFBMkIsU0FBUSxpQkFBaUI7SUFLN0QsWUFBb0IsRUFBc0IsRUFBWSxPQUF5QjtRQUMzRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEQyxPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUFZLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBRi9FLGdCQUFXLEdBQXlCLEVBQUUsQ0FBQztJQUl2QyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDMUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElB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S0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztHQThDL0UsMEJBQTBCLENBdUV0Qzs7NEZBdkVZLDBCQUEwQjtrQkE3Q3RDLFNBQVM7K0JBQ0kscUJBQXFCLFlBQ3JCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F1Q1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLbGVzRmllbGRBYnN0cmFjdCB9IGZyb20gJy4vZmllbGQuYWJzdHJhY3QnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1BcnJheSwgVW50eXBlZEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycywgQXN5bmNWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElLbGVzVmFsaWRhdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy92YWxpZGF0b3IuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpZWxkTWFwcGVyIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9jb21wb25lbnQuZGVjb3JhdG9yJztcbmltcG9ydCB7IEtsZXNGb3JtQXJyYXkgfSBmcm9tICcuLi9jb250cm9scy9hcnJheS5jb250cm9sJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBJS2xlc0ZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9maWVsZC5jb25maWcuaW50ZXJmYWNlJztcblxuQEZpZWxkTWFwcGVyKHsgdHlwZTogJ2xpc3RmaWVsZCcsIGZhY3Rvcnk6IChmaWVsZCkgPT4gKG5ldyBLbGVzRm9ybUFycmF5KGZpZWxkKS5jcmVhdGUoKSkgfSlcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2xlcy1mb3JtLWxpc3RmaWVsZCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBjbGFzcz1cImZvcm0tZWxlbWVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWxcIj5cbiAgICAgICAgICAgIHt7ZmllbGQubGFiZWwgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImFkZEZpZWxkKClcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHluYW1pYy1mb3JtXCIgW2Zvcm1Hcm91cE5hbWVdPVwiZmllbGQubmFtZVwiPlxuICAgICAgICAgICAgQGZvciAoc3ViR3JvdXAgb2YgZm9ybUFycmF5LmNvbnRyb2xzOyB0cmFjayBzdWJHcm91cC52YWx1ZS5faWQ7IGxldCBpZHggPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ViZmllbGRzXCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKHN1YmZpZWxkIG9mIGNvbGxlY3Rpb25zW2lkeF07IHRyYWNrIHN1YmZpZWxkLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIga2xlc0R5bmFtaWNGaWVsZCBbZmllbGRdPVwic3ViZmllbGRcIiBbZ3JvdXBdPVwic3ViR3JvdXBcIiBbc2libGluZ0ZpZWxkc109XCJjb2xsZWN0aW9uc1tpZHhdXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaWYoY29sbGVjdGlvbnMpe1xuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImRlbGV0ZUZpZWxkKGlkeClcIiBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+ZGVsZXRlX291dGxpbmVkPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZm9yICh2YWxpZGF0aW9uIG9mIGZpZWxkLnZhbGlkYXRpb25zOyB0cmFjayB2YWxpZGF0aW9uLm5hbWUpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwibWF0LWVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZ3JvdXAuZ2V0KGZpZWxkLm5hbWUpLmhhc0Vycm9yKHZhbGlkYXRpb24ubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+e3t2YWxpZGF0aW9uLm1lc3NhZ2UgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZm9yICh2YWxpZGF0aW9uIG9mIGZpZWxkLmFzeW5jVmFsaWRhdGlvbnM7IHRyYWNrIHZhbGlkYXRpb24ubmFtZSkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJtYXQtZXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChncm91cC5nZXQoZmllbGQubmFtZSkuaGFzRXJyb3IodmFsaWRhdGlvbi5uYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj57e3ZhbGlkYXRpb24ubWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgYCxcbiAgICBzdHlsZXM6IFsnLnN1YmZpZWxkcyB7ZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsgZ2FwOjVweH0nLFxuICAgICAgICBgLmxhYmVsIHtkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4LWRpcmVjdGlvbjogcm93OyBnYXA6IDVweDt9YF1cbn0pXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1MaXN0RmllbGRDb21wb25lbnQgZXh0ZW5kcyBLbGVzRmllbGRBYnN0cmFjdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIGZvcm1BcnJheTogVW50eXBlZEZvcm1BcnJheTtcbiAgICBjb2xsZWN0aW9uczogSUtsZXNGaWVsZENvbmZpZ1tdW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHJvdGVjdGVkIHZpZXdSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIodmlld1JlZik7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnZhbHVlICYmIEFycmF5LmlzQXJyYXkodGhpcy5maWVsZC52YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuY29sbGVjdGlvbnMgPSB0aGlzLmZpZWxkLnZhbHVlPy5tYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpZWxkLmNvbGxlY3Rpb25zID8gY2xvbmVEZWVwKHRoaXMuZmllbGQuY29sbGVjdGlvbnMpIDogW107XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm1BcnJheSA9IHRoaXMuZ3JvdXAuY29udHJvbHNbdGhpcy5maWVsZC5uYW1lXSBhcyBVbnR5cGVkRm9ybUFycmF5O1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlRm9ybUdyb3VwKCk6IFVudHlwZWRGb3JtR3JvdXAge1xuICAgICAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xuICAgICAgICB0aGlzLmZpZWxkLmNvbGxlY3Rpb25zPy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZmIuY29udHJvbChcbiAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIHRoaXMuYmluZFZhbGlkYXRpb25zKGl0ZW0udmFsaWRhdGlvbnMgfHwgW10pLFxuICAgICAgICAgICAgICAgIHRoaXMuYmluZEFzeW5jVmFsaWRhdGlvbnMoaXRlbS5hc3luY1ZhbGlkYXRpb25zIHx8IFtdKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGdyb3VwLmFkZENvbnRyb2woaXRlbS5uYW1lLCBjb250cm9sKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBncm91cDtcbiAgICB9XG5cbiAgICBkZWxldGVGaWVsZChpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgdGhpcy5mb3JtQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xuICAgIH1cblxuICAgIGFkZEZpZWxkKCkge1xuICAgICAgICB0aGlzLmNvbGxlY3Rpb25zLnB1c2godGhpcy5maWVsZC5jb2xsZWN0aW9ucyA/IGNsb25lRGVlcCh0aGlzLmZpZWxkLmNvbGxlY3Rpb25zKSA6IFtdKTtcbiAgICAgICAgdGhpcy5mb3JtQXJyYXkucHVzaCh0aGlzLmNyZWF0ZUZvcm1Hcm91cCgpKTtcbiAgICB9XG5cblxuICAgIHByaXZhdGUgYmluZFZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxWYWxpZGF0b3JGbj5bXSk6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgaWYgKHZhbGlkYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbGlkTGlzdCA9IFtdO1xuICAgICAgICAgICAgdmFsaWRhdGlvbnMuZm9yRWFjaCh2YWxpZCA9PiB7XG4gICAgICAgICAgICAgICAgdmFsaWRMaXN0LnB1c2godmFsaWQudmFsaWRhdG9yKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIFZhbGlkYXRvcnMuY29tcG9zZSh2YWxpZExpc3QpO1xuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG5cbiAgICBwcml2YXRlIGJpbmRBc3luY1ZhbGlkYXRpb25zKHZhbGlkYXRpb25zOiBJS2xlc1ZhbGlkYXRvcjxBc3luY1ZhbGlkYXRvckZuPltdKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgICAgIGlmICh2YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB2YWxpZExpc3QgPSBbXTtcbiAgICAgICAgICAgIHZhbGlkYXRpb25zLmZvckVhY2godmFsaWQgPT4ge1xuICAgICAgICAgICAgICAgIHZhbGlkTGlzdC5wdXNoKHZhbGlkLnZhbGlkYXRvcik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBWYWxpZGF0b3JzLmNvbXBvc2VBc3luYyh2YWxpZExpc3QpO1xuXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuXG4iXX0=
|
|
@@ -16,13 +16,13 @@ let KlesFormTextComponent = class KlesFormTextComponent extends KlesFieldAbstrac
|
|
|
16
16
|
}
|
|
17
17
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KlesFormTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
18
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: KlesFormTextComponent, selector: "kles-form-text", usesInheritance: true, ngImport: i0, template: `
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
`, isInline: true, styles: [":host{display:flex;align-items:center;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.KlesTransformPipe, name: "klesTransform" }] }); }
|
|
19
|
+
<span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [ngStyle]="field.ngStyle">
|
|
20
|
+
{{((field.property && group.controls[field.name].value) ? group.controls[field.name].value[field.property] : group.controls[field.name].value) | klesTransform:field.pipeTransform}}
|
|
21
|
+
</span>
|
|
22
|
+
@if (field.subComponents || isPending()) {
|
|
23
|
+
<ng-content></ng-content>
|
|
24
|
+
}
|
|
25
|
+
`, isInline: true, styles: [":host{display:flex;align-items:center;flex-direction:row;justify-content:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: i3.KlesTransformPipe, name: "klesTransform" }] }); }
|
|
26
26
|
};
|
|
27
27
|
KlesFormTextComponent = __decorate([
|
|
28
28
|
FieldMapper({ type: EnumType.text })
|
|
@@ -31,12 +31,12 @@ export { KlesFormTextComponent };
|
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KlesFormTextComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
33
33
|
args: [{ selector: 'kles-form-text', template: `
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
`, styles: [":host{display:flex;align-items:center;flex-direction:row}\n"] }]
|
|
34
|
+
<span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [ngStyle]="field.ngStyle">
|
|
35
|
+
{{((field.property && group.controls[field.name].value) ? group.controls[field.name].value[field.property] : group.controls[field.name].value) | klesTransform:field.pipeTransform}}
|
|
36
|
+
</span>
|
|
37
|
+
@if (field.subComponents || isPending()) {
|
|
38
|
+
<ng-content></ng-content>
|
|
39
|
+
}
|
|
40
|
+
`, styles: [":host{display:flex;align-items:center;flex-direction:row;justify-content:inherit}\n"] }]
|
|
41
41
|
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbGVzLW1hdGVyaWFsLWR5bmFtaWNmb3Jtcy9zcmMvbGliL2ZpZWxkcy90ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFxQjlDLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEsaUJBQWlCO0lBRXhELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FQUSxxQkFBcUI7bUdBQXJCLHFCQUFxQiw2RUFoQnBCOzs7Ozs7O0NBT2I7O0FBU1kscUJBQXFCO0lBbkJqQyxXQUFXLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0dBbUJ4QixxQkFBcUIsQ0FRakM7OzRGQVJZLHFCQUFxQjtrQkFsQmpDLFNBQVM7K0JBQ0ksZ0JBQWdCLFlBQ2hCOzs7Ozs7O0NBT2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZE1hcHBlciB9IGZyb20gJy4uL2RlY29yYXRvcnMvY29tcG9uZW50LmRlY29yYXRvcic7XG5pbXBvcnQgeyBFbnVtVHlwZSB9IGZyb20gJy4uL2VudW1zL3R5cGUuZW51bSc7XG5pbXBvcnQgeyBLbGVzRmllbGRBYnN0cmFjdCB9IGZyb20gJy4vZmllbGQuYWJzdHJhY3QnO1xuXG5ARmllbGRNYXBwZXIoeyB0eXBlOiBFbnVtVHlwZS50ZXh0IH0pXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2tsZXMtZm9ybS10ZXh0JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBtYXRUb29sdGlwPVwie3tmaWVsZC50b29sdGlwfX1cIiBbYXR0ci5pZF09XCJmaWVsZC5pZFwiIFtuZ0NsYXNzXT1cImZpZWxkLm5nQ2xhc3NcIiBbbmdTdHlsZV09XCJmaWVsZC5uZ1N0eWxlXCI+XG4gICAgICAgICAgICAgICAge3soKGZpZWxkLnByb3BlcnR5ICYmIGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSA/IGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlW2ZpZWxkLnByb3BlcnR5XSA6IGdyb3VwLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLnZhbHVlKSB8IGtsZXNUcmFuc2Zvcm06ZmllbGQucGlwZVRyYW5zZm9ybX19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgQGlmIChmaWVsZC5zdWJDb21wb25lbnRzIHx8IGlzUGVuZGluZygpKSB7XG4gICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgfVxuYCxcbnN0eWxlczogW2A6aG9zdHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcbiAgICAgICAgfWBcbl1cbn0pXG5leHBvcnQgY2xhc3MgS2xlc0Zvcm1UZXh0Q29tcG9uZW50IGV4dGVuZHMgS2xlc0ZpZWxkQWJzdHJhY3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuIl19
|
|
@@ -65,6 +65,7 @@ import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
|
65
65
|
import { PortalModule } from '@angular/cdk/portal';
|
|
66
66
|
import { __decorate } from 'tslib';
|
|
67
67
|
import { v4 } from 'uuid';
|
|
68
|
+
import { cloneDeep } from 'lodash';
|
|
68
69
|
import * as i5$2 from '@angular/cdk/text-field';
|
|
69
70
|
import * as i10 from 'ngx-mat-select-search';
|
|
70
71
|
import { NgxMatSelectSearchModule } from 'ngx-mat-select-search';
|
|
@@ -1791,8 +1792,14 @@ let KlesFormListFieldComponent = class KlesFormListFieldComponent extends KlesFi
|
|
|
1791
1792
|
super(viewRef);
|
|
1792
1793
|
this.fb = fb;
|
|
1793
1794
|
this.viewRef = viewRef;
|
|
1795
|
+
this.collections = [];
|
|
1794
1796
|
}
|
|
1795
1797
|
ngOnInit() {
|
|
1798
|
+
if (this.field.value && Array.isArray(this.field.value)) {
|
|
1799
|
+
this.collections = this.field.value?.map(() => {
|
|
1800
|
+
return this.field.collections ? cloneDeep(this.field.collections) : [];
|
|
1801
|
+
});
|
|
1802
|
+
}
|
|
1796
1803
|
this.formArray = this.group.controls[this.field.name];
|
|
1797
1804
|
super.ngOnInit();
|
|
1798
1805
|
}
|
|
@@ -1805,9 +1812,11 @@ let KlesFormListFieldComponent = class KlesFormListFieldComponent extends KlesFi
|
|
|
1805
1812
|
return group;
|
|
1806
1813
|
}
|
|
1807
1814
|
deleteField(index) {
|
|
1815
|
+
this.collections.splice(index, 1);
|
|
1808
1816
|
this.formArray.removeAt(index);
|
|
1809
1817
|
}
|
|
1810
1818
|
addField() {
|
|
1819
|
+
this.collections.push(this.field.collections ? cloneDeep(this.field.collections) : []);
|
|
1811
1820
|
this.formArray.push(this.createFormGroup());
|
|
1812
1821
|
}
|
|
1813
1822
|
bindValidations(validations) {
|
|
@@ -1844,14 +1853,14 @@ let KlesFormListFieldComponent = class KlesFormListFieldComponent extends KlesFi
|
|
|
1844
1853
|
</div>
|
|
1845
1854
|
|
|
1846
1855
|
<div class="dynamic-form" [formGroupName]="field.name">
|
|
1847
|
-
@for (subGroup of formArray.controls; track subGroup.value._id) {
|
|
1856
|
+
@for (subGroup of formArray.controls; track subGroup.value._id; let idx = $index) {
|
|
1848
1857
|
<div class="subfields">
|
|
1849
|
-
@for (subfield of
|
|
1850
|
-
<ng-container klesDynamicField [field]="subfield" [group]="subGroup">
|
|
1858
|
+
@for (subfield of collections[idx]; track subfield.name) {
|
|
1859
|
+
<ng-container klesDynamicField [field]="subfield" [group]="subGroup" [siblingFields]="collections[idx]">
|
|
1851
1860
|
</ng-container>
|
|
1852
1861
|
}
|
|
1853
|
-
@if(
|
|
1854
|
-
<button mat-icon-button (click)="deleteField(
|
|
1862
|
+
@if(collections){
|
|
1863
|
+
<button mat-icon-button (click)="deleteField(idx)" color="primary">
|
|
1855
1864
|
<mat-icon>delete_outlined</mat-icon>
|
|
1856
1865
|
</button>
|
|
1857
1866
|
}
|
|
@@ -1890,14 +1899,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
1890
1899
|
</div>
|
|
1891
1900
|
|
|
1892
1901
|
<div class="dynamic-form" [formGroupName]="field.name">
|
|
1893
|
-
@for (subGroup of formArray.controls; track subGroup.value._id) {
|
|
1902
|
+
@for (subGroup of formArray.controls; track subGroup.value._id; let idx = $index) {
|
|
1894
1903
|
<div class="subfields">
|
|
1895
|
-
@for (subfield of
|
|
1896
|
-
<ng-container klesDynamicField [field]="subfield" [group]="subGroup">
|
|
1904
|
+
@for (subfield of collections[idx]; track subfield.name) {
|
|
1905
|
+
<ng-container klesDynamicField [field]="subfield" [group]="subGroup" [siblingFields]="collections[idx]">
|
|
1897
1906
|
</ng-container>
|
|
1898
1907
|
}
|
|
1899
|
-
@if(
|
|
1900
|
-
<button mat-icon-button (click)="deleteField(
|
|
1908
|
+
@if(collections){
|
|
1909
|
+
<button mat-icon-button (click)="deleteField(idx)" color="primary">
|
|
1901
1910
|
<mat-icon>delete_outlined</mat-icon>
|
|
1902
1911
|
</button>
|
|
1903
1912
|
}
|
|
@@ -2625,13 +2634,13 @@ let KlesFormTextComponent = class KlesFormTextComponent extends KlesFieldAbstrac
|
|
|
2625
2634
|
}
|
|
2626
2635
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KlesFormTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
2627
2636
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: KlesFormTextComponent, selector: "kles-form-text", usesInheritance: true, ngImport: i0, template: `
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
`, isInline: true, styles: [":host{display:flex;align-items:center;flex-direction:row}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: KlesTransformPipe, name: "klesTransform" }] }); }
|
|
2637
|
+
<span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [ngStyle]="field.ngStyle">
|
|
2638
|
+
{{((field.property && group.controls[field.name].value) ? group.controls[field.name].value[field.property] : group.controls[field.name].value) | klesTransform:field.pipeTransform}}
|
|
2639
|
+
</span>
|
|
2640
|
+
@if (field.subComponents || isPending()) {
|
|
2641
|
+
<ng-content></ng-content>
|
|
2642
|
+
}
|
|
2643
|
+
`, isInline: true, styles: [":host{display:flex;align-items:center;flex-direction:row;justify-content:inherit}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "pipe", type: KlesTransformPipe, name: "klesTransform" }] }); }
|
|
2635
2644
|
};
|
|
2636
2645
|
KlesFormTextComponent = __decorate([
|
|
2637
2646
|
FieldMapper({ type: EnumType.text })
|
|
@@ -2639,13 +2648,13 @@ KlesFormTextComponent = __decorate([
|
|
|
2639
2648
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: KlesFormTextComponent, decorators: [{
|
|
2640
2649
|
type: Component,
|
|
2641
2650
|
args: [{ selector: 'kles-form-text', template: `
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
`, styles: [":host{display:flex;align-items:center;flex-direction:row}\n"] }]
|
|
2651
|
+
<span matTooltip="{{field.tooltip}}" [attr.id]="field.id" [ngClass]="field.ngClass" [ngStyle]="field.ngStyle">
|
|
2652
|
+
{{((field.property && group.controls[field.name].value) ? group.controls[field.name].value[field.property] : group.controls[field.name].value) | klesTransform:field.pipeTransform}}
|
|
2653
|
+
</span>
|
|
2654
|
+
@if (field.subComponents || isPending()) {
|
|
2655
|
+
<ng-content></ng-content>
|
|
2656
|
+
}
|
|
2657
|
+
`, styles: [":host{display:flex;align-items:center;flex-direction:row;justify-content:inherit}\n"] }]
|
|
2649
2658
|
}] });
|
|
2650
2659
|
|
|
2651
2660
|
class KlesFormChipComponent extends KlesFieldAbstract {
|