@seniorsistemas/angular-components 19.0.2 → 19.0.3
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/dynamic-form/dynamic-form/components/grid/row/row.component.d.ts +1 -0
- package/dynamic-form/dynamic-form/components/lookup/lookup.component.d.ts +4 -1
- package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +12 -3
- package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +26 -17
- package/esm2022/dynamic-form/dynamic-form/dynamic-form.mjs +5 -3
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +40 -20
- package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -19,7 +19,8 @@ export class DynamicField extends DynamicForm {
|
|
|
19
19
|
component.setInput('field', this.field);
|
|
20
20
|
if (!isNullOrUndefined(this.field?.name) && 'formControl' in component.instance) {
|
|
21
21
|
// Must be this way because some teams use name like "e070emp.codemp"
|
|
22
|
-
|
|
22
|
+
const name = 'customName' in this.field ? this.field.customName : this.field.name;
|
|
23
|
+
component.setInput('formControl', this.group?.['controls'][name]);
|
|
23
24
|
}
|
|
24
25
|
return component;
|
|
25
26
|
}
|
|
@@ -28,7 +29,8 @@ export class DynamicField extends DynamicForm {
|
|
|
28
29
|
return;
|
|
29
30
|
component.setInput('field', this.field);
|
|
30
31
|
if ('formControl' in component.instance) {
|
|
31
|
-
|
|
32
|
+
const name = 'customName' in this.field ? this.field.customName : this.field.name;
|
|
33
|
+
component.setInput('formControl', this.group?.['controls'][name]);
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
getComponent() {
|
|
@@ -74,4 +76,4 @@ export class DynamicStructure extends DynamicForm {
|
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFLN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJaEUsTUFBTSxPQUFnQixXQUFXO0lBQzdCLEtBQUssQ0FBWTtJQU1qQixZQUFZLEVBQUUsS0FBSyxFQUF3QjtRQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFDekMsS0FBSyxDQUFjO0lBRW5CLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUE0QztRQUNsRSxLQUFLLENBQUM7WUFDRixLQUFLO1NBQ1IsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxnQkFBa0M7UUFDckQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQ29CLENBQUM7UUFDNUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLGFBQWEsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUUscUVBQXFFO1lBQ3JFLE1BQU0sSUFBSSxHQUFHLFlBQVksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsS0FB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QUksS0FBSyxDQUFDLHNDQUFzQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUM7UUFDakYsQ0FBQztJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvdXRpbHMnO1xuXG5pbXBvcnQgeyBEeW5hbWljVHlwZSB9IGZyb20gJy4vZm9ybS1maWVsZC9jb25maWd1cmF0aW9ucy9maWVsZHMvZmllbGQnO1xuXG5pbXBvcnQgeyBCYXNlU3RydWN0dXJlQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9jb21wb25lbnRzL3N0cnVjdHVyZS9iYXNlLXN0cnVjdHVyZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1SZWdpc3RyeSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMvcmVnaXN0cnknO1xuaW1wb3J0IHsgRHluYW1pY1N0cnVjdHVyZSBhcyBGaWVsZER5bmFtaWNTdHJ1Y3R1cmUgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS9zdHJ1Y3R1cmUnO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSAnLi9mb3JtLWZpZWxkL2ZpZWxkcy9iYXNlLWZpZWxkLWNvbXBvbmVudCc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEeW5hbWljRm9ybSB7XG4gICAgZ3JvdXA6IEZvcm1Hcm91cDtcblxuICAgIGFic3RyYWN0IGNyZWF0ZUNvbXBvbmVudCh2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKTogYW55O1xuICAgIGFic3RyYWN0IHVwZGF0ZVZhcmlhYmxlcyhjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KTogdm9pZDtcbiAgICBhYnN0cmFjdCBnZXRDb21wb25lbnQoKTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoeyBncm91cCB9OiB7IGdyb3VwOiBGb3JtR3JvdXAgfSkge1xuICAgICAgICB0aGlzLmdyb3VwID0gZ3JvdXA7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkIGV4dGVuZHMgRHluYW1pY0Zvcm0ge1xuICAgIGZpZWxkOiBEeW5hbWljVHlwZTtcblxuICAgIGNvbnN0cnVjdG9yKHsgZ3JvdXAsIGZpZWxkIH06IHsgZ3JvdXA6IEZvcm1Hcm91cDsgZmllbGQ6IER5bmFtaWNUeXBlIH0pIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgZ3JvdXAsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZpZWxkID0gZmllbGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZUNvbXBvbmVudCh2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICAgICAgdGhpcy5nZXRDb21wb25lbnQoKSxcbiAgICAgICAgKSBhcyBDb21wb25lbnRSZWY8QmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnPjtcbiAgICAgICAgY29tcG9uZW50LnNldElucHV0KCdmaWVsZCcsIHRoaXMuZmllbGQpO1xuXG4gICAgICAgIGlmICghaXNOdWxsT3JVbmRlZmluZWQodGhpcy5maWVsZD8ubmFtZSkgJiYgJ2Zvcm1Db250cm9sJyBpbiBjb21wb25lbnQuaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIC8vIE11c3QgYmUgdGhpcyB3YXkgYmVjYXVzZSBzb21lIHRlYW1zIHVzZSBuYW1lIGxpa2UgXCJlMDcwZW1wLmNvZGVtcFwiXG4gICAgICAgICAgICBjb25zdCBuYW1lID0gJ2N1c3RvbU5hbWUnIGluIHRoaXMuZmllbGQgPyAodGhpcy5maWVsZC5jdXN0b21OYW1lIGFzIHN0cmluZykgOiB0aGlzLmZpZWxkLm5hbWU7XG4gICAgICAgICAgICBjb21wb25lbnQuc2V0SW5wdXQoJ2Zvcm1Db250cm9sJywgdGhpcy5ncm91cD8uWydjb250cm9scyddW25hbWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVZhcmlhYmxlcyhjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLmZpZWxkPy5uYW1lKSkgcmV0dXJuO1xuICAgICAgICBjb21wb25lbnQuc2V0SW5wdXQoJ2ZpZWxkJywgdGhpcy5maWVsZCk7XG4gICAgICAgIGlmICgnZm9ybUNvbnRyb2wnIGluIGNvbXBvbmVudC5pbnN0YW5jZSkge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9ICdjdXN0b21OYW1lJyBpbiB0aGlzLmZpZWxkID8gKHRoaXMuZmllbGQuY3VzdG9tTmFtZSBhcyBzdHJpbmcpIDogdGhpcy5maWVsZC5uYW1lO1xuICAgICAgICAgICAgY29tcG9uZW50LnNldElucHV0KCdmb3JtQ29udHJvbCcsIHRoaXMuZ3JvdXA/LlsnY29udHJvbHMnXVtuYW1lXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tcG9uZW50KCkge1xuICAgICAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodGhpcy5maWVsZCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRmllbGQgaXMgbnVsbCBvciB1bmRlZmluZWQuYCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmaWVsZFR5cGUgPSB0aGlzLmZpZWxkLnR5cGU7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IER5bmFtaWNGb3JtUmVnaXN0cnkucmVzb2x2ZUZpZWxkKGZpZWxkVHlwZSk7XG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRyeWluZyB0byB1c2UgYW4gdW5zdXBwb3J0ZWQgdHlwZSAoJHt0aGlzLmZpZWxkPy50eXBlfSkuYCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEeW5hbWljU3RydWN0dXJlIGV4dGVuZHMgRHluYW1pY0Zvcm0ge1xuICAgIGNvbmZpZzogRmllbGREeW5hbWljU3RydWN0dXJlO1xuXG4gICAgY29uc3RydWN0b3IoeyBncm91cCwgY29uZmlnIH06IHsgZ3JvdXA6IEZvcm1Hcm91cDsgY29uZmlnOiBGaWVsZER5bmFtaWNTdHJ1Y3R1cmUgfSkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBncm91cCxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGNyZWF0ZUNvbXBvbmVudCh2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICAgICAgdGhpcy5nZXRDb21wb25lbnQoKSxcbiAgICAgICAgKSBhcyBDb21wb25lbnRSZWY8QmFzZVN0cnVjdHVyZUNvbXBvbmVudENvbmZpZz47XG4gICAgICAgIGNvbXBvbmVudC5zZXRJbnB1dCgnY29uZmlnJywgdGhpcy5jb25maWcpO1xuICAgICAgICBjb21wb25lbnQuc2V0SW5wdXQoJ2dyb3VwJywgdGhpcy5ncm91cCk7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVZhcmlhYmxlcyhjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgICAgIGNvbXBvbmVudC5zZXRJbnB1dCgnY29uZmlnJywgdGhpcy5jb25maWcpO1xuICAgICAgICBjb21wb25lbnQuc2V0SW5wdXQoJ2dyb3VwJywgdGhpcy5ncm91cCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENvbXBvbmVudCgpIHtcbiAgICAgICAgY29uc3Qgc3RydWN0dXJlVHlwZSA9IHRoaXMuY29uZmlnLnR5cGU7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IER5bmFtaWNGb3JtUmVnaXN0cnkucmVzb2x2ZUZpZWxkKHN0cnVjdHVyZVR5cGUpO1xuICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUcnlpbmcgdG8gdXNlIGFuIHVuc3VwcG9ydGVkIHR5cGUgKCR7dGhpcy5jb25maWc/LnR5cGV9KS5gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIl19
|
|
@@ -119,7 +119,8 @@ class DynamicField extends DynamicForm {
|
|
|
119
119
|
component.setInput('field', this.field);
|
|
120
120
|
if (!isNullOrUndefined(this.field?.name) && 'formControl' in component.instance) {
|
|
121
121
|
// Must be this way because some teams use name like "e070emp.codemp"
|
|
122
|
-
|
|
122
|
+
const name = 'customName' in this.field ? this.field.customName : this.field.name;
|
|
123
|
+
component.setInput('formControl', this.group?.['controls'][name]);
|
|
123
124
|
}
|
|
124
125
|
return component;
|
|
125
126
|
}
|
|
@@ -128,7 +129,8 @@ class DynamicField extends DynamicForm {
|
|
|
128
129
|
return;
|
|
129
130
|
component.setInput('field', this.field);
|
|
130
131
|
if ('formControl' in component.instance) {
|
|
131
|
-
|
|
132
|
+
const name = 'customName' in this.field ? this.field.customName : this.field.name;
|
|
133
|
+
component.setInput('formControl', this.group?.['controls'][name]);
|
|
132
134
|
}
|
|
133
135
|
}
|
|
134
136
|
getComponent() {
|
|
@@ -336,12 +338,21 @@ class RowComponent {
|
|
|
336
338
|
const fieldSize = new FieldSize(field.size ?? {});
|
|
337
339
|
return fieldSize.getGridClass();
|
|
338
340
|
}
|
|
341
|
+
getName(field) {
|
|
342
|
+
if ('customName' in field && field.customName) {
|
|
343
|
+
return field.customName;
|
|
344
|
+
}
|
|
345
|
+
else if ('name' in field) {
|
|
346
|
+
return field.name;
|
|
347
|
+
}
|
|
348
|
+
return '';
|
|
349
|
+
}
|
|
339
350
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
340
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowComponent, isStandalone: true, selector: "s-row", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: true, transformFunction: null }, errorMessages: { classPropertyName: "errorMessages", publicName: "errorMessages", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"w-full\"\n [formGroup]=\"group()\"\n>\n @let rowConfig = config();\n @let rowIsVisible = formUtils.getFieldProperty(rowConfig.visible, true);\n @if (rowIsVisible) {\n <div class=\"grid w-screen max-w-full grid-cols-12 gap-4\">\n @for (field of config().fields; let i = $index; track i) {\n @if (fieldIsExpandedDynamicType(field)) {\n @let fieldVisible = formUtils.getFieldProperty(field.visible, true);\n @if (fieldVisible) {\n <div\n class=\"p-1\"\n [ngClass]=\"fieldGridClass(field)\"\n >\n <ng-container *sDynamicForm=\"{ id: id(), config: field, group: group() }\"></ng-container>\n\n @if (
|
|
351
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RowComponent, isStandalone: true, selector: "s-row", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: true, transformFunction: null }, errorMessages: { classPropertyName: "errorMessages", publicName: "errorMessages", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"w-full\"\n [formGroup]=\"group()\"\n>\n @let rowConfig = config();\n @let rowIsVisible = formUtils.getFieldProperty(rowConfig.visible, true);\n @if (rowIsVisible) {\n <div class=\"grid w-screen max-w-full grid-cols-12 gap-4\">\n @for (field of config().fields; let i = $index; track i) {\n @let fieldName = getName(field);\n @if (fieldIsExpandedDynamicType(field)) {\n @let fieldVisible = formUtils.getFieldProperty(field.visible, true);\n @if (fieldVisible) {\n <div\n class=\"p-1\"\n [ngClass]=\"fieldGridClass(field)\"\n >\n <ng-container *sDynamicForm=\"{ id: id(), config: field, group: group() }\"></ng-container>\n\n @if (fieldName) {\n <s-control-errors\n [form]=\"group\"\n [control]=\"group().controls[fieldName]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"\n ></s-control-errors>\n }\n\n @if (field.footer) {\n @if (field.footer.help) {\n @let footerHelpVisible =\n field.footer.help.visible?.({\n abstractControl: group().controls[fieldName],\n formField: field,\n });\n @if (fieldName && field.footer.help.visible ? footerHelpVisible : true) {\n <span style=\"color: #888b99\">\n {{ field.footer.help.text }}\n </span>\n }\n }\n }\n\n @if (field.footer) {\n @let footerLinkVisible =\n field.footer.link?.visible?.({\n abstractControl: group().controls[fieldName],\n formField: field,\n });\n @if (fieldName && field.footer.link?.visible ? footerLinkVisible : true) {\n <div style=\"margin-left: -17px\">\n <s-button\n [label]=\"field.footer.link?.label\"\n priority=\"link\"\n (clicked)=\"\n field.footer.link?.onClick({\n abstractControl: group().controls[fieldName],\n formField: field,\n })\n \"\n [auxiliary]=\"true\"\n ></s-button>\n </div>\n }\n }\n @if (field.bottomTemplate) {\n <ng-template [ngTemplateOutlet]=\"field.bottomTemplate\"></ng-template>\n }\n </div>\n }\n } @else {\n @let gridClass = fieldGridClass(field);\n <div [ngClass]=\"gridClass\">\n <ng-container *sDynamicForm=\"{ id: id(), config: field, group: group() }\"></ng-container>\n </div>\n }\n }\n </div>\n }\n</div>\n\n", dependencies: [{ kind: "ngmodule", type: ControlErrorsModule }, { kind: "component", type: i1.ControlErrorsComponent, selector: "s-control-errors", inputs: ["id", "control", "errorMessages", "form"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ButtonComponent, selector: "s-button", inputs: ["id", "label", "tooltip", "tooltipPosition", "iconClass", "rightIconClass", "caret", "styleClass", "baseZIndex", "disabled", "auxiliary", "type", "priority", "menuOptions", "size", "slide", "animation", "badge", "iconColor"], outputs: ["clicked"] }, { kind: "directive", type: DynamicFormDirective, selector: "[sDynamicForm]", inputs: ["sDynamicForm"] }] });
|
|
341
352
|
}
|
|
342
353
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RowComponent, decorators: [{
|
|
343
354
|
type: Component,
|
|
344
|
-
args: [{ selector: 's-row', standalone: true, imports: [ControlErrorsModule, ReactiveFormsModule, NgClass, ButtonComponent, DynamicFormDirective], template: "<div\n class=\"w-full\"\n [formGroup]=\"group()\"\n>\n @let rowConfig = config();\n @let rowIsVisible = formUtils.getFieldProperty(rowConfig.visible, true);\n @if (rowIsVisible) {\n <div class=\"grid w-screen max-w-full grid-cols-12 gap-4\">\n @for (field of config().fields; let i = $index; track i) {\n @if (fieldIsExpandedDynamicType(field)) {\n @let fieldVisible = formUtils.getFieldProperty(field.visible, true);\n @if (fieldVisible) {\n <div\n class=\"p-1\"\n [ngClass]=\"fieldGridClass(field)\"\n >\n <ng-container *sDynamicForm=\"{ id: id(), config: field, group: group() }\"></ng-container>\n\n @if (
|
|
355
|
+
args: [{ selector: 's-row', standalone: true, imports: [ControlErrorsModule, ReactiveFormsModule, NgClass, ButtonComponent, DynamicFormDirective], template: "<div\n class=\"w-full\"\n [formGroup]=\"group()\"\n>\n @let rowConfig = config();\n @let rowIsVisible = formUtils.getFieldProperty(rowConfig.visible, true);\n @if (rowIsVisible) {\n <div class=\"grid w-screen max-w-full grid-cols-12 gap-4\">\n @for (field of config().fields; let i = $index; track i) {\n @let fieldName = getName(field);\n @if (fieldIsExpandedDynamicType(field)) {\n @let fieldVisible = formUtils.getFieldProperty(field.visible, true);\n @if (fieldVisible) {\n <div\n class=\"p-1\"\n [ngClass]=\"fieldGridClass(field)\"\n >\n <ng-container *sDynamicForm=\"{ id: id(), config: field, group: group() }\"></ng-container>\n\n @if (fieldName) {\n <s-control-errors\n [form]=\"group\"\n [control]=\"group().controls[fieldName]\"\n [errorMessages]=\"getErrorMessages(field.errorMessages)\"\n ></s-control-errors>\n }\n\n @if (field.footer) {\n @if (field.footer.help) {\n @let footerHelpVisible =\n field.footer.help.visible?.({\n abstractControl: group().controls[fieldName],\n formField: field,\n });\n @if (fieldName && field.footer.help.visible ? footerHelpVisible : true) {\n <span style=\"color: #888b99\">\n {{ field.footer.help.text }}\n </span>\n }\n }\n }\n\n @if (field.footer) {\n @let footerLinkVisible =\n field.footer.link?.visible?.({\n abstractControl: group().controls[fieldName],\n formField: field,\n });\n @if (fieldName && field.footer.link?.visible ? footerLinkVisible : true) {\n <div style=\"margin-left: -17px\">\n <s-button\n [label]=\"field.footer.link?.label\"\n priority=\"link\"\n (clicked)=\"\n field.footer.link?.onClick({\n abstractControl: group().controls[fieldName],\n formField: field,\n })\n \"\n [auxiliary]=\"true\"\n ></s-button>\n </div>\n }\n }\n @if (field.bottomTemplate) {\n <ng-template [ngTemplateOutlet]=\"field.bottomTemplate\"></ng-template>\n }\n </div>\n }\n } @else {\n @let gridClass = fieldGridClass(field);\n <div [ngClass]=\"gridClass\">\n <ng-container *sDynamicForm=\"{ id: id(), config: field, group: group() }\"></ng-container>\n </div>\n }\n }\n </div>\n }\n</div>\n\n" }]
|
|
345
356
|
}] });
|
|
346
357
|
|
|
347
358
|
class FieldsetComponent {
|
|
@@ -426,6 +437,7 @@ class LookupComponent {
|
|
|
426
437
|
hotkeysService;
|
|
427
438
|
translateService;
|
|
428
439
|
changeDetectorRef;
|
|
440
|
+
MAP_FORM_DIALOG_CONTROLS = new Map();
|
|
429
441
|
lookupDialogContainer = viewChild('dialogContainer');
|
|
430
442
|
rowType = 'Row';
|
|
431
443
|
indicatorLogo = LoadingStateIndicators.Logo;
|
|
@@ -496,7 +508,10 @@ class LookupComponent {
|
|
|
496
508
|
});
|
|
497
509
|
}
|
|
498
510
|
this.searchFields = this.searchFields.map((value) => {
|
|
511
|
+
const name = value.name.replaceAll('.', '_');
|
|
512
|
+
this.MAP_FORM_DIALOG_CONTROLS.set(value.name, name);
|
|
499
513
|
return {
|
|
514
|
+
customName: name,
|
|
500
515
|
...value,
|
|
501
516
|
};
|
|
502
517
|
});
|
|
@@ -527,19 +542,11 @@ class LookupComponent {
|
|
|
527
542
|
}
|
|
528
543
|
return gridField;
|
|
529
544
|
});
|
|
530
|
-
const hasFieldWithDotInName = this.searchFields.some((field) => field.name.includes('.'));
|
|
531
|
-
if (hasFieldWithDotInName) {
|
|
532
|
-
const fieldsWithDot = this.searchFields
|
|
533
|
-
.filter((item) => item.name.includes('.'))
|
|
534
|
-
.map((item) => item.name)
|
|
535
|
-
.join();
|
|
536
|
-
throw new Error(`This fields: [${fieldsWithDot}] can't have dot in their names, please replace.`);
|
|
537
|
-
}
|
|
538
545
|
const formGroup = this.searchFields.reduce((result, field) => {
|
|
539
|
-
if (field.
|
|
546
|
+
if (field.customName) {
|
|
540
547
|
const defaultValue = 'defaultValue' in field ? field.defaultValue : undefined;
|
|
541
|
-
result[field.
|
|
542
|
-
this.originalFormValues[field.
|
|
548
|
+
result[field.customName] = new FormControl(defaultValue);
|
|
549
|
+
this.originalFormValues[field.customName] = defaultValue;
|
|
543
550
|
}
|
|
544
551
|
return result;
|
|
545
552
|
}, {});
|
|
@@ -611,6 +618,13 @@ class LookupComponent {
|
|
|
611
618
|
}
|
|
612
619
|
makeSearchRequestParams(event) {
|
|
613
620
|
const filters = this.formGroupDialog?.getRawValue();
|
|
621
|
+
const mappedObjectChanges = Array.from(this.MAP_FORM_DIALOG_CONTROLS.entries()).map(([field, customName]) => ({ field, customName })) ??
|
|
622
|
+
[];
|
|
623
|
+
mappedObjectChanges.forEach((item) => {
|
|
624
|
+
const value = filters[item.customName];
|
|
625
|
+
delete filters[item.customName];
|
|
626
|
+
filters[item.field] = value;
|
|
627
|
+
});
|
|
614
628
|
const params = { ...event, filterData: filters };
|
|
615
629
|
const { multiSortMeta } = event;
|
|
616
630
|
this.multiSortMeta = multiSortMeta || this.multiSortMeta;
|
|
@@ -628,12 +642,18 @@ class LookupComponent {
|
|
|
628
642
|
this.onLookupRequest.next(event.query);
|
|
629
643
|
}
|
|
630
644
|
setDefaultFilters() {
|
|
631
|
-
if (!this.defaultFilter)
|
|
645
|
+
if (!this.defaultFilter) {
|
|
632
646
|
return;
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
.
|
|
636
|
-
this.formGroupDialog
|
|
647
|
+
}
|
|
648
|
+
const filteredValues = this.defaultFilter.filter(({ field }) => {
|
|
649
|
+
const formControlName = this.MAP_FORM_DIALOG_CONTROLS.get(field);
|
|
650
|
+
const hasFormControl = this.formGroupDialog.contains(formControlName);
|
|
651
|
+
const isDirty = this.formGroupDialog.get(formControlName)?.dirty;
|
|
652
|
+
return hasFormControl && !isDirty;
|
|
653
|
+
});
|
|
654
|
+
filteredValues.forEach(({ value, field }) => {
|
|
655
|
+
const formControlName = this.MAP_FORM_DIALOG_CONTROLS.get(field);
|
|
656
|
+
this.formGroupDialog.get(formControlName)?.patchValue(value instanceof Function ? value() : value);
|
|
637
657
|
});
|
|
638
658
|
}
|
|
639
659
|
async showDialog() {
|