diff options
author | George Rusu <george@tagg.id> | 2021-05-25 13:22:52 -0700 |
---|---|---|
committer | George Rusu <george@tagg.id> | 2021-05-25 13:22:52 -0700 |
commit | a5ef509d2a1f79d85c76ee766dabe96acac2a989 (patch) | |
tree | 82a602675546719e214db6af10f930af56730657 /src/components/common/Draggable.tsx | |
parent | 5afdf9208fd3d7498a2595797e6c9fb5f567fc61 (diff) |
Add layering functionality when editing tags
Diffstat (limited to 'src/components/common/Draggable.tsx')
-rw-r--r-- | src/components/common/Draggable.tsx | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/src/components/common/Draggable.tsx b/src/components/common/Draggable.tsx index edd29b78..1253fed4 100644 --- a/src/components/common/Draggable.tsx +++ b/src/components/common/Draggable.tsx @@ -59,7 +59,7 @@ interface IProps { minY?: number; maxX?: number; maxY?: number; - onDragStart?: () => void; + onDragStart?: () => number; } export default function Draggable(props: IProps) { @@ -103,8 +103,8 @@ export default function Draggable(props: IProps) { // Whether we're currently dragging or not const isDragging = React.useRef(false); - // const [zIndex, setZIndex] = React.useState(z); - const zIndex = z; + const [zIndex, setZIndex] = React.useState(z); + // const zIndex = z; const getBounds = React.useCallback(() => { const left = x + offsetFromStart.current.x; @@ -147,18 +147,17 @@ export default function Draggable(props: IProps) { [onDragRelease, shouldReverse, onRelease, reversePosition], ); - const onPanResponderGrant = React.useCallback( - (_: GestureResponderEvent) => { - startBounds.current = getBounds(); - isDragging.current = true; - if (!shouldReverse) { - pan.current.setOffset(offsetFromStart.current); - pan.current.setValue({x: 0, y: 0}); - } - onDragStart(); - }, - [getBounds, shouldReverse], - ); + const onPanResponderGrant = (_: GestureResponderEvent) => { + startBounds.current = getBounds(); + isDragging.current = true; + if (!shouldReverse) { + pan.current.setOffset(offsetFromStart.current); + pan.current.setValue({x: 0, y: 0}); + } + if (onDragStart) { + setZIndex(onDragStart()); + } + }; const handleOnDrag = React.useCallback( (e: GestureResponderEvent, gestureState: PanResponderGestureState) => { |