ibms-dome/ibms_react/src/stores/alarmSlice.js
2023-01-31 23:15:50 +08:00

38 lines
1.0 KiB
JavaScript

import { createAsyncThunk, createSlice } from "@reduxjs/toolkit";
import { getBuiAlarmStateByBaja } from "@UTIL";
export const fetchBuiAlarmStateByBaja = createAsyncThunk(
"alarm/fetchBuiAlarmStateByBaja",
async ({ area_tag, building_tag }, { dispatch }) => {
const res = await getBuiAlarmStateByBaja(area_tag, building_tag);
console.log(res);
dispatch(getSidebarAlarm(res));
const timer = window.setInterval(async () => {
const res = await getBuiAlarmStateByBaja(area_tag, building_tag);
dispatch(getSidebarAlarm(res));
}, 300000);
},
);
const alarmSlice = createSlice({
name: "alarm",
initialState: {
sidebarAlarm: [],
},
reducers: {
getSidebarAlarm: (state, { payload }) => {
console.log(payload);
state.sidebarAlarm = payload;
},
},
extraReducers: (builder) => {
builder.addCase(fetchBuiAlarmStateByBaja.fulfilled, (state) => {
return;
});
},
});
const { reducer, actions } = alarmSlice;
export const { getSidebarAlarm } = actions;
export default reducer;