48 lines
1019 B
JavaScript
48 lines
1019 B
JavaScript
import {
|
|
showWindow,
|
|
shutdownApplication
|
|
} from './common_actions';
|
|
|
|
let ErrorActions = [];
|
|
|
|
export const CLEAR_ERROR = 'error/clearError';
|
|
export const clearError = () => {
|
|
return {
|
|
type: CLEAR_ERROR,
|
|
payload: null,
|
|
};
|
|
};
|
|
|
|
export const dismissError = () => {
|
|
return (dispatch, getState) => {
|
|
dispatch(clearError());
|
|
const errorAction = ErrorActions[0];
|
|
ErrorActions = ErrorActions.splice(1);
|
|
if (errorAction) {
|
|
errorAction();
|
|
}
|
|
if (getState().error.ErrorCritical) {
|
|
dispatch(shutdownApplication());
|
|
}
|
|
};
|
|
};
|
|
|
|
export const notifyError = (msg, critical, callback) => {
|
|
return dispatch => {
|
|
ErrorActions = [callback, ...ErrorActions];
|
|
msg = msg ? msg.toString() : 'Unknown Error';
|
|
dispatch(setErrorInfo(msg, critical));
|
|
dispatch(showWindow());
|
|
};
|
|
};
|
|
|
|
export const SET_ERROR_INFO = 'error/setErrorInfo';
|
|
export const setErrorInfo = (msg, critical) => {
|
|
return {
|
|
type: SET_ERROR_INFO,
|
|
payload: {
|
|
msg,
|
|
critical
|
|
}
|
|
}
|
|
}; |