Support associated socket for widgets (#891)

This PR is the litegraph side change necessary for widget sockets
feature in ComfyUI_frontend. Changes include

- Add readonly `Widget.computedDisabled` property for getting the
computed disabled state. When the associated socket is connected, the
widget is disabled
- Dynamically show the associated socket when
      - the mouse is over the widget
      - the slot is valid during link drop
      - the slot is connected
- Removes the legacy widget drop behavior

Ref: https://github.com/Comfy-Org/rfcs/pull/9
This commit is contained in:
Chenlei Hu
2025-04-05 16:29:37 -04:00
committed by GitHub
parent c07176eb08
commit 1ef4921c0a
12 changed files with 77 additions and 53 deletions

View File

@@ -214,7 +214,8 @@ export abstract class NodeSlot implements INodeSlot {
if (!lowQuality && doStroke) ctx.stroke()
// render slot label
if (!lowQuality) {
const hideLabel = lowQuality || isWidgetInputSlot(this)
if (!hideLabel) {
const text = this.renderingLabel
if (text) {
// TODO: Finish impl. Highlight text on mouseover unless we're connecting links.