mirror of https://github.com/fspc/workstand.git
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.
37 lines
973 B
37 lines
973 B
import { setBikes, setBikesFetched, setBikesIsFetching, setBikesFetchFailed, createBike, editBike } from './actions';
|
|
import { handleActions } from 'redux-actions';
|
|
|
|
export default handleActions({
|
|
[setBikes]: (state, action) => ({
|
|
...state,
|
|
entities: action.payload.entities.bikes,
|
|
}),
|
|
[setBikesIsFetching]: (state, action) => ({
|
|
...state,
|
|
isFetching: action.payload,
|
|
}),
|
|
[setBikesFetched]: (state, action) => ({
|
|
...state,
|
|
fetched: action.payload,
|
|
}),
|
|
[setBikesFetchFailed]: (state, action) => ({
|
|
...state,
|
|
fetchFailed: {
|
|
message: action.payload,
|
|
},
|
|
}),
|
|
[editBike]: (state, action) => ({
|
|
...state,
|
|
form: {
|
|
bike: action.payload,
|
|
create: false,
|
|
},
|
|
}),
|
|
[createBike]: (state, action) => ({
|
|
...state,
|
|
form: {
|
|
bike: null,
|
|
create: true,
|
|
},
|
|
}),
|
|
}, { entities: {}, form: { bike: null, create: undefined }, isFetching: false, fetched: false, fetchFailed: undefined });
|
|
|