UNPKG

@wenn/onb

Version:

onb-core

100 lines (87 loc) 2.56 kB
import React from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { reduxForm, change } from 'redux-form'; import { saveCamunda, sendToCamunda } from '../../redux/actions/camunda.actions'; import { goBack } from '../../redux/actions/pages.actions'; const ConfirmIdentityHOC = Component => { class ConfirmIdentity extends React.Component { componentDidMount() { const { identityValidation } = this.props; sendlog('view_page', { identityValidation }); } handleOnSend = e => { e.preventDefault(); const { formData: { values }, viewName, identityValidation, saveCamunda, sendToCamunda } = this.props; const fiscalId = values.identity.substr(1); const identity = identityValidation.find( iden => iden.fiscal_id === fiscalId ); const data = { fullname: `${identity.firstname} ${identity.lastname}` }; sendlog('event', { event_action: 'click', ...values }); saveCamunda({ ...data, ...identity }); sendToCamunda(viewName); }; onHandleBack = () => { const { dispatch, goBack, history } = this.props; dispatch(change('InitialInfo', 'national_id', '')); dispatch(change('InitialInfo', 'termsyconditions', false)); dispatch(change('ConfirmIdentity', 'identity', '')); goBack(history.push); }; render() { return ( <div> <Component {...this.props} onHandleOnSend={this.handleOnSend} handleBack={this.onHandleBack} /> </div> ); } } ConfirmIdentity.propTypes = { formData: PropTypes.object.isRequired, wording: PropTypes.object.isRequired, saveCamunda: PropTypes.func.isRequired, sendToCamunda: PropTypes.func.isRequired, viewName: PropTypes.string.isRequired }; ConfirmIdentity = reduxForm({ form: 'ConfirmIdentity', destroyOnUnmount: false, forceUnregisterOnUnmount: true })(ConfirmIdentity); const mapState = ({ settings, form, camundaData }, { viewName }) => ({ formData: form.ConfirmIdentity ? form.ConfirmIdentity : {}, wording: settings.wording[viewName], config: settings.config, viewName, identityValidation: camundaData.identity_validation || [] }); const mapDispatch = { saveCamunda, sendToCamunda, goBack }; return connect( mapState, mapDispatch )(ConfirmIdentity); }; export default ConfirmIdentityHOC;