142 lines
3.3 KiB
JavaScript
142 lines
3.3 KiB
JavaScript
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;
|