You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

141 lines
3.3 KiB

import {
IS_SENDING_CSHIFT_REQUEST,
SET_CSHIFT_REQUEST_ERRORS,
CLEAR_CSHIFT_REQUEST_ERRORS,
SET_CSHIFT_REQUEST_SUCCESS,
CLEAR_CSHIFT_REQUEST_SUCCESS,
SET_FORM_EMPLOYEE_UUID,
SET_FORM_PRICE_UUID,
SET_FORM_SHIFT_START_TIME,
SET_FORM_SHIFT_DURATION,
SET_FORM_SHIFT_NOTE,
SET_FORM_SHIFT_DATES,
SET_CSHIFT_UUID,
SET_CSHIFT_PAGE,
SET_CSHIFT_APPROVAL_FILTER,
SET_CSHIFT_COMPLETED_FILTER,
SET_CSHIFT_PROVIDER_FILTER,
SET_CSHIFT_WORKTYPE_FILTER,
SET_CLEAR_CSHIFT_STATE
} from "../constants/cShift.constants";
const initialState = {
isSendingCShiftRequest: false,
cShiftRequestErrors: [],
cShiftRequestSuccess: "",
employeeUUID: "", // Which employee
priceUUID: "", // Which price
startTime: null, // When does the shift begin? moment instance
duration: "", // Duration of shift in minutes
note: "", // Optional note
shiftDates: {}, // Dates, map of "YYYY-MM-DD" > moment instance
cShiftUUID: "",
page: 1,
approvalFilter: null,
completedFilter: null,
providerFilter: null,
workTypeFilter: null
};
function cShiftReducer(state = initialState, action) {
switch (action.type) {
case IS_SENDING_CSHIFT_REQUEST:
return {
...state,
isSendingCShiftRequest: action.data
};
case SET_CSHIFT_REQUEST_ERRORS:
return {
...state,
cShiftRequestErrors: action.data
};
case CLEAR_CSHIFT_REQUEST_ERRORS:
return {
...state,
cShiftRequestErrors: []
};
case SET_CSHIFT_REQUEST_SUCCESS:
return {
...state,
cShiftRequestSuccess: action.data
};
case CLEAR_CSHIFT_REQUEST_SUCCESS:
return {
...state,
cShiftRequestSuccess: ""
};
case SET_FORM_EMPLOYEE_UUID:
return {
...state,
employeeUUID: action.data
};
case SET_FORM_PRICE_UUID:
return {
...state,
priceUUID: action.data
};
case SET_FORM_SHIFT_START_TIME:
return {
...state,
startTime: action.data
};
case SET_FORM_SHIFT_DURATION:
return {
...state,
duration: action.data
};
case SET_FORM_SHIFT_NOTE:
return {
...state,
note: action.data
};
case SET_FORM_SHIFT_DATES:
return {
...state,
shiftDates: action.data
};
case SET_CSHIFT_UUID:
return {
...state,
cShiftUUID: action.data
};
case SET_CSHIFT_PAGE:
return {
...state,
page: action.data
};
case SET_CSHIFT_APPROVAL_FILTER:
return {
...state,
approvalFilter: action.data
};
case SET_CSHIFT_COMPLETED_FILTER:
return {
...state,
completedFilter: action.data
};
case SET_CSHIFT_PROVIDER_FILTER:
return {
...state,
providerFilter: action.data
};
case SET_CSHIFT_WORKTYPE_FILTER:
return {
...state,
workTypeFilter: action.data
};
case SET_CLEAR_CSHIFT_STATE:
return {
...initialState,
page: state.page,
approvalFilter: state.approvalFilter,
completedFilter: state.completedFilter,
providerFilter: state.providerFilter,
workTypeFilter: state.workTypeFilter
};
default:
return state;
}
}
export default cShiftReducer;