refactor(core): cleanup edge and node renderer
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
@@ -1,14 +1,10 @@
|
||||
<script lang="ts" setup>
|
||||
import { isNumber } from '@vueuse/core'
|
||||
import type { GraphNode, HandleConnectable, NodeComponent } from '../../types'
|
||||
import type { GraphNode, NodeComponent } from '../../types'
|
||||
import { ARIA_NODE_DESC_KEY } from '../../utils/a11y'
|
||||
|
||||
const { id, type, name, draggable, selectable, connectable, ...props } = defineProps<{
|
||||
const { id, type, name, ...props } = defineProps<{
|
||||
id: string
|
||||
draggable: boolean
|
||||
selectable: boolean
|
||||
connectable: HandleConnectable
|
||||
focusable: boolean
|
||||
type: NodeComponent | Function | Object | false
|
||||
name: string
|
||||
node: GraphNode
|
||||
@@ -38,6 +34,10 @@ const {
|
||||
ariaLiveMessage,
|
||||
snapToGrid,
|
||||
snapGrid,
|
||||
nodesDraggable,
|
||||
elementsSelectable,
|
||||
nodesConnectable,
|
||||
nodesFocusable,
|
||||
} = $(useVueFlow())
|
||||
|
||||
const updateNodePositions = useUpdateNodePositions()
|
||||
@@ -48,6 +48,16 @@ const parentNode = $computed(() => (node.parentNode ? findNode(node.parentNode)
|
||||
|
||||
const connectedEdges = $computed(() => getConnectedEdges([node], edges))
|
||||
|
||||
const intersections = $computed(() => getIntersectingNodes(node))
|
||||
|
||||
const draggable = $computed(() => (typeof node.draggable === 'undefined' ? nodesDraggable : node.draggable))
|
||||
|
||||
const selectable = $computed(() => (typeof node.selectable === 'undefined' ? elementsSelectable : node.selectable))
|
||||
|
||||
const connectable = $computed(() => (typeof node.connectable === 'undefined' ? nodesConnectable : node.connectable))
|
||||
|
||||
const focusable = $computed(() => (typeof node.focusable === 'undefined' ? nodesFocusable : node.focusable))
|
||||
|
||||
const nodeElement = ref<HTMLDivElement>()
|
||||
|
||||
provide(NodeRef, nodeElement)
|
||||
@@ -59,13 +69,13 @@ const dragging = useDrag({
|
||||
el: nodeElement,
|
||||
disabled: computed(() => !draggable),
|
||||
onStart(event, node, nodes) {
|
||||
emit.dragStart({ event, node, nodes, intersections: getIntersectingNodes(node) })
|
||||
emit.dragStart({ event, node, nodes, intersections })
|
||||
},
|
||||
onDrag(event, node, nodes) {
|
||||
emit.drag({ event, node, nodes, intersections: getIntersectingNodes(node) })
|
||||
emit.drag({ event, node, nodes, intersections })
|
||||
},
|
||||
onStop(event, node, nodes) {
|
||||
emit.dragStop({ event, node, nodes, intersections: getIntersectingNodes(node) })
|
||||
emit.dragStop({ event, node, nodes, intersections })
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user