42 lines
971 B
JavaScript
Raw Normal View History

/*
*
* HomePage reducer
*
*/
import { fromJS, List, Map } from 'immutable';
import {
DELETE_DATA,
DELETE_DATA_SUCCEEDED,
FETCH_DATA_SUCCEEDED,
} from './constants';
const initialState = fromJS({
data: List([]),
dataToDelete: Map({}),
deleteActionSucceeded: false,
deleteEndPoint: '',
});
function homePageReducer(state = initialState, action) {
switch (action.type) {
case DELETE_DATA:
return state
.set('dataToDelete', Map(action.dataToDelete))
.set('deleteEndPoint', action.deleteEndPoint);
case DELETE_DATA_SUCCEEDED:
return state
.update('data', list => list.splice(action.indexDataToDelete, 1))
.set('deleteEndPoint', '')
.set('dataToDelete', Map({}))
.set('deleteActionSucceeded', !state.get('deleteActionSucceeded'));
case FETCH_DATA_SUCCEEDED:
return state.set('data', List(action.data));
default:
return state;
}
}
export default homePageReducer;