/** * * WithFormSection * */ import React from 'react'; import InputNumber from 'components/InputNumber'; import InputText from 'components/InputText'; import InputToggle from 'components/InputToggle'; import InputSelect from 'components/InputSelect'; import InputEnum from 'components/InputEnum'; import config from './config.json'; const WithFormSection = (InnerComponent) => class extends React.Component { static propTypes = { handleChange: React.PropTypes.func.isRequired, values: React.PropTypes.object, } renderInput = (props, key) => { const inputs = { string: InputText, number: InputNumber, boolean: InputToggle, enum: InputEnum, select: InputSelect, }; const Input = inputs[props.type]; const customBootstrapClass = config[props.target] || ''; const inputValue = this.props.values[props.target]; // retrieve options for the select input const selectOptions = props.type === 'enum' ? props.items : []; return ( ); } render() { return ( ); } } export default WithFormSection;