feat(nodes): implement useDrag in NodesSelection.vue

This commit is contained in:
bcakmakoglu
2022-05-27 23:36:01 +02:00
committed by Braks
parent 7479534647
commit 674a65788e
2 changed files with 9 additions and 10 deletions
@@ -1,22 +1,21 @@
<script lang="ts" setup>
import { useVueFlow, useDrag } from '../../composables'
import { useDrag, useVueFlow } from '../../composables'
import { getRectOfNodes } from '../../utils'
const { emits, setState, viewport, getSelectedNodes, snapToGrid, snapGrid, updateNodePosition, noPanClassName } = $(useVueFlow())
const { emits, setState, viewport, getSelectedNodes, snapToGrid, snapGrid, noPanClassName } = $(useVueFlow())
const el = ref()
useDrag({
el,
onStart(event) {
emits.selectionDragStart({ event: event.sourceEvent, nodes: getSelectedNodes })
onStart(event, node, nodes) {
emits.selectionDragStart({ event, node, nodes })
},
onDrag(event, { dx, dy }) {
updateNodePosition({ diff: { x: dx, y: dy } })
emits.selectionDrag({ event: event.sourceEvent, nodes: getSelectedNodes })
onDrag(event, node, nodes) {
emits.selectionDrag({ event, node, nodes })
},
onStop(event) {
emits.selectionDragStop({ event: event.sourceEvent, nodes: getSelectedNodes })
onStop(event, node, nodes) {
emits.selectionDragStop({ event, node, nodes })
},
})
+1 -1
View File
@@ -6,7 +6,7 @@ import type { DefaultEdgeOptions, Edge, GraphEdge } from './edge'
import type { CoordinateExtent, GraphNode, Node } from './node'
import type { D3Selection, D3Zoom, D3ZoomHandler, KeyCode, PanOnScrollMode, Viewport } from './zoom'
import type { FlowHooks, FlowHooksEmit, FlowHooksOn } from './hooks'
import type { EdgeChange, NodeChange, NodeDragItem } from "./changes";
import type { EdgeChange, NodeChange, NodeDragItem } from './changes'
import type { HandleType, StartHandle } from './handle'
export interface UpdateNodeDimensionsParams {