2017-01-20 16:22:57 +01:00
|
|
|
/*
|
|
|
|
|
*
|
|
|
|
|
* List reducer
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
import { fromJS } from 'immutable';
|
|
|
|
|
import {
|
2017-04-10 16:28:30 +02:00
|
|
|
SET_CURRENT_MODEL_NAME,
|
2017-01-23 20:04:12 +01:00
|
|
|
LOAD_RECORDS,
|
|
|
|
|
LOADED_RECORDS
|
2017-01-20 16:22:57 +01:00
|
|
|
} from './constants';
|
|
|
|
|
|
2017-01-23 20:04:12 +01:00
|
|
|
const initialState = fromJS({
|
|
|
|
|
currentModel: null,
|
2017-03-20 22:08:49 +01:00
|
|
|
loading: true,
|
|
|
|
|
records: false,
|
2017-01-23 20:04:12 +01:00
|
|
|
});
|
2017-01-20 16:22:57 +01:00
|
|
|
|
|
|
|
|
function listReducer(state = initialState, action) {
|
|
|
|
|
switch (action.type) {
|
2017-04-10 16:28:30 +02:00
|
|
|
case SET_CURRENT_MODEL_NAME:
|
2017-01-23 20:04:12 +01:00
|
|
|
return state
|
2017-04-10 16:28:30 +02:00
|
|
|
.set('currentModelName', action.modelName);
|
2017-03-20 22:08:49 +01:00
|
|
|
case LOAD_RECORDS:
|
|
|
|
|
return state
|
|
|
|
|
.set('loading', true);
|
2017-01-23 20:04:12 +01:00
|
|
|
case LOADED_RECORDS:
|
|
|
|
|
return state
|
|
|
|
|
.set('loading', false)
|
2017-03-20 22:08:49 +01:00
|
|
|
.set('records', action.records);
|
2017-01-20 16:22:57 +01:00
|
|
|
default:
|
|
|
|
|
return state;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default listReducer;
|