@@ -40,7 +40,15 @@ const getOperationTypeFromData = (data: DropData): OperationType | null => {
4040 ) ;
4141} ;
4242
43- const useOperationDropTarget = ( { target, projectId } : { target : Operand ; projectId : string } ) => {
43+ const useOperationDropTarget = ( {
44+ enabled,
45+ target,
46+ projectId,
47+ } : {
48+ enabled : boolean ;
49+ target : Operand ;
50+ projectId : string ;
51+ } ) => {
4452 const dispatch = useAppDispatch ( ) ;
4553 const { mutate : runOperation } = useMutation ( useRunOperationMutationOptions ( ) ) ;
4654 const dropRef = useRef < HTMLElement > ( null ) ;
@@ -64,13 +72,16 @@ const useOperationDropTarget = ({ target, projectId }: { target: Operand; projec
6472 ) ;
6573 } ) ;
6674
75+ const canDrop = useEffectEvent ( ( ) => enabled ) ;
76+
6777 useEffect ( ( ) => {
6878 const element = dropRef . current ;
6979 if ( ! element ) return ;
7080
7181 return dropTargetForElements ( {
7282 element,
7383 getData,
84+ canDrop,
7485 onDrag : ( args ) => {
7586 const [ innerMost ] = args . location . current . dropTargets ;
7687 const isActiveDropTarget = innerMost ?. element === args . self . element ;
@@ -129,13 +140,14 @@ const useOperationDropTarget = ({ target, projectId }: { target: Operand; projec
129140
130141export const OperationTarget : FC <
131142 {
143+ enabled : boolean ;
132144 target : Operand ;
133145 projectId : string ;
134146 isSelected : boolean ;
135147 isAbsorptionTarget : boolean ;
136148 } & useRender . ComponentProps < "div" >
137- > = ( { target, projectId, isSelected, isAbsorptionTarget, render, ...props } ) => {
138- const { dropRef } = useOperationDropTarget ( { target, projectId } ) ;
149+ > = ( { enabled , target, projectId, isSelected, isAbsorptionTarget, render, ...props } ) => {
150+ const { dropRef } = useOperationDropTarget ( { enabled , target, projectId } ) ;
139151 const outlineMode = useAppSelector ( ( state ) => selectProjectOutlineModeState ( state , projectId ) ) ;
140152
141153 const insertTargetOperationType = Match . value ( outlineMode ) . pipe (
0 commit comments