38 lines
1.0 KiB
JavaScript
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;
|