"use client"; // /components/main/analogInputs/AnalogInputsTable.tsx import type { AnalogInput } from "@/types/analogInput"; 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"; import { setSelectedAnalogInput } from "@/redux/slices/analogInputs/selectedAnalogInputSlice"; import { setIsSettingsModalOpen } from "@/redux/slices/analogInputs/analogInputsUiSlice"; import { setSelectedId } from "@/redux/slices/analogInputs/analogInputsHistorySlice"; export default function AnalogInputsTable() { const dispatch = useDispatch(); const [activeId, setActiveId] = React.useState(null); useEffect(() => { dispatch(getAnalogInputsThunk()); }, [dispatch]); const analogInputs = useSelector( (state: RootState) => state.analogInputs ?? [] ); const handleSelect = (id: number, input: AnalogInput) => { dispatch(setIsSettingsModalOpen(true)); dispatch(setSelectedId(id)); setActiveId(id); dispatch(setSelectedAnalogInput(input)); }; return (

Messwerteingänge

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