import { PlusOutlined as PlusOutlinedIcon } from "@ant-design/icons"; import { Dropdown } from "antd"; import { newWorkflowNode, workflowNodeDropdownList, type WorkflowNodeType } from "@/domain/workflow"; import { useZustandShallowSelector } from "@/hooks"; import { useWorkflowStore } from "@/stores/workflow"; import DropdownMenuItemIcon from "./DropdownMenuItemIcon"; import { type BrandNodeProps, type NodeProps } from "./types"; const AddNode = ({ data }: NodeProps | BrandNodeProps) => { const { addNode } = useWorkflowStore(useZustandShallowSelector(["addNode"])); const handleTypeSelected = (type: WorkflowNodeType, provider?: string) => { const node = newWorkflowNode(type, { providerType: provider, }); addNode(node, data.id); }; return (
{ if (item.leaf) { return { key: item.type, label:
{item.name}
, icon: , onClick: () => { handleTypeSelected(item.type); }, }; } return { key: item.type, label:
{item.name}
, icon: , children: item.children?.map((subItem) => { return { key: subItem.providerType, label:
{subItem.name}
, icon: , onClick: () => { handleTypeSelected(item.type, subItem.providerType); }, }; }), }; }), }} trigger={["click"]} >
); }; export default AddNode;