54 lines
No EOL
1.2 KiB
JavaScript
54 lines
No EOL
1.2 KiB
JavaScript
import { List, Map } from 'immutable';
|
|
import RehydrateJob from 'Types/rehydrateJob';
|
|
|
|
import { mergeReducers } from './funcTools/tools';
|
|
import { createRequestReducer } from './funcTools/request';
|
|
import {
|
|
createCRUDReducer,
|
|
getCRUDRequestTypes,
|
|
createFetchList,
|
|
createInit,
|
|
createEdit,
|
|
createRemove,
|
|
createSave,
|
|
} from './funcTools/crud';
|
|
|
|
const name = 'rehydration';
|
|
const idKey = 'rehydrationId';
|
|
|
|
|
|
const SET_ACTIVE_TAB = 'steps/SET_ACTIVE_TAB';
|
|
|
|
const initialState = Map({
|
|
activeJob: Map(),
|
|
list: List()
|
|
});
|
|
|
|
const reducer = (state = initialState, action = {}) => {
|
|
switch (action.type) {
|
|
case SET_ACTIVE_TAB:
|
|
return state.set('activeJob', RehydrateJob(action.instance));
|
|
}
|
|
return state;
|
|
};
|
|
|
|
export function setActiveTab(instance) {
|
|
return {
|
|
type: SET_ACTIVE_TAB,
|
|
instance,
|
|
};
|
|
}
|
|
|
|
export const fetchList = createFetchList(name);
|
|
export const init = createInit(name);
|
|
export const edit = createEdit(name);
|
|
export const save = createSave(name);
|
|
export const remove = createRemove(name);
|
|
|
|
export default mergeReducers(
|
|
reducer,
|
|
createCRUDReducer(name, RehydrateJob, idKey),
|
|
createRequestReducer({
|
|
...getCRUDRequestTypes(name),
|
|
}),
|
|
); |