| import React, { Fragment } from 'react'; | 
| import { | 
|     TextField, | 
|     NumberField, | 
|     DateField, | 
|     BooleanField, | 
|     ReferenceField | 
| } from 'react-admin'; | 
|   | 
| const DynamicField = ({ fields }) => { | 
|     return ( | 
|         <> | 
|             {fields.map((field, index) => { | 
|                 switch (field.type) { | 
|                     case 'text': | 
|                         return <TextField key={index} source={field.source} label={field.label} />; | 
|                     case 'number': | 
|                         return <NumberField key={index} source={field.source} label={field.label} />; | 
|                     case 'date': | 
|                         return <DateField key={index} source={field.source} label={field.label} showTime={field.showTime} />; | 
|                     case 'boolean': | 
|                         return <BooleanField key={index} source={field.source} label={field.label} />; | 
|                     case 'reference': | 
|                         return ( | 
|                             <ReferenceField | 
|                                 key={index} | 
|                                 source={field.source} | 
|                                 label={field.label} | 
|                                 reference={field.reference} | 
|                                 link={field.link} | 
|                                 sortable={field.sortable} | 
|                             > | 
|                                 <TextField source={field.referenceSource} /> | 
|                             </ReferenceField> | 
|                         ); | 
|                     default: | 
|                         return null; | 
|                 } | 
|             })} | 
|         </> | 
|     ); | 
| }; | 
|   | 
| export default DynamicField;     |