From 8aa2d2e4c9c275cb95a50acfbc2825323c431e8e Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Tue, 30 May 2023 19:37:36 -0300 Subject: [PATCH] Adding Node Toolbar ReactFlow --- .../src/CustomNodes/GenericNode/index.tsx | 349 ++++++++---------- .../components/nodeToolbarComponent/index.tsx | 137 +++++++ 2 files changed, 300 insertions(+), 186 deletions(-) create mode 100644 src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 1a7f93ae5..e8f049f4a 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -30,6 +30,9 @@ import { TabsContext } from "../../contexts/tabsContext"; import { debounce } from "../../utils"; import TooltipReact from "../../components/ReactTooltipComponent"; import Tooltip from "../../components/TooltipComponent"; +import { NodeToolbar } from "reactflow"; +import NodeToolbarComponent from "../../pages/FlowPage/components/nodeToolbarComponent"; + export default function GenericNode({ data, selected, @@ -97,199 +100,173 @@ export default function GenericNode({ deleteNode(data.id); return; } - console.log(data); return ( -
-
-
- -
- -
{data.type}
-
-
-
-
- - - - -
- - {validationStatus.params.split("\n").map((line, index) => ( -
{line}
- ))} -
- ) - } > -
- - - -
- -
+ {" "} +
+ {/*
+ Output +
*/} + +
- -
-
- {data.node.description} -
- - <> - {Object.keys(data.node.template) - .filter((t) => t.charAt(0) !== "_") - .map((t: string, idx) => ( -
- {/* {idx === 0 ? ( -
- !key.startsWith("_") && - data.node.template[key].show && - !data.node.template[key].advanced - ).length === 0 - ? "hidden" - : "" - )} - > - Inputs -
- ) : ( - <> - )} */} - {data.node.template[t].show && - !data.node.template[t].advanced ? ( - - ) : ( - <> - )} -
- ))} -
- {" "} -
- {/*
- Output -
*/} - - -
- + ); } diff --git a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx new file mode 100644 index 000000000..4720f85ef --- /dev/null +++ b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx @@ -0,0 +1,137 @@ +import React from "react"; +import { Menu, Transition } from "@headlessui/react"; +import { EllipsisVerticalIcon } from "@heroicons/react/20/solid"; +import { + Cog6ToothIcon, + TrashIcon, + PencilSquareIcon, + DocumentDuplicateIcon, +} from "@heroicons/react/24/outline"; +import { classNames } from "../../../../utils"; +import { Fragment } from "react"; +import NodeModal from "../../../../modals/NodeModal"; + +const NodeToolbarComponent = (props) => { + return ( + <> +
+ + + + + + + + + +
+ + ); +}; + +export default NodeToolbarComponent;