1. /**
  2. * Generates form field configuration for diagnostics with manual overrides.
  3. *
  4. * @param {object} defaultConfig - Default configuration for form fields.
  5. * @param {object} overrides - Manual overrides for specific form fields.
  6. * @returns {object} - The combined form field configuration.
  7. */
  8. function generateDiagnosticFormConfig(defaultConfig, overrides) {
  9. const config = { ...defaultConfig }; // Start with the default configuration
  10. // Apply overrides, prioritizing them over the default configuration
  11. for (const field in overrides) {
  12. if (config.hasOwnProperty(field)) {
  13. config[field] = overrides[field]; // Override the default value
  14. }
  15. }
  16. return config;
  17. }
  18. // Example Usage (Illustrative - replace with your actual data)
  19. const defaultFormConfig = {
  20. name: {
  21. type: 'text',
  22. label: 'Name',
  23. required: true,
  24. },
  25. age: {
  26. type: 'number',
  27. label: 'Age',
  28. min: 0,
  29. },
  30. email: {
  31. type: 'email',
  32. label: 'Email',
  33. },
  34. isActive: {
  35. type: 'checkbox',
  36. label: 'Is Active'
  37. }
  38. };
  39. const fieldOverrides = {
  40. name: {
  41. label: 'Full Name', //Override the label
  42. placeholder: 'Enter your full name',
  43. },
  44. age: {
  45. min: 18, //Override min value
  46. max: 120,
  47. },
  48. email: {
  49. required: false //Override required property
  50. }
  51. };
  52. const finalConfig = generateDiagnosticFormConfig(defaultFormConfig, fieldOverrides);
  53. console.log(finalConfig);

Add your comment