UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

50 lines (46 loc) 1.39 kB
import React, {Component} from 'react' import ExclusiveField from 'components/exclusive_field' import NonExclusiveField from 'components/non_exclusive_field' import CommentField from 'components/comment_field' import PopoverField from 'components/popover_field' import FileField from 'components/file_field' import TemplateField from 'components/template_field' import ComputedField from './computed_field' import AddressField from './address_field' import NewField from './new_field' import auto_bind from 'common/auto_bind' export default class Field extends Component { constructor(props) { super(props) auto_bind(this) } make_component(category) { switch (category) { case 'non_exclusive': return NonExclusiveField case 'exclusive': return ExclusiveField case 'comment': return CommentField case 'file': return FileField case 'popover': return PopoverField case 'template': return TemplateField case 'computed': return ComputedField case 'address': return AddressField case 'new_field': return NewField default: return null } } render() { const {category, ...field} = this.props const CategorizedField = this.make_component(category) return CategorizedField ? <CategorizedField {...field} /> : null } }