import React from 'react'; import PropTypes from 'prop-types'; import { withStyles } from '@material-ui/core/styles'; import { KeyboardDatePicker, MuiPickersUtilsProvider } from '@material-ui/pickers'; import MomentUtils from '@date-io/moment'; import { reduxForm, Field } from 'redux-form/immutable'; import { connect } from 'react-redux'; import css from 'ba-styles/Form.scss'; import { Button, Radio, RadioGroup, FormLabel, FormControlLabel } from '@material-ui/core'; import { TextFieldRedux } from '../Forms/ReduxFormMUI'; import styles from './calendar-jss'; // validation functions const required = value => (value == null ? 'Required' : undefined); const DateTimePickerRow = props => { const { showErrorsInline, dispatch, input: { onChange, value }, meta: { touched, error }, ...other } = props; const showError = showErrorsInline || touched; return ( ); }; DateTimePickerRow.propTypes = { showErrorsInline: PropTypes.bool, dispatch: PropTypes.func, input: PropTypes.object.isRequired, meta: PropTypes.object.isRequired, }; const renderRadioGroup = ({ input, ...rest }) => ( input.onChange(value)} /> ); renderRadioGroup.propTypes = { input: PropTypes.object.isRequired, }; DateTimePickerRow.defaultProps = { showErrorsInline: false, dispatch: () => {}, }; class AddEventForm extends React.Component { state = { selectedDate: new Date(), } onChangeDate = date => { this.setState({ selectedDate: date }); } saveRef = ref => { this.ref = ref; return this.ref; }; render() { const { classes, reset, pristine, submitting, handleSubmit, } = this.props; const { selectedDate } = this.state; return (
Label Color } label="Red" /> } label="Green" /> } label="Blue" /> } label="Violet" /> } label="Orange" />
); } } AddEventForm.propTypes = { classes: PropTypes.object.isRequired, handleSubmit: PropTypes.func.isRequired, reset: PropTypes.func.isRequired, pristine: PropTypes.bool.isRequired, submitting: PropTypes.bool.isRequired, }; const AddEventFormRedux = reduxForm({ form: 'immutableAddCalendar', enableReinitialize: true, })(AddEventForm); const reducer = 'calendar'; const AddEventInit = connect( state => ({ force: state, initialValues: state.getIn([reducer, 'formValues']) }), )(AddEventFormRedux); export default withStyles(styles)(AddEventInit);