UNPKG

@wenn/onb

Version:

onb-core

69 lines (57 loc) 1.52 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 SMSValidationHOC = Component => { class SMSValidation 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> ) } } SMSValidation.proptTypes = { formData: PropTypes.object.isRequired, wording: PropTypes.object.isRequired, saveCamunda: PropTypes.func.isRequired, sendToCamunda: PropTypes.func.isRequired, viewName: PropTypes.string.isRequired } SMSValidation = reduxForm({ form: 'SMSValidation', destroyOnUnmount: false, forceUnregisterOnUnmount: true })(SMSValidation) const mapState = ({ settings: { wording, config }, form }, { viewName }) => ({ formData: form.SMSValidation ? form.SMSValidation : {}, wording: wording[viewName], config, viewName }) const mapDispatch = { saveCamunda, sendToCamunda } return connect( mapState, mapDispatch )(SMSValidation) } export default SMSValidationHOC