2019-07-16 11:23:11 +02:00
import React , { Component } from 'react' ;
2019-07-18 03:44:16 +02:00
import { connect } from 'react-redux' ;
2019-07-16 11:23:11 +02:00
import { Button , Modal } from 'semantic-ui-react' ;
2019-07-18 03:44:16 +02:00
import { addFeesToOrd } from '../../store/actions' ;
2019-07-16 11:23:11 +02:00
class GenerateFeesInORDButton extends Component {
state = { open : false } ;
show = size => ( ) => this . setState ( { size , open : true } ) ;
close = ( ) => this . setState ( { open : false } ) ;
confirm = ( ) => {
2019-07-18 03:44:16 +02:00
const { addFeesToOrd , dateRange , memberIds } = this . props ;
if ( dateRange ) {
addFeesToOrd ( dateRange , memberIds ) ;
2019-07-16 11:23:11 +02:00
}
2019-07-18 03:44:16 +02:00
this . close ( ) ;
2019-07-16 11:23:11 +02:00
} ;
render ( ) {
const { open , size } = this . state ;
const { singleMember , disabled } = this . props ;
const modalContent = singleMember ?
'This will remove all existing fees in ORD for selected member in selected date range and generate new fees based on shown incident tables. Do you want to continue ?' :
'This will remove all existing fees in ORD for all members in selected date range and generate new fees based on shown incident tables. Do you want to continue ?' ;
return (
< div >
< Button disabled = { disabled } onClick = { this . show ( 'tiny' ) } > Generate fees in ORD < / B u t t o n >
< Modal size = { size } open = { open } onClose = { this . close } >
< Modal . Header > Add fees to the ORD < / M o d a l . H e a d e r >
< Modal . Content >
< p > { modalContent } < / p >
< / M o d a l . C o n t e n t >
< Modal . Actions >
< Button negative onClick = { this . close } > No < / B u t t o n >
< Button positive icon = 'checkmark' onClick = { this . confirm } labelPosition = 'right' content = 'Yes' / >
< / M o d a l . A c t i o n s >
< / M o d a l >
< / d i v >
) ;
}
}
2019-07-18 03:44:16 +02:00
const mapDispatchToProps = ( dispatch ) => ( {
addFeesToOrd : ( dateRange , memberIds ) => addFeesToOrd ( dispatch , dateRange , memberIds ) ,
} ) ;
export default connect ( null , mapDispatchToProps ) ( GenerateFeesInORDButton ) ;