UNPKG

vue3-dnd

Version:

Drag and Drop for Vue Composition API

25 lines (24 loc) 944 B
import { SourceConnector } from "../../internals"; import { useDragDropManager } from "../useDragDropManager"; import { computed, unref, watchEffect } from "vue-demi"; export function useDragSourceConnector(dragSourceOptions, dragPreviewOptions) { var manager = useDragDropManager(); var connector = computed(function() { return new SourceConnector(unref(manager).getBackend()); }); watchEffect(function(onCleanup) { connector.value.dragSourceOptions = unref(dragSourceOptions) || null; unref(connector).reconnect(); onCleanup(function() { connector.value.disconnectDragSource(); }); }); watchEffect(function(onCleanup) { connector.value.dragPreviewOptions = unref(dragPreviewOptions) || null; unref(connector).reconnect(); onCleanup(function() { connector.value.disconnectDragPreview(); }); }); return connector; }