update: remove nodes selection props
This commit is contained in:
@@ -4,15 +4,6 @@ import { Node } from '~/types'
|
|||||||
import { isNode } from '~/utils/graph'
|
import { isNode } from '~/utils/graph'
|
||||||
import { useHooks, useStore } from '~/composables'
|
import { useHooks, useStore } from '~/composables'
|
||||||
|
|
||||||
interface NodesSelectionProps {
|
|
||||||
onSelectionDragStart?: (event: MouseEvent, nodes: Node[]) => void
|
|
||||||
onSelectionDrag?: (event: MouseEvent, nodes: Node[]) => void
|
|
||||||
onSelectionDragStop?: (event: MouseEvent, nodes: Node[]) => void
|
|
||||||
onSelectionContextMenu?: (event: MouseEvent, nodes: Node[]) => void
|
|
||||||
}
|
|
||||||
|
|
||||||
const props = defineProps<NodesSelectionProps>()
|
|
||||||
|
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
const hooks = useHooks()
|
const hooks = useHooks()
|
||||||
|
|
||||||
@@ -37,12 +28,13 @@ const innerStyle = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const onStart: DraggableEventListener = ({ event }) => {
|
const onStart: DraggableEventListener = ({ event }) => {
|
||||||
hooks.selectionDragStart.trigger({ event, nodes: selectedNodes.value })
|
const nodes = selectedNodes.value
|
||||||
|
hooks.selectionDragStart.trigger({ event, nodes })
|
||||||
}
|
}
|
||||||
|
|
||||||
const onDrag: DraggableEventListener = ({ event, data }) => {
|
const onDrag: DraggableEventListener = ({ event, data }) => {
|
||||||
hooks.selectionDrag.trigger({ event, nodes: selectedNodes.value })
|
const nodes = selectedNodes.value
|
||||||
|
hooks.selectionDrag.trigger({ event, nodes })
|
||||||
store.updateNodePosDiff({
|
store.updateNodePosDiff({
|
||||||
diff: {
|
diff: {
|
||||||
x: data.deltaX,
|
x: data.deltaX,
|
||||||
@@ -53,19 +45,16 @@ const onDrag: DraggableEventListener = ({ event, data }) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const onStop: DraggableEventListener = ({ event }) => {
|
const onStop: DraggableEventListener = ({ event }) => {
|
||||||
|
const nodes = selectedNodes.value
|
||||||
|
hooks.selectionDragStop.trigger({ event, nodes })
|
||||||
store.updateNodePosDiff({
|
store.updateNodePosDiff({
|
||||||
isDragging: false,
|
isDragging: false,
|
||||||
})
|
})
|
||||||
|
|
||||||
hooks.selectionDragStop.trigger({ event, nodes: selectedNodes.value })
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const onContextMenu = (event: MouseEvent) => {
|
const onContextMenu = (event: MouseEvent) => {
|
||||||
const selectedNodes = store.selectedElements
|
const nodes = selectedNodes.value
|
||||||
? store.selectedElements.filter(isNode).map((selectedNode) => store.nodes.find((node) => node.id === selectedNode.id))
|
hooks.selectionContextMenu.trigger({ event, nodes })
|
||||||
: []
|
|
||||||
|
|
||||||
if (selectedNodes) hooks.selectionContextMenu.trigger({ event, nodes: selectedNodes as Node[] })
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ const props = withDefaults(defineProps<SelectionPaneProps>(), {
|
|||||||
deleteKeyCode: 'Backspace',
|
deleteKeyCode: 'Backspace',
|
||||||
multiSelectionKeyCode: 'Meta',
|
multiSelectionKeyCode: 'Meta',
|
||||||
})
|
})
|
||||||
|
|
||||||
const store = useStore()
|
const store = useStore()
|
||||||
const hooks = useHooks()
|
const hooks = useHooks()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user