From 5d4b971252ed36329e23ce124a8c86134d168eaa Mon Sep 17 00:00:00 2001 From: anovazzi1 Date: Mon, 2 Oct 2023 19:30:28 -0300 Subject: [PATCH] refactor(sideBarDraggableComponent): improve code readability and add support for edit mode with select options feat(sideBarDraggableComponent): add functionality to edit the sidebar component with select options --- .../sideBarDraggableComponent/index.tsx | 82 ++++++++++++++++++- 1 file changed, 80 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/sideBarDraggableComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/sideBarDraggableComponent/index.tsx index 7d9351af4..e9d42132e 100644 --- a/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/sideBarDraggableComponent/index.tsx +++ b/src/frontend/src/pages/FlowPage/components/extraSidebarComponent/sideBarDraggableComponent/index.tsx @@ -1,5 +1,11 @@ -import { DragEventHandler } from "react"; +import { DragEventHandler, useRef, useState } from "react"; import IconComponent from "../../../../../components/genericIconComponent"; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, +} from "../../../../../components/ui/select-custom"; export default function SidebarDraggableComponent({ display_name, @@ -14,6 +20,10 @@ export default function SidebarDraggableComponent({ color: string; onDragStart: DragEventHandler; }) { + const isOpen = useRef(false); + const [editMode, setEditMode] = useState(false); + const inside = useRef(false); + return (
{display_name} - +
{ + if (!isOpen.current) { + inside.current = false; + setEditMode(false); + } + }} + onMouseOver={() => { + inside.current = true; + setTimeout(() => { + if (inside.current) setEditMode(true); + }, 800); + }} + > + {editMode ? ( + + ) : ( + + )} +