"use client" import { Group, Peripherie, PeripherieFilterOptionen } from "@/types/rk"; import { useEffect, useState } from "react"; import PeripherieListView from "../peripherie/peripherieListView"; import { PeripherieFindApi } from "@/actions/rk/api-peripherie"; import { api_GroupAll, api_groupDelete } from "@/actions/rk/api-groups"; interface Props { group: Group } export default function GroupViewItem({ group }: Props) { const [showEA_Group, setShowEA_Group] = useState(false); const [showEA_Element, setShowEA_Element] = useState(false); const [showEA_Diff, setShowEA_Diff] = useState(false); const [peripheries, setPeripheries] = useState([]); useEffect(() => { setPeripheries([]); setShowEA_Group(false); setShowEA_Element(false); setShowEA_Diff(false); }, [group]) const handlerShow_Group = () => { const newMode = !showEA_Group; setShowEA_Group(newMode) if (newMode) { let filter: PeripherieFilterOptionen = { groupId: group.id } PeripherieFindApi(filter).then(setPeripheries); } else { setPeripheries([]) }; }; const handlerShow_Element = () => { setShowEA_Element((pre) => !pre) //if (filterElementId) filter['elementId'] = filterElementId; if (showEA_Group) { let filter: PeripherieFilterOptionen = { // elementId: group..id }; // PeripherieFindApi(filter).then(setPeripheries); } }; const handlerShow_Diff = () => { setShowEA_Diff((pre) => !pre) }; const handlerDelete = () => { if(group.id) api_groupDelete(group.id); }; return (
Gruppe :
{group.nr}
{group.name}
Anzeige Name :{group.displayName}
Info: {group.info}
Ort: {group.ort}
Type {group.type}
Eigenschaften
{group.options && Object.entries(group.options).map(([key, value]) => (
{key}
{typeof value === "boolean" ? (value ? "Ja" : "Nein") : value}
))}
Elemente
{group.elements &&
{group.elements.map((element) => (
{false && element.prefix &&
{element.prefix}
}
{element.name}
{element.excelNr}
))}
}
{showEA_Group &&
Ein-Ausgänge
} {showEA_Group &&
}
) }