36 lines
834 B
TypeScript
36 lines
834 B
TypeScript
// /redux/slices/selectedAnalogInputSlice.ts
|
|
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
|
|
|
export interface SelectedAnalogInput {
|
|
id: number;
|
|
label: string;
|
|
unit?: string;
|
|
value?: number;
|
|
offset?: number;
|
|
factor?: number;
|
|
loggerInterval?: number;
|
|
weighting?: number;
|
|
}
|
|
|
|
const initialState: SelectedAnalogInput | null = null;
|
|
|
|
const selectedAnalogInputSlice = createSlice({
|
|
name: "selectedAnalogInput",
|
|
initialState,
|
|
reducers: {
|
|
setSelectedAnalogInput: (
|
|
state,
|
|
action: PayloadAction<SelectedAnalogInput>
|
|
) => {
|
|
return action.payload;
|
|
},
|
|
clearSelectedAnalogInput: () => {
|
|
return null;
|
|
},
|
|
},
|
|
});
|
|
|
|
export const { setSelectedAnalogInput, clearSelectedAnalogInput } =
|
|
selectedAnalogInputSlice.actions;
|
|
export default selectedAnalogInputSlice.reducer;
|