public/js/reducers/saveStateReducer.js (54 lines of code) (raw):

import {saveStateVals} from '../constants/saveStateVals'; export default function saveState(state = { saving: false, publishing: false }, action) { switch (action.type) { //Save States case 'ATOM_GET_REQUEST': return Object.assign({}, state, { saving: saveStateVals.inprogress }); case 'ATOM_CREATE_REQUEST': return Object.assign({}, state, { saving: saveStateVals.inprogress }); case 'ATOM_UPDATE_REQUEST': return Object.assign({}, state, { saving: saveStateVals.inprogress }); case 'ATOM_TAKE_DOWN_REQUEST': return Object.assign({}, state, { saving: saveStateVals.inprogress }); case 'ATOM_GET_RECEIVE': return Object.assign({}, state, { saving: false }); case 'ATOM_CREATE_RECEIVE': return Object.assign({}, state, { saving: false }); case 'ATOM_UPDATE_RECEIVE': return Object.assign({}, state, { saving: false }); case 'ATOM_TAKE_DOWN_RECEIVE': return Object.assign({}, state, { saving: false }); case 'SHOW_ERROR': return Object.assign({}, state, { saving: false }); //Publish States case 'ATOM_PUBLISH_REQUEST': return Object.assign({}, state, { publishing: saveStateVals.inprogress }); case 'ATOM_PUBLISH_RECEIVE': return Object.assign({}, state, { publishing: false }); default: return state; } }