"use client"; // /components/main/analogInputs/AnalogInputsTable.tsx export type AnalogInput = { id: number; value: number; label: string; unit?: string; // Make unit optional if it may not exist offset: number; factor: number; loggerInterval: number; weighting: number; }; import React, { useEffect } from "react"; import { useDispatch, useSelector } from "react-redux"; import { RootState, AppDispatch } from "@/redux/store"; import { getAnalogInputsThunk } from "@/redux/thunks/getAnalogInputsThunk"; import { Icon } from "@iconify/react"; import settingsIcon from "@iconify/icons-mdi/settings"; import waveformIcon from "@iconify/icons-mdi/waveform"; export default function AnalogInputsTable({ setSelectedId, setSelectedInput, setIsSettingsModalOpen, }: { setSelectedId: (id: number) => void; setSelectedInput: (input: any) => void; setIsSettingsModalOpen: (open: boolean) => void; }) { const dispatch = useDispatch(); const [activeId, setActiveId] = React.useState(null); useEffect(() => { dispatch(getAnalogInputsThunk()); }, [dispatch]); const analogInputs = useSelector( (state: RootState) => state.analogInputs ?? [] ); const handleSelect = (id: number) => { setSelectedId(id); setActiveId(id); }; return (

Messwerteingänge

{Object.values(analogInputs) .filter( (e) => e && typeof e.id === "number" && typeof e.label === "string" ) .map((e, index) => ( ))}
Eingang Messwert Einheit Bezeichnung Aktion
handleSelect(e.id!)} >
{e.id ?? "-"}
handleSelect(e.id!)} > {typeof e.value === "number" ? e.value.toFixed(2) : "-"} {e.unit || "-"} handleSelect(e.id!)} > {e.label || "----"}
); }