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.
94 lines
2.2 KiB
94 lines
2.2 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_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 |
|
}; |
|
|
|
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_CLEAR_CSHIFT_STATE: |
|
return { |
|
...initialState |
|
}; |
|
default: |
|
return state; |
|
} |
|
} |
|
|
|
export default cShiftReducer;
|
|
|