When an output connects to multiple inputs, and you'd like to move all of those links to another node, you are currently required to drag each new link one by one.
This commit adds the ability to move everything at once, using Shift + Click (and drag).
It -does not- currently work with the drop to blank space + search for new node. It will j ust rewire the first. This can probably be fixed easily enough.
It -does- function with reroute nodes, however it requires that they are dropped onto the new output directly, not just anywhere on the node. This is expected, really.
* Fix loop break missing
* Fix logic - cannot reconnect AND disconnect
* Add ctrl + alt + click to disconnect nodes
Adds disconnect feature and very minor bug fixes (in separate commits):
- Ctrl + Alt + Click: Disconnect an input or output
- Ctrl + Alt + Click & Drag: Rewire any input/output to another node with a single click
- Added LiteGraph setting, on by default.
6036: skip_action = true
Not sure why skip_action was set to true, here. It prevents disconnect and drag to a new output on the same click, so I've included it in the main commit. Ideally, this should be controlled by a consumer hook, e.g. onDisconnectInput.
Fixes an issue where under certain conditions, the ComfyUI custom undo / redo functions would not run when intended to.
When trying to undo an action like deleting several nodes, instead the native browser undo runs - e.g. a textarea gets focus and the last typed text is undone. Clicking outside the textarea and hitting ctrl + z again just keeps doing the same thing.
* Basic tree
* Add node filter
* Fix key issue
* Add icons
* Node count
* nit
* Add node preview basics
* Node preview
* Make comfy node in node lib draggable
* Set drop target
* Add node on drop
* Drop on dynamic location
* nit
* nit
* Fix hover preview issue
* nit
* More visual diff between node and folder
* Add playwright test
* Add dep
* Get rid of screenshot test
* Fix default setting issue for first time install
* Update test expectations [skip ci]
---------
Co-authored-by: github-actions <github-actions@github.com>
* Basic side tool bar skeleton + Theme toggle (#164)
* Side bar skeleton
* Fix grid layout
* nit
* Add theme toggle logic
* Change primevue color theme to blue to match beta menu UI
* Add litegraph canvas splitter overlay (#177)
* Add vue wrapper
* Splitter overlay
* Move teleport to side bar comp
* Toolbar placeholder
* Move settings button from top menu to side bar (#178)
* Reverse relationship between splitter overlay and sidebar component (#180)
* Reverse relationship between splitter overlay and sidebar component
* nit
* Remove border on splitter
* Fix canvas shift (#186)
* Move queue/history display to side bar (#185)
* Side bar placeholder
* Pinia store for queue items
* Flatten task item
* Fix schema
* computed
* Switch running / pending order
* Use class-transformer
* nit
* Show display status
* Add tag severity style
* Add execution time
* nit
* Rename to execution success
* Add time display
* Sort queue desc order
* nit
* Add remove item feature
* Load workflow
* Add confirmation popup
* Add empty table placeholder
* Remove beta menu UI's queue button/list
* Add tests on litegraph widget text truncate (#191)
* Add tests on litegraph widget text truncate
* Updated screenshots
* Revert port change
* Remove screenshots
* Update test expectations [skip ci]
* Add back menu.settingsGroup for compatibility (#192)
* Close side bar on menu location set as disabled (#194)
* Remove placeholder side bar tabs (#196)
---------
Co-authored-by: bymyself <abolkonsky.rem@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
When dragging a link onto a node, it will always replace the first matching input type, unless you drop in the (respectively tiny) input hit box.
This commit fixes that, honouring the intended behaviour (preferFreeSlot is true in internal calls).