All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s
15 lines
623 B
JavaScript
15 lines
623 B
JavaScript
import { useMemo } from 'react';
|
|
import { TargetConnector } from '../../internals';
|
|
import { useDragDropManager } from '../useDragDropManager';
|
|
import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';
|
|
export function useDropTargetConnector(options) {
|
|
const manager = useDragDropManager();
|
|
const connector = useMemo(() => new TargetConnector(manager.getBackend()), [manager]);
|
|
useIsomorphicLayoutEffect(() => {
|
|
connector.dropTargetOptions = options || null;
|
|
connector.reconnect();
|
|
return () => connector.disconnectDropTarget();
|
|
}, [options]);
|
|
return connector;
|
|
}
|