@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.
@@ -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
- component.setInput('formControl', this.group?.['controls'][this.field.name]);
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
- component.setInput('formControl', this.group?.['controls'][this.field.name]);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFLN0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJaEUsTUFBTSxPQUFnQixXQUFXO0lBQzdCLEtBQUssQ0FBWTtJQU1qQixZQUFZLEVBQUUsS0FBSyxFQUF3QjtRQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFDekMsS0FBSyxDQUFjO0lBRW5CLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUE0QztRQUNsRSxLQUFLLENBQUM7WUFDRixLQUFLO1NBQ1IsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxnQkFBa0M7UUFDckQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQ29CLENBQUM7UUFDNUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLGFBQWEsSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUUscUVBQXFFO1lBQ3JFLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakYsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFTSxlQUFlLENBQUMsU0FBNEI7UUFDL0MsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztZQUFFLE9BQU87UUFDaEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksYUFBYSxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN0QyxTQUFTLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWTtRQUNmLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2hGLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUM3QyxNQUFNLENBQXdCO0lBRTlCLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUF1RDtRQUM5RSxLQUFLLENBQUM7WUFDRixLQUFLO1NBQ1IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxnQkFBa0M7UUFDckQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUM5QyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQ3dCLENBQUM7UUFDaEQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRU0sZUFBZSxDQUFDLFNBQTRCO1FBQy9DLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxTQUFTLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVNLFlBQVk7UUFDZixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN2QyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNaLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ2pGLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzL3V0aWxzJztcblxuaW1wb3J0IHsgRHluYW1pY1R5cGUgfSBmcm9tICcuL2Zvcm0tZmllbGQvY29uZmlndXJhdGlvbnMvZmllbGRzL2ZpZWxkJztcblxuaW1wb3J0IHsgQmFzZVN0cnVjdHVyZUNvbXBvbmVudENvbmZpZyB9IGZyb20gJy4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvYmFzZS1zdHJ1Y3R1cmUtY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNGb3JtUmVnaXN0cnkgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zL3JlZ2lzdHJ5JztcbmltcG9ydCB7IER5bmFtaWNTdHJ1Y3R1cmUgYXMgRmllbGREeW5hbWljU3RydWN0dXJlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucy9zdHJ1Y3R1cmUvc3RydWN0dXJlJztcbmltcG9ydCB7IEJhc2VGaWVsZENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4vZm9ybS1maWVsZC9maWVsZHMvYmFzZS1maWVsZC1jb21wb25lbnQnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRHluYW1pY0Zvcm0ge1xuICAgIGdyb3VwOiBGb3JtR3JvdXA7XG5cbiAgICBhYnN0cmFjdCBjcmVhdGVDb21wb25lbnQodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZik6IGFueTtcbiAgICBhYnN0cmFjdCB1cGRhdGVWYXJpYWJsZXMoY29tcG9uZW50OiBDb21wb25lbnRSZWY8YW55Pik6IHZvaWQ7XG4gICAgYWJzdHJhY3QgZ2V0Q29tcG9uZW50KCk6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKHsgZ3JvdXAgfTogeyBncm91cDogRm9ybUdyb3VwIH0pIHtcbiAgICAgICAgdGhpcy5ncm91cCA9IGdyb3VwO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZCBleHRlbmRzIER5bmFtaWNGb3JtIHtcbiAgICBmaWVsZDogRHluYW1pY1R5cGU7XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGdyb3VwLCBmaWVsZCB9OiB7IGdyb3VwOiBGb3JtR3JvdXA7IGZpZWxkOiBEeW5hbWljVHlwZSB9KSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5maWVsZCA9IGZpZWxkO1xuICAgIH1cblxuICAgIHB1YmxpYyBjcmVhdGVDb21wb25lbnQodmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSB2aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChcbiAgICAgICAgICAgIHRoaXMuZ2V0Q29tcG9uZW50KCksXG4gICAgICAgICkgYXMgQ29tcG9uZW50UmVmPEJhc2VGaWVsZENvbXBvbmVudENvbmZpZz47XG4gICAgICAgIGNvbXBvbmVudC5zZXRJbnB1dCgnZmllbGQnLCB0aGlzLmZpZWxkKTtcblxuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKHRoaXMuZmllbGQ/Lm5hbWUpICYmICdmb3JtQ29udHJvbCcgaW4gY29tcG9uZW50Lmluc3RhbmNlKSB7XG4gICAgICAgICAgICAvLyBNdXN0IGJlIHRoaXMgd2F5IGJlY2F1c2Ugc29tZSB0ZWFtcyB1c2UgbmFtZSBsaWtlIFwiZTA3MGVtcC5jb2RlbXBcIlxuICAgICAgICAgICAgY29tcG9uZW50LnNldElucHV0KCdmb3JtQ29udHJvbCcsIHRoaXMuZ3JvdXA/LlsnY29udHJvbHMnXVt0aGlzLmZpZWxkLm5hbWVdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVZhcmlhYmxlcyhjb21wb25lbnQ6IENvbXBvbmVudFJlZjxhbnk+KSB7XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLmZpZWxkPy5uYW1lKSkgcmV0dXJuO1xuICAgICAgICBjb21wb25lbnQuc2V0SW5wdXQoJ2ZpZWxkJywgdGhpcy5maWVsZCk7XG4gICAgICAgIGlmICgnZm9ybUNvbnRyb2wnIGluIGNvbXBvbmVudC5pbnN0YW5jZSkge1xuICAgICAgICAgICAgY29tcG9uZW50LnNldElucHV0KCdmb3JtQ29udHJvbCcsIHRoaXMuZ3JvdXA/LlsnY29udHJvbHMnXVt0aGlzLmZpZWxkLm5hbWVdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb21wb25lbnQoKSB7XG4gICAgICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh0aGlzLmZpZWxkKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWVsZCBpcyBudWxsIG9yIHVuZGVmaW5lZC5gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpZWxkVHlwZSA9IHRoaXMuZmllbGQudHlwZTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gRHluYW1pY0Zvcm1SZWdpc3RyeS5yZXNvbHZlRmllbGQoZmllbGRUeXBlKTtcbiAgICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVHJ5aW5nIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCB0eXBlICgke3RoaXMuZmllbGQ/LnR5cGV9KS5gKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIER5bmFtaWNTdHJ1Y3R1cmUgZXh0ZW5kcyBEeW5hbWljRm9ybSB7XG4gICAgY29uZmlnOiBGaWVsZER5bmFtaWNTdHJ1Y3R1cmU7XG5cbiAgICBjb25zdHJ1Y3Rvcih7IGdyb3VwLCBjb25maWcgfTogeyBncm91cDogRm9ybUdyb3VwOyBjb25maWc6IEZpZWxkRHluYW1pY1N0cnVjdHVyZSB9KSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGdyb3VwLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlQ29tcG9uZW50KHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgICB0aGlzLmdldENvbXBvbmVudCgpLFxuICAgICAgICApIGFzIENvbXBvbmVudFJlZjxCYXNlU3RydWN0dXJlQ29tcG9uZW50Q29uZmlnPjtcbiAgICAgICAgY29tcG9uZW50LnNldElucHV0KCdjb25maWcnLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgIGNvbXBvbmVudC5zZXRJbnB1dCgnZ3JvdXAnLCB0aGlzLmdyb3VwKTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVmFyaWFibGVzKGNvbXBvbmVudDogQ29tcG9uZW50UmVmPGFueT4pIHtcbiAgICAgICAgY29tcG9uZW50LnNldElucHV0KCdjb25maWcnLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgIGNvbXBvbmVudC5zZXRJbnB1dCgnZ3JvdXAnLCB0aGlzLmdyb3VwKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29tcG9uZW50KCkge1xuICAgICAgICBjb25zdCBzdHJ1Y3R1cmVUeXBlID0gdGhpcy5jb25maWcudHlwZTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gRHluYW1pY0Zvcm1SZWdpc3RyeS5yZXNvbHZlRmllbGQoc3RydWN0dXJlVHlwZSk7XG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRyeWluZyB0byB1c2UgYW4gdW5zdXBwb3J0ZWQgdHlwZSAoJHt0aGlzLmNvbmZpZz8udHlwZX0pLmApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iXX0=
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
- component.setInput('formControl', this.group?.['controls'][this.field.name]);
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
- component.setInput('formControl', this.group?.['controls'][this.field.name]);
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 (field.name) {\n <s-control-errors\n [form]=\"group\"\n [control]=\"group().controls[field.name]\"\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[field.name],\n formField: field,\n });\n @if (field.name && 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[field.name],\n formField: field,\n });\n @if (field.name && 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[field.name],\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"] }] });
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 (field.name) {\n <s-control-errors\n [form]=\"group\"\n [control]=\"group().controls[field.name]\"\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[field.name],\n formField: field,\n });\n @if (field.name && 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[field.name],\n formField: field,\n });\n @if (field.name && 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[field.name],\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" }]
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.name) {
546
+ if (field.customName) {
540
547
  const defaultValue = 'defaultValue' in field ? field.defaultValue : undefined;
541
- result[field.name] = new FormControl(defaultValue);
542
- this.originalFormValues[field.name] = defaultValue;
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
- this.defaultFilter
634
- .filter(({ field }) => this.formGroupDialog?.contains(field) && !this.formGroupDialog?.get([field])?.dirty)
635
- .forEach(({ value, field }) => {
636
- this.formGroupDialog?.get([field])?.patchValue(value instanceof Function ? value() : value);
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() {