show incidents for selected member and selected dates
This commit is contained in:
@@ -8,6 +8,12 @@ import {
|
||||
FETCH_INCIDENTS_PENDING,
|
||||
FETCH_INCIDENTS_SUCCESS,
|
||||
FETCH_INCIDENTS_FAILED,
|
||||
FETCH_MEMBERS_PENDING,
|
||||
FETCH_MEMBERS_SUCCESS,
|
||||
FETCH_MEMBERS_FAILED,
|
||||
FETCH_MEMBER_INCIDENTS_PENDING,
|
||||
FETCH_MEMBER_INCIDENTS_SUCCESS,
|
||||
FETCH_MEMBER_INCIDENTS_FAILED,
|
||||
} from '../constants';
|
||||
|
||||
import API from '../../utilities/api';
|
||||
@@ -48,3 +54,27 @@ export const fetchIncidents = (dispatch, dateRange) => {
|
||||
dispatch({type: FETCH_INCIDENTS_FAILED, payload: error.response});
|
||||
});
|
||||
};
|
||||
|
||||
export const fetchMembersList = (dispatch) => {
|
||||
dispatch({type: FETCH_MEMBERS_PENDING});
|
||||
API.get('officeRnD/membersList')
|
||||
.then(response => {
|
||||
dispatch({type: FETCH_MEMBERS_SUCCESS, payload: response.data});
|
||||
})
|
||||
.catch(error => {
|
||||
dispatch({type: FETCH_MEMBERS_FAILED, payload: error.response});
|
||||
});
|
||||
};
|
||||
|
||||
export const fetchMemberIncidents = (dispatch, memberId, dateRange) => {
|
||||
const { startDate, endDate } = dateRange;
|
||||
|
||||
dispatch({type: FETCH_MEMBER_INCIDENTS_PENDING});
|
||||
API.get(`integration/report/member/${memberId}/${startDate}/${endDate}`)
|
||||
.then(response => {
|
||||
dispatch({type: FETCH_MEMBER_INCIDENTS_SUCCESS, payload: response.data});
|
||||
})
|
||||
.catch(error => {
|
||||
dispatch({type: FETCH_MEMBER_INCIDENTS_FAILED, payload: error.response});
|
||||
});
|
||||
};
|
||||
|
||||
@@ -13,3 +13,11 @@ export const ADD_NEW_MAPPING_FAILED = 'ADD_NEW_MAPPING_FAILED';
|
||||
export const FETCH_INCIDENTS_PENDING = 'FETCH_INCIDENTS_PENDING';
|
||||
export const FETCH_INCIDENTS_SUCCESS = 'FETCH_INCIDENTS_SUCCESS';
|
||||
export const FETCH_INCIDENTS_FAILED = 'FETCH_INCIDENTS_FAILED';
|
||||
|
||||
export const FETCH_MEMBERS_PENDING = 'FETCH_MEMBERS_PENDING';
|
||||
export const FETCH_MEMBERS_SUCCESS = 'FETCH_MEMBERS_SUCCESS';
|
||||
export const FETCH_MEMBERS_FAILED = 'FETCH_MEMBERS_FAILED';
|
||||
|
||||
export const FETCH_MEMBER_INCIDENTS_PENDING = 'FETCH_MEMBER_INCIDENTS_PENDING';
|
||||
export const FETCH_MEMBER_INCIDENTS_SUCCESS = 'FETCH_MEMBER_INCIDENTS_SUCCESS';
|
||||
export const FETCH_MEMBER_INCIDENTS_FAILED = 'FETCH_MEMBER_INCIDENTS_FAILED';
|
||||
|
||||
@@ -4,11 +4,15 @@ import { doorLockData} from './doorLockReducers';
|
||||
import { mappingsData } from './mappingsReducer';
|
||||
import { addMapping } from './addMappingReducer';
|
||||
import { incidentsReport } from './incidentsReportReducer';
|
||||
import { membersList } from './membersListReducer';
|
||||
import { memberIncidents} from './memberIncidentsReducer';
|
||||
|
||||
export const rootReducer = combineReducers({
|
||||
doorLockData,
|
||||
mappingsData,
|
||||
addMapping,
|
||||
incidentsReport,
|
||||
membersList,
|
||||
memberIncidents,
|
||||
});
|
||||
|
||||
|
||||
38
client/src/store/reducers/memberIncidentsReducer.js
Normal file
38
client/src/store/reducers/memberIncidentsReducer.js
Normal file
@@ -0,0 +1,38 @@
|
||||
import {
|
||||
FETCH_MEMBER_INCIDENTS_PENDING,
|
||||
FETCH_MEMBER_INCIDENTS_SUCCESS,
|
||||
FETCH_MEMBER_INCIDENTS_FAILED,
|
||||
} from '../constants';
|
||||
|
||||
const initialState = {
|
||||
pending: false,
|
||||
result: null,
|
||||
error: null,
|
||||
};
|
||||
|
||||
export const memberIncidents = (state, action) => {
|
||||
state = state || initialState;
|
||||
action = action || {};
|
||||
|
||||
switch(action.type){
|
||||
case FETCH_MEMBER_INCIDENTS_PENDING:
|
||||
return Object.assign({}, state, {
|
||||
pending: true,
|
||||
error: null,
|
||||
});
|
||||
case FETCH_MEMBER_INCIDENTS_SUCCESS:
|
||||
return Object.assign({}, state, {
|
||||
pending: false,
|
||||
result: action.payload,
|
||||
error: null,
|
||||
});
|
||||
case FETCH_MEMBER_INCIDENTS_FAILED:
|
||||
return Object.assign({}, state, {
|
||||
pending: false,
|
||||
result: {},
|
||||
error: action.payload,
|
||||
});
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
};
|
||||
38
client/src/store/reducers/membersListReducer.js
Normal file
38
client/src/store/reducers/membersListReducer.js
Normal file
@@ -0,0 +1,38 @@
|
||||
import {
|
||||
FETCH_MEMBERS_PENDING,
|
||||
FETCH_MEMBERS_SUCCESS,
|
||||
FETCH_MEMBERS_FAILED,
|
||||
} from '../constants';
|
||||
|
||||
const initialState = {
|
||||
pending: false,
|
||||
result: null,
|
||||
error: null,
|
||||
};
|
||||
|
||||
export const membersList = (state, action) => {
|
||||
state = state || initialState;
|
||||
action = action || {};
|
||||
|
||||
switch(action.type){
|
||||
case FETCH_MEMBERS_PENDING:
|
||||
return Object.assign({}, state, {
|
||||
pending: true,
|
||||
error: null,
|
||||
});
|
||||
case FETCH_MEMBERS_SUCCESS:
|
||||
return Object.assign({}, state, {
|
||||
pending: false,
|
||||
result: action.payload,
|
||||
error: null,
|
||||
});
|
||||
case FETCH_MEMBERS_FAILED:
|
||||
return Object.assign({}, state, {
|
||||
pending: false,
|
||||
result: {},
|
||||
error: action.payload,
|
||||
});
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user