frontend/src/bin/3dView/Systems/Cables/BinCables.tsx

44 lines
No EOL
1.4 KiB
TypeScript

import GrainCable from "./GrainCable";
import { Bin } from "models";
import React from "react";
import { CableData } from "../../Data/BuildCableData";
import { NodeData } from "../../Data/BuildNodeData";
interface Props {
cableData: CableData[],
nodeData: NodeData[],
bin: Bin,
renderOrder?: number,
displayTemp?: boolean,
displayMoisture?: boolean,
onNodeClick?: (node: NodeData, cable: CableData) => void
}
export default function BinCables(props: Props){
const {bin, cableData, nodeData, onNodeClick, renderOrder, displayTemp, displayMoisture} = props
return (
<React.Fragment>
{cableData.map((cable, i) => {
const cableNodes = nodeData.filter(n => n.cableIndex === cable.cableIndex);
return (
<GrainCable
key={"cable " + i}
cable={cable}
nodes={cableNodes}
bin={bin}
displayTemp={displayTemp}
displayMoisture={displayMoisture}
onNodeClick={(node) => {
if(onNodeClick){
onNodeClick(node, cable)
}
}}
renderOrder={renderOrder}
/>
)}
)}
</React.Fragment>
)
}