From f53c04834f314e000055464e2a850377b224a5e9 Mon Sep 17 00:00:00 2001 From: filtered <176114999+webfiltered@users.noreply.github.com> Date: Sun, 9 Mar 2025 09:37:47 +1100 Subject: [PATCH] Add support for Litegraph LinkConnector (#2925) --- src/extensions/core/widgetInputs.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/extensions/core/widgetInputs.ts b/src/extensions/core/widgetInputs.ts index ab1f24db92..ed8e094098 100644 --- a/src/extensions/core/widgetInputs.ts +++ b/src/extensions/core/widgetInputs.ts @@ -653,6 +653,31 @@ app.registerExtension({ } } ) + + // @ts-ignore Required until Litegraph is merged. + app.canvas.linkConnector?.events?.addEventListener?.( + 'dropped-on-widget', + (e) => { + const { node, link, widget } = e.detail + if (!node || !link || !widget) return + + const nodeData = node.constructor.nodeData + if (!nodeData) return + const all = { + ...nodeData?.input?.required, + ...nodeData?.input?.optional + } + const inputSpec = all[widget.name] + if (!inputSpec) return + + const input = convertToInput(node, widget, inputSpec) + if (!input) return + + const originNode = link.node + + originNode.connectSlots(link.fromSlot, node, input, undefined) + } + ) }, async beforeRegisterNodeDef(nodeType, nodeData, app) { // Add menu options to convert to/from widgets