File tree Expand file tree Collapse file tree 1 file changed +21
-21
lines changed
app/javascript/components/service-dialog-form Expand file tree Collapse file tree 1 file changed +21
-21
lines changed Original file line number Diff line number Diff line change @@ -30,30 +30,30 @@ const DynamicField = ({ fieldData, onFieldAction }) => {
3030 } ;
3131
3232 const fieldSelector = ( fieldData ) => {
33- // Determine component ID with cleaner fallback logic
33+ // Determine component ID
3434 const { field } = fieldData ;
3535 const componentId = field . componentId || getComponentIdFromType ( field . type || '' ) ;
3636
37- switch ( componentId ) {
38- case 1 :
39- return < DynamicTextInput dynamicFieldData = { fieldData } onFieldAction = { ( newFieldData ) => onFieldAction ( newFieldData ) } /> ;
40- case 2 :
41- return < DynamicTextArea dynamicFieldData = { fieldData } onFieldAction = { ( newFieldData ) => onFieldAction ( newFieldData ) } /> ;
42- case 3 :
43- return < DynamicCheckbox dynamicFieldData = { fieldData } onFieldAction = { ( newFieldData ) => onFieldAction ( newFieldData ) } /> ;
44- case 4 :
45- return < DynamicDropdown dynamicFieldData = { fieldData } onFieldAction = { ( newFieldData ) => onFieldAction ( newFieldData ) } /> ;
46- case 5 :
47- return < DynamicRadioButton dynamicFieldData = { fieldData } onFieldAction = { ( newFieldData ) => onFieldAction ( newFieldData ) } /> ;
48- case 6 :
49- return < DynamicDatepicker dynamicFieldData = { fieldData } onFieldAction = { ( newFieldData ) => onFieldAction ( newFieldData ) } /> ;
50- case 7 :
51- return < DynamicTimepicker dynamicFieldData = { fieldData } onFieldAction = { ( newFieldData ) => onFieldAction ( newFieldData ) } /> ;
52- case 8 :
53- return < DynamicTagControl dynamicFieldData = { fieldData } onFieldAction = { ( newFieldData ) => onFieldAction ( newFieldData ) } /> ;
54- default :
55- return < DynamicTextInput dynamicFieldData = { fieldData } onFieldAction = { ( newFieldData ) => onFieldAction ( newFieldData ) } /> ;
56- }
37+ // Map component IDs to their respective React components
38+ const componentMap = {
39+ 1 : DynamicTextInput ,
40+ 2 : DynamicTextArea ,
41+ 3 : DynamicCheckbox ,
42+ 4 : DynamicDropdown ,
43+ 5 : DynamicRadioButton ,
44+ 6 : DynamicDatepicker ,
45+ 7 : DynamicTimepicker ,
46+ 8 : DynamicTagControl ,
47+ } ;
48+
49+ // Get the component based on componentId or default to DynamicTextInput
50+ const Component = componentMap [ componentId ] || DynamicTextInput ;
51+
52+ // Return the component with common props
53+ return < Component
54+ dynamicFieldData = { fieldData }
55+ onFieldAction = { onFieldAction }
56+ /> ;
5757 } ;
5858
5959 return (
You can’t perform that action at this time.
0 commit comments