diff --git a/client/src/scenes/IncidentsReport/index.js b/client/src/scenes/IncidentsReport/index.js
index 6f952df..40dad4b 100644
--- a/client/src/scenes/IncidentsReport/index.js
+++ b/client/src/scenes/IncidentsReport/index.js
@@ -20,9 +20,11 @@ class IncidentsReport extends Component {
};
render () {
- const { pendingIncidents, incidents } = this.props;
+ const { pendingIncidents, incidents, pendingAddFeesStatus } = this.props;
const { dateRange } = this.state;
+ const loading = pendingIncidents || pendingAddFeesStatus;
+
const membersMap = {};
if (incidents && Array.isArray(incidents)) {
incidents.forEach((incident) => {
@@ -40,13 +42,13 @@ class IncidentsReport extends Component {
-
+
);
}
@@ -55,6 +57,7 @@ class IncidentsReport extends Component {
const mapStateToProps = (state) => ({
pendingIncidents: state.incidentsReport.pending,
incidents: state.incidentsReport.result,
+ pendingAddFeesStatus: state.addFeesStatus.pending,
});
const mapDispatchToProps = (dispatch) => ({
diff --git a/client/src/scenes/PracticeSummaryReport/index.js b/client/src/scenes/PracticeSummaryReport/index.js
index a3d6488..b0df6b8 100644
--- a/client/src/scenes/PracticeSummaryReport/index.js
+++ b/client/src/scenes/PracticeSummaryReport/index.js
@@ -1,6 +1,6 @@
import React, { Component } from 'react';
import { connect } from 'react-redux';
-import {Container, Grid} from 'semantic-ui-react';
+import { Container, Grid } from 'semantic-ui-react';
import MainMenu from '../../components/MainMenu';
import DateRangePicker from '../../components/DateRangePicker';
@@ -9,7 +9,7 @@ import MemberSummary from './components/MemberSummary';
import MemberIncidentsTables from '../../components/MemberIncidentsTables';
import GenerateFeesInORDButton from '../../components/GenerateFeesInORDButton';
-import { fetchMemberIncidents, addFeesToOrd } from '../../store/actions';
+import { fetchMemberIncidents } from '../../store/actions';
class PracticeSummaryReport extends Component {
constructor(props){
@@ -40,9 +40,11 @@ class PracticeSummaryReport extends Component {
}
render () {
- const { memberIncidents, loading } = this.props;
+ const { memberIncidents, loadingMemberIncidents, loadingAddFeesStatus } = this.props;
const { memberId, dateRange } = this.state;
+ const loading = loadingAddFeesStatus || loadingMemberIncidents;
+
const addFeesButtonDisabled = !memberId || !dateRange || loading;
return (
@@ -91,7 +93,8 @@ class PracticeSummaryReport extends Component {
const mapStateToProps = (state) => ({
memberIncidents: state.memberIncidents.result,
- loading: state.memberIncidents.pending,
+ loadingMemberIncidents: state.memberIncidents.pending,
+ loadingAddFeesStatus: state.addFeesStatus.pending,
});
const mapDispatchToProps = (dispatch) => ({
diff --git a/client/src/store/reducers/addFeesToOrdReducer.js b/client/src/store/reducers/addFeesToOrdReducer.js
new file mode 100644
index 0000000..402cdca
--- /dev/null
+++ b/client/src/store/reducers/addFeesToOrdReducer.js
@@ -0,0 +1,38 @@
+import {
+ ADD_FEES_TO_ORD_PENDING,
+ ADD_FEES_TO_ORD_SUCCESS,
+ ADD_FEES_TO_ORD_FAILED,
+} from '../constants';
+
+const initialState = {
+ pending: false,
+ result: null,
+ error: null,
+};
+
+export const addFeesStatus = (state, action) => {
+ state = state || initialState;
+ action = action || {};
+
+ switch(action.type){
+ case ADD_FEES_TO_ORD_PENDING:
+ return Object.assign({}, state, {
+ pending: true,
+ error: null,
+ });
+ case ADD_FEES_TO_ORD_SUCCESS:
+ return Object.assign({}, state, {
+ pending: false,
+ result: action.payload,
+ error: null,
+ });
+ case ADD_FEES_TO_ORD_FAILED:
+ return Object.assign({}, state, {
+ pending: false,
+ result: {},
+ error: action.payload,
+ });
+ default:
+ return state;
+ }
+};
diff --git a/client/src/store/reducers/index.js b/client/src/store/reducers/index.js
index 869300c..3eb9e9f 100644
--- a/client/src/store/reducers/index.js
+++ b/client/src/store/reducers/index.js
@@ -6,6 +6,7 @@ import { addMapping } from './addMappingReducer';
import { incidentsReport } from './incidentsReportReducer';
import { membersList } from './membersListReducer';
import { memberIncidents} from './memberIncidentsReducer';
+import { addFeesStatus } from './addFeesToOrdReducer';
export const rootReducer = combineReducers({
doorLockData,
@@ -14,5 +15,6 @@ export const rootReducer = combineReducers({
incidentsReport,
membersList,
memberIncidents,
+ addFeesStatus,
});