39 lines
834 B
JavaScript
Raw Normal View History

2018-02-26 12:16:15 +01:00
/**
*
* ConfigPage reducer
*
*/
import { fromJS, Map } from 'immutable';
2018-02-26 12:16:15 +01:00
import {
GET_SETTINGS,
GET_SETTINGS_SUCCEEDED,
ON_CANCEL,
} from './constants';
const initialState = fromJS({
env: '',
initialData: Map({}),
modifiedData: Map({}),
settings: {},
});
2018-02-26 12:16:15 +01:00
function configPageReducer(state = initialState, action) {
switch (action.type) {
case GET_SETTINGS:
return state.update('env', () => action.env);
case GET_SETTINGS_SUCCEEDED:
return state
.update('initialData', () => Map(action.initialData))
.update('modifiedData', () => Map(action.initialData))
.update('settings', () => action.settings);
case ON_CANCEL:
return state.update('modifiedData', () => state.get('initialData'));
2018-02-26 12:16:15 +01:00
default:
return state;
}
}
export default configPageReducer;