Files
superset2/superset/assets/javascripts/explore/reducers/saveModalReducer.js
Grace Guo b3107bb603 [explore] Split large reducer logic in ExploreViewContainer (#3088)
* split reducer logic for ExploreViewContainer

* fix saveModal component and unit tests

* revert changes in SaveModal_spec.
will make another commit just to improve test coverage for SaveModal component.

* remove comment-out code

* fix merge confilicts
2017-08-10 14:21:45 -07:00

29 lines
909 B
JavaScript

/* eslint camelcase: 0 */
import * as actions from '../actions/saveModalActions';
export default function saveModalReducer(state = {}, action) {
const actionHandlers = {
[actions.FETCH_DASHBOARDS_SUCCEEDED]() {
return Object.assign({}, state, { dashboards: action.choices });
},
[actions.FETCH_DASHBOARDS_FAILED]() {
return Object.assign({}, state,
{ saveModalAlert: `fetching dashboards failed for ${action.userId}` });
},
[actions.SAVE_SLICE_FAILED]() {
return Object.assign({}, state, { saveModalAlert: 'Failed to save slice' });
},
[actions.SAVE_SLICE_SUCCESS](data) {
return Object.assign({}, state, { data });
},
[actions.REMOVE_SAVE_MODAL_ALERT]() {
return Object.assign({}, state, { saveModalAlert: null });
},
};
if (action.type in actionHandlers) {
return actionHandlers[action.type]();
}
return state;
}