import React, { Component } from 'react'; import { connect } from 'react-redux'; import {Container, Grid} from 'semantic-ui-react'; import MainMenu from '../../components/MainMenu'; import DateRangePicker from '../../components/DateRangePicker'; import MemberSelector from './components/MemberSelector'; import MemberSummary from './components/MemberSummary'; import MemberIncidentsTables from '../../components/MemberIncidentsTables'; import GenerateFeesInORDButton from '../../components/GenerateFeesInORDButton'; import { fetchMemberIncidents, addFeesToOrd } from '../../store/actions'; class PracticeSummaryReport extends Component { constructor(props){ super(props); this.state = { dateRange: null, memberId: props.match.params.memberId, }; } onDateRangeUpdate(dateRange){ this.fetchIncidents(dateRange, this.state.memberId); this.setState({dateRange}); } onMemberSelectionUpdate(memberId){ this.fetchIncidents(this.state.dateRange, memberId); this.setState({memberId}); } fetchIncidents(dateRange, memberId){ const { fetchMemberIncidents } = this.props; if (dateRange && dateRange.startDate && dateRange.endDate && memberId){ fetchMemberIncidents(memberId, dateRange); } } render () { const { memberIncidents, loading } = this.props; const { memberId, dateRange } = this.state; const addFeesButtonDisabled = !memberId || !dateRange || loading; return (

Practice Summary Report


); } } const mapStateToProps = (state) => ({ memberIncidents: state.memberIncidents.result, loading: state.memberIncidents.pending, }); const mapDispatchToProps = (dispatch) => ({ fetchMemberIncidents: (memberId, dateRange) => fetchMemberIncidents(dispatch, memberId, dateRange), }); export default connect(mapStateToProps, mapDispatchToProps)(PracticeSummaryReport);