feat(nodes): implement useDrag in NodesSelection.vue
This commit is contained in:
@@ -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 })
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user