Files
igny8/frontend/node_modules/react-dnd/src/internals/registration.ts
2025-11-09 10:27:02 +00:00

32 lines
695 B
TypeScript

import type {
DragDropManager,
DragSource,
DropTarget,
Identifier,
SourceType,
TargetType,
Unsubscribe,
} from 'dnd-core'
export function registerTarget(
type: TargetType,
target: DropTarget,
manager: DragDropManager,
): [Identifier, Unsubscribe] {
const registry = manager.getRegistry()
const targetId = registry.addTarget(type, target)
return [targetId, () => registry.removeTarget(targetId)]
}
export function registerSource(
type: SourceType,
source: DragSource,
manager: DragDropManager,
): [Identifier, Unsubscribe] {
const registry = manager.getRegistry()
const sourceId = registry.addSource(type, source)
return [sourceId, () => registry.removeSource(sourceId)]
}