530593b721
- todo: wait for React Datepicker PR 1380 - batch api call and saga handlers - view/edit
95 lines
2.2 KiB
JavaScript
95 lines
2.2 KiB
JavaScript
import {
|
|
IS_SENDING_CSHIFT_REQUEST,
|
|
SET_CSHIFT_REQUEST_ERROR,
|
|
CLEAR_CSHIFT_REQUEST_ERROR,
|
|
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_CLEAR_CSHIFT_STATE
|
|
} from "../constants/cShift.constants";
|
|
|
|
const initialState = {
|
|
isSendingCShiftRequest: false,
|
|
cShiftRequestError: "",
|
|
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
|
|
};
|
|
|
|
function cShiftReducer(state = initialState, action) {
|
|
switch (action.type) {
|
|
case IS_SENDING_CSHIFT_REQUEST:
|
|
return {
|
|
...state,
|
|
isSendingCShiftRequest: action.data
|
|
};
|
|
case SET_CSHIFT_REQUEST_ERROR:
|
|
return {
|
|
...state,
|
|
cShiftRequestError: action.data
|
|
};
|
|
case CLEAR_CSHIFT_REQUEST_ERROR:
|
|
return {
|
|
...state,
|
|
cShiftRequestError: ""
|
|
};
|
|
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_CLEAR_CSHIFT_STATE:
|
|
return {
|
|
...initialState
|
|
};
|
|
default:
|
|
return state;
|
|
}
|
|
}
|
|
|
|
export default cShiftReducer;
|