|
|
@@ -4,10 +4,12 @@ import store from '../store';
|
|
|
|
|
|
interface GeneratorMonitorState {
|
|
|
acquisitionState: number;
|
|
|
+ errorMessage: string | null;
|
|
|
}
|
|
|
|
|
|
const initialState: GeneratorMonitorState = {
|
|
|
acquisitionState: 0, // 0: idle, 1: started, 2: success, 3: failure
|
|
|
+ errorMessage: null,
|
|
|
};
|
|
|
|
|
|
const generatorMonitorSlice = createSlice({
|
|
|
@@ -17,6 +19,9 @@ const generatorMonitorSlice = createSlice({
|
|
|
setAcquisitionState: (state, action: PayloadAction<number>) => {
|
|
|
state.acquisitionState = action.payload;
|
|
|
},
|
|
|
+ setErrorMessage: (state, action: PayloadAction<string | null>) => {
|
|
|
+ state.errorMessage = action.payload;
|
|
|
+ },
|
|
|
},
|
|
|
});
|
|
|
|
|
|
@@ -28,9 +33,10 @@ emitter.on('ACQUISITION_SUCCESS', () => {
|
|
|
store.dispatch(setAcquisitionState(2)); // Acquisition success
|
|
|
});
|
|
|
|
|
|
-emitter.on('ACQUISITION_FAILURE', () => {
|
|
|
+emitter.on('ACQUISITION_FAILURE', (errorMessage: string) => {
|
|
|
store.dispatch(setAcquisitionState(3)); // Acquisition failure
|
|
|
+ store.dispatch(setErrorMessage(errorMessage));
|
|
|
});
|
|
|
|
|
|
-export const { setAcquisitionState } = generatorMonitorSlice.actions;
|
|
|
+export const { setAcquisitionState, setErrorMessage } = generatorMonitorSlice.actions;
|
|
|
export default generatorMonitorSlice.reducer;
|