"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 { setIsChartModalOpen } from "@/redux/slices/analogInputs/analogInputsUiSlice"; import { setSelectedId, setAutoLoad, } from "@/redux/slices/analogInputs/analogInputsHistorySlice"; export default function AnalogInputsTable({ loading }: { loading: boolean }) { 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(setSelectedId(id)); setActiveId(id); dispatch(setSelectedAnalogInput(input)); dispatch(setAutoLoad(true)); }; return (

Messwerteingänge

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