/**
* Generates form field configuration for diagnostics with manual overrides.
*
* @param {object} defaultConfig - Default configuration for form fields.
* @param {object} overrides - Manual overrides for specific form fields.
* @returns {object} - The combined form field configuration.
*/
function generateDiagnosticFormConfig(defaultConfig, overrides) {
const config = { ...defaultConfig }; // Start with the default configuration
// Apply overrides, prioritizing them over the default configuration
for (const field in overrides) {
if (config.hasOwnProperty(field)) {
config[field] = overrides[field]; // Override the default value
}
}
return config;
}
// Example Usage (Illustrative - replace with your actual data)
const defaultFormConfig = {
name: {
type: 'text',
label: 'Name',
required: true,
},
age: {
type: 'number',
label: 'Age',
min: 0,
},
email: {
type: 'email',
label: 'Email',
},
isActive: {
type: 'checkbox',
label: 'Is Active'
}
};
const fieldOverrides = {
name: {
label: 'Full Name', //Override the label
placeholder: 'Enter your full name',
},
age: {
min: 18, //Override min value
max: 120,
},
email: {
required: false //Override required property
}
};
const finalConfig = generateDiagnosticFormConfig(defaultFormConfig, fieldOverrides);
console.log(finalConfig);
Add your comment