UNPKG

@wenn/onb

Version:

onb-core

69 lines (57 loc) 1.51 kB
import React from 'react' import PropTypes from 'prop-types' import { connect } from 'react-redux' import { reduxForm } from 'redux-form' import { saveCamunda, sendToCamunda } from '../../redux/actions/camunda.actions' const PersonalInfoHOC = Component => { class PersonalInfo extends React.Component { constructor(props) { super(props) } handleOnSend = e => { e.preventDefault() const { formData: { values }, viewName, saveCamunda, sendToCamunda } = this.props saveCamunda(values) sendToCamunda(viewName) } render() { return ( <div> <Component {...this.props} onHandleOnSend={this.handleOnSend} /> </div> ) } } PersonalInfo.proptTypes = { formData: PropTypes.object.isRequired, wording: PropTypes.object.isRequired, saveCamunda: PropTypes.func.isRequired, sendToCamunda: PropTypes.func.isRequired, viewName: PropTypes.string.isRequired } PersonalInfo = reduxForm({ form: 'PersonalInfo', destroyOnUnmount: false, forceUnregisterOnUnmount: true })(PersonalInfo) const mapState = ({ settings: { wording, config }, form }, { viewName }) => ({ formData: form.PersonalInfo ? form.PersonalInfo : {}, wording: wording[viewName], config, viewName }) const mapDispatch = { saveCamunda, sendToCamunda } return connect( mapState, mapDispatch )(PersonalInfo) } export default PersonalInfoHOC