Files
old-crm-integration/client/src/scenes/IncidentsReport/index.js

43 lines
1.3 KiB
JavaScript
Raw Normal View History

import React, { Component } from 'react';
import { connect } from 'react-redux';
2019-06-19 11:23:58 +02:00
import { Container } from 'semantic-ui-react';
import MainMenu from '../../components/MainMenu';
2019-06-19 11:23:58 +02:00
import DateRangePicker from '../../components/DateRangePicker';
import MemberIncidentsTable from '../../components/MemberIncidentsTable';
import { fetchIncidents } from '../../store/actions';
class IncidentsReport extends Component {
2019-06-19 11:23:58 +02:00
onDatesUpdate(dateRange) {
const { fetchIncidents } = this.props;
2019-06-19 11:23:58 +02:00
fetchIncidents(dateRange);
}
render () {
const { pendingIncidents, incidents } = this.props;
return (
<Container>
<MainMenu/>
<h3>Incidents Report</h3>
<hr/>
2019-06-19 11:23:58 +02:00
<DateRangePicker buttonLabel="Show report" onDatesUpdate={this.onDatesUpdate.bind(this)} />
<br/>
<MemberIncidentsTable loading={pendingIncidents} incidents={incidents} />
</Container>
);
}
}
const mapStateToProps = (state) => ({
pendingIncidents: state.incidentsReport.pending,
incidents: state.incidentsReport.result,
});
const mapDispatchToProps = (dispatch) => ({
2019-06-19 11:23:58 +02:00
fetchIncidents: (dateRange) => fetchIncidents(dispatch, dateRange),
});
export default connect(mapStateToProps, mapDispatchToProps)(IncidentsReport);