From 88c085d72d41a57429051d492eef8bb2e4748d2b Mon Sep 17 00:00:00 2001 From: filip mertens Date: Thu, 30 Dec 2021 20:11:43 +0100 Subject: [PATCH] add dragbar --- .../panel/src/lib/dragbar/dragbar.tsx | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 libs/remix-ui/panel/src/lib/dragbar/dragbar.tsx diff --git a/libs/remix-ui/panel/src/lib/dragbar/dragbar.tsx b/libs/remix-ui/panel/src/lib/dragbar/dragbar.tsx new file mode 100644 index 0000000000..1b67b888c1 --- /dev/null +++ b/libs/remix-ui/panel/src/lib/dragbar/dragbar.tsx @@ -0,0 +1,47 @@ +import React, { useEffect, useLayoutEffect, useState } from 'react' +import Draggable from 'react-draggable' +import './dragbar.css' + +interface IRemixDragBarUi { + refObject: React.MutableRefObject; + setHideStatus: (hide: boolean) => void; + hidden: boolean + minHeight: number +} + +const DragBar = (props: IRemixDragBarUi) => { + const [dragState, setDragState] = useState(false) + const [dragBarPosY, setDragBarPosY] = useState(0) + const [offset, setOffSet] = useState(0) + const nodeRef = React.useRef(null) // fix for strictmode + + useEffect(() => { + // arbitrary time out to wait the the UI to be completely done + setTimeout(() => { + console.log(window.innerHeight) + console.log(props.refObject.current.offsetTop) + setOffSet(props.refObject.current.offsetTop) + setDragBarPosY(props.refObject.current.offsetTop) + }, 1000) + }, []) + + useEffect(() => { + // setDragBarPosX(offset + (props.hidden ? 0 : props.refObject.current.offsetHeight)) + }, [props.hidden, offset]) + + function stopDrag (e: MouseEvent, data: any) { + setDragState(false) + } + + function startDrag () { + setDragState(true) + } + return <> +
+ +
+
+ +} + +export default DragBar