2017-03-18 17:34:00 +01:00
|
|
|
/*
|
|
|
|
*
|
|
|
|
* List reducer
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
import { fromJS } from 'immutable';
|
2017-05-11 14:17:21 +02:00
|
|
|
|
2017-06-17 17:01:50 +02:00
|
|
|
import { LOAD_MODELS, LOADED_MODELS, UPDATE_SCHEMA } from './constants';
|
2017-03-18 17:34:00 +01:00
|
|
|
|
|
|
|
const initialState = fromJS({
|
|
|
|
loading: false,
|
2017-04-10 16:28:30 +02:00
|
|
|
models: false,
|
2017-06-17 17:01:50 +02:00
|
|
|
schema: false,
|
2017-03-18 17:34:00 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
function appReducer(state = initialState, action) {
|
|
|
|
switch (action.type) {
|
|
|
|
case LOAD_MODELS:
|
2017-05-11 10:54:44 +02:00
|
|
|
return state.set('loading', true);
|
2017-03-18 17:34:00 +01:00
|
|
|
case LOADED_MODELS:
|
2017-05-11 10:54:44 +02:00
|
|
|
return state.set('loading', false).set('models', action.models);
|
2017-06-17 17:01:50 +02:00
|
|
|
case UPDATE_SCHEMA:
|
|
|
|
return state.set('schema', action.schema);
|
2017-03-18 17:34:00 +01:00
|
|
|
default:
|
|
|
|
return state;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default appReducer;
|