public/js/actions/AtomActions/deleteAtom.js (30 lines of code) (raw):
import AtomsApi from '../../services/AtomsApi';
import {logError} from '../../util/logger';
function requestAtomDelete(atom) {
return {
type: 'ATOM_DELETE_REQUEST',
atom: atom,
receivedAt: Date.now()
};
}
function errorDeletingAtom(error) {
logError(error);
return {
type: 'SHOW_ERROR',
message: 'Could not delete atom',
error: error,
receivedAt: Date.now()
};
}
export function deleteAtom(atom) {
return dispatch => {
dispatch(requestAtomDelete(atom));
return AtomsApi.deleteAtom(atom)
.then(res => res.json())
.then(() =>
window.location.href = window.location.origin + '/'
).catch(error =>
dispatch(errorDeletingAtom(error))
);
};
}