refactor candidatefromnodetarget

This commit is contained in:
Benjamin Lu
2025-09-25 21:09:00 -07:00
parent 9de27adfca
commit 18b4f56158

View File

@@ -142,27 +142,27 @@ export function useSlotLinkInteraction({
if (!firstLink) return null if (!firstLink) return null
const connectingTo = adapter.linkConnector.state.connectingTo const connectingTo = adapter.linkConnector.state.connectingTo
if (connectingTo === 'input') { if (connectingTo !== 'input' && connectingTo !== 'output') return null
const res = node.findInputByType(firstLink.fromSlot.type)
const index = res?.index const isInput = connectingTo === 'input'
if (index == null) return null const slotType = firstLink.fromSlot.type
const key = getSlotKey(String(nodeId), index, true)
const layout = layoutStore.getSlotLayout(key) const res = isInput
if (!layout) return null ? node.findInputByType(slotType)
const compatible = adapter.isInputValidDrop(nodeId, index) : node.findOutputByType(slotType)
if (!compatible) return null
return { layout, compatible: true } const index = res?.index
} else if (connectingTo === 'output') { if (index == null) return null
const res = node.findOutputByType(firstLink.fromSlot.type)
const index = res?.index const key = getSlotKey(String(nodeId), index, isInput)
if (index == null) return null const layout = layoutStore.getSlotLayout(key)
const key = getSlotKey(String(nodeId), index, false) if (!layout) return null
const layout = layoutStore.getSlotLayout(key)
if (!layout) return null const compatible = isInput
const compatible = adapter.isOutputValidDrop(nodeId, index) ? adapter.isInputValidDrop(nodeId, index)
if (!compatible) return null : adapter.isOutputValidDrop(nodeId, index)
return { layout, compatible: true }
} return compatible ? { layout, compatible: true } : null
return null return null
} }