You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
875 B
39 lines
875 B
7 years ago
|
import { connect } from 'react-redux'
|
||
|
import Notification from './notification.component'
|
||
|
|
||
|
const { hideModal } = require('../../../actions')
|
||
|
|
||
|
const mapStateToProps = state => {
|
||
|
const { appState: { modal: { modalState: { props } } } } = state
|
||
|
const { onHide } = props
|
||
|
return {
|
||
|
onHide,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const mapDispatchToProps = dispatch => {
|
||
|
return {
|
||
|
hideModal: () => dispatch(hideModal()),
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const mergeProps = (stateProps, dispatchProps, ownProps) => {
|
||
|
const { onHide, ...otherStateProps } = stateProps
|
||
|
const { hideModal, ...otherDispatchProps } = dispatchProps
|
||
|
|
||
|
return {
|
||
|
...otherStateProps,
|
||
|
...otherDispatchProps,
|
||
|
...ownProps,
|
||
|
onHide: () => {
|
||
|
hideModal()
|
||
|
|
||
|
if (onHide && typeof onHide === 'function') {
|
||
|
onHide()
|
||
|
}
|
||
|
},
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default connect(mapStateToProps, mapDispatchToProps, mergeProps)(Notification)
|