import React, {Component, PropTypes} from 'react'; import {connect} from 'react-redux'; import {bindActionCreators} from 'redux'; import {reduxForm} from 'redux-form'; import widgetValidation, {colors} from './widgetValidation'; import * as widgetActions from 'uiclient/redux/modules/widgets'; @connect( state => ({ saveError: state.widgets.saveError }), dispatch => bindActionCreators(widgetActions, dispatch) ) @reduxForm({ form: 'widget', fields: ['id', 'color', 'sprocketCount', 'owner'], validate: widgetValidation }) export default class WidgetForm extends Component { static propTypes = { fields: PropTypes.object.isRequired, editStop: PropTypes.func.isRequired, handleSubmit: PropTypes.func.isRequired, invalid: PropTypes.bool.isRequired, pristine: PropTypes.bool.isRequired, save: PropTypes.func.isRequired, submitting: PropTypes.bool.isRequired, saveError: PropTypes.object, formKey: PropTypes.string.isRequired, values: PropTypes.object.isRequired, }; render() { const { editStop, fields: {id, color, sprocketCount, owner}, formKey, handleSubmit, invalid, pristine, save, submitting, saveError: { [formKey]: saveError }, values, } = this.props; const styles = require('uiclient/containers/Widgets/Widgets.scss'); return (