import * as React from 'react'; import { translate } from 'react-i18next'; import {Field, reduxForm, FieldArray} from 'redux-form'; // utilities import {log} from 'utilities/debug'; import Validators from 'utilities/Validators'; // constants import {SUBSET_CREATOR_FORM} from 'subsets/constants'; // models import Subset from 'model/subset/Subset'; import SubsetCreator, {CreatorRole} from 'model/subset/SubsetCreator'; // ui import {withStyles} from '@material-ui/core/styles'; import Button from '@material-ui/core/Button'; import Grid from '@material-ui/core/Grid'; import IconButton from '@material-ui/core/IconButton'; import DeleteIcon from '@material-ui/icons/Delete'; import Radio from '@material-ui/core/Radio'; import RadioGroup from '@material-ui/core/RadioGroup'; import FormControlLabel from '@material-ui/core/FormControlLabel'; import FormLabel from '@material-ui/core/FormLabel'; import FormControl from 'ui/common/forms/FormControl'; import {TextField} from 'ui/common/text-field'; interface ISubsetCreatorFormProps extends React.ClassAttributes { t: any; initialValues: any; fields: any; classes: any; subset: Subset; createSubsetCreator: () => Promise; deleteCreatorRequest: (creator: SubsetCreator) => Promise; } const styles = (theme) => ({ /* tslint:disable */ RadioGrid: { flexDirection: 'row' as 'row', justifyContent: 'space-evenly' as 'space-evenly', '& > label': { flexBasis: '45%', }, } }); /* tslint:enable */ const renderRadioGroup = translate()(({input, meta, t, classes}) => { const onInputChange = (event, value) => input.onChange(value); return ( { t(`subsets.dashboard.p.stepper.creators.Role`) } { Object.keys(CreatorRole).map((role) => ( } /> )) } ); }); class SubsetCreatorForm extends React.Component { public createCreator = () => { log('create creator event'); this.props.createSubsetCreator(); } public deleteCreator = (fields, index) => () => { this.props.deleteCreatorRequest(fields.get(index)); } public renderCreators = ({ classes, fields, meta: { touched, error, submitFailed } , t}) => { return(
{ fields.map((creator, index) => (
), ) }
); } public render() { const { t } = this.props; return (
); } } export default translate()(reduxForm({ form: SUBSET_CREATOR_FORM, enableReinitialize: true, })(translate()(((withStyles as any)(styles)(SubsetCreatorForm)))));