Farmbot-Web-App/frontend/farm_designer/map/layers/tool_slots/tool_slot_layer.tsx

35 lines
1015 B
TypeScript

import * as React from "react";
import { SlotWithTool, UUID } from "../../../../resources/interfaces";
import { ToolSlotPoint } from "./tool_slot_point";
import { MapTransformProps } from "../../interfaces";
export interface ToolSlotLayerProps {
visible: boolean;
slots: SlotWithTool[];
botPositionX: number | undefined;
mapTransformProps: MapTransformProps;
dispatch: Function;
hoveredToolSlot: UUID | undefined;
interactions: boolean;
}
export function ToolSlotLayer(props: ToolSlotLayerProps) {
const { slots, visible, mapTransformProps } = props;
return <g
id="toolslot-layer"
style={props.interactions
? { cursor: "pointer" }
: { pointerEvents: "none" }}>
{visible &&
slots.map(slot =>
<ToolSlotPoint
key={slot.toolSlot.uuid}
slot={slot}
hoveredToolSlot={props.hoveredToolSlot}
dispatch={props.dispatch}
botPositionX={props.botPositionX}
mapTransformProps={mapTransformProps} />)}
</g>;
}