Commit Graph

3858 Commits

Author SHA1 Message Date
Chenlei Hu
6e27b884fc Fix node preview widget overflow (#254)
* Fix node preview widget overflow

* nit
2024-07-28 21:51:14 -04:00
filtered
3175828350 Add output multi-link move using shift-click (#32)
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.
2024-07-28 21:15:13 -04:00
filtered
053caa4ccb Add node disconnect shortcuts (#31)
* 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.
2024-07-28 21:14:46 -04:00
bymyself
299b9fbe95 Add ARIA attributes to contextmenu (#30) 2024-07-28 13:51:05 -04:00
bymyself
7504f3e017 Make node pin option text reactive (#29) 2024-07-28 13:50:27 -04:00
Chenlei Hu
ea8a9effe5 Fix undefined var 'cloned' (#33) 2024-07-28 13:19:03 -04:00
Chenlei Hu
fc5bdf80b3 Fix no task message display (#251) 2024-07-28 09:39:17 -04:00
Chenlei Hu
033f242e43 Float workflow selection on top of sidebar (#250) 2024-07-28 09:37:00 -04:00
Chenlei Hu
6dbdb9baa6 Fix clientX/Y offset calculation (#248) 2024-07-28 07:50:00 -04:00
filtered
3e3e909e36 Fix "undo" incorrectly undoing text input (#247)
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.
2024-07-28 06:57:05 -04:00
Chenlei Hu
74fd1c9abe Reduce history queue max length (#243) 2024-07-27 22:23:46 -04:00
Chenlei Hu
f4f0c960a3 Fix combo input default value (#242)
* Fix combo input default value

* Supress logs and fix failure
2024-07-27 22:17:42 -04:00
Chenlei Hu
c0875d066a Node library side bar tab (#237)
* 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
2024-07-27 21:28:48 -04:00
Chenlei Hu
980ed0083d Fix settings getter (#240) 2024-07-27 18:22:22 -04:00
Chenlei Hu
76be537351 Add pp.addNodeOnGraph to simplify adding node on canvas (#239) 2024-07-27 17:44:17 -04:00
Alexander Brown
424a5f7a86 Expose Queue Button on the menu. (#238) 2024-07-27 17:44:06 -04:00
Chenlei Hu
542e1c1f59 Move sidebar y-axis overflow style to container (#236) 2024-07-26 16:25:12 -04:00
Chenlei Hu
972ffe73e3 Use ComfyNodeDefImpl on nodeDefStore (#235) 2024-07-26 15:53:22 -04:00
Chenlei Hu
b4d7735855 Use ComfyNodeDefImpl on nodeSearchService (#233)
* Make nodeSearchService use ComfyNodeDefImpl

* Fix test
2024-07-26 13:41:24 -04:00
Chenlei Hu
9bcc08d7ab Allow duplicated output names (#232) 2024-07-26 11:57:55 -04:00
Chenlei Hu
a1750212e5 Make node def output class (#231)
* Refactor node def output

* Adjust test
2024-07-26 11:09:43 -04:00
Chenlei Hu
4dba1d3ab0 Fix splitter overlay z-index (#230) 2024-07-26 10:47:04 -04:00
Chenlei Hu
ee6eed1c1c Fix extension register tab with API (#229)
* Get rid of extension manager impl

* nit

* Test register tab
2024-07-26 10:29:20 -04:00
Chenlei Hu
8e1d3f3baa Use ComfyNodeDefImpl on NodePreview component (#228)
* store widgets

* Use node def impl
2024-07-25 23:15:03 -04:00
Chenlei Hu
dc13ed102b Reverse init order (#227) 2024-07-25 22:20:38 -04:00
Chenlei Hu
9d56bb4e0e Set default empty record for InputSpec (#225) 2024-07-25 21:29:22 -04:00
Chenlei Hu
c97ff6fd85 Add name field to BaseInputSpec (#226) 2024-07-25 21:07:16 -04:00
Chenlei Hu
0ec15ba101 Transform ComfyNodeDef to ComfyNodeDefImpl (#224) 2024-07-25 20:27:16 -04:00
Chenlei Hu
55d5ec8c25 (update) CSS formatting (#221)
Co-authored-by: dmx <vincent.f@intp.com>
2024-07-25 16:32:57 -04:00
Chenlei Hu
c6d2767af1 Transforms ComfyInputsSpec on nodes (#220)
* Convert input spec defs

* Fix test

* Add combo test

* import metadata
2024-07-25 13:50:55 -04:00
Chenlei Hu
e179f75387 Apply new code format standard (#217) 2024-07-25 10:10:18 -04:00
Chenlei Hu
19c70d95d3 Sidebar tab API for extensions (#215)
* Add extensionManager to manage tabs

* Fix null bug

* nit
2024-07-24 21:31:59 -04:00
Chenlei Hu
ebdd7b8e40 Use store to manage nodeSearchService (#214) 2024-07-24 12:00:23 -04:00
Chenlei Hu
b73fe80761 [Major Refactor] Use pinia store to manage setting & nodeDef (#202)
* Node def store and settings tore

* Fix initial values

* Remove legacy setting listen

* Fix searchbox test
2024-07-24 11:49:09 -04:00
Chenlei Hu
5b4e96f6c5 Test theme toggle feature (#212)
* WIP

* Add test on theme toggle

* Add teardown logic

* Cleanup menu setting
2024-07-23 17:56:35 -04:00
Chenlei Hu
1b7db43f8a Format everything (#211) 2024-07-23 15:40:54 -04:00
Chenlei Hu
d746f04431 Fix var declaration (#26) 2024-07-23 11:06:36 -04:00
Chenlei Hu
609d3fe279 Add i18n for side tool bar tooltips (#207)
* Add npm dep

* Add i18n for side bar tooltips
2024-07-23 10:43:10 -04:00
Chenlei Hu
9b36c6b254 Add side bar icon tooltip (#206) 2024-07-23 09:45:47 -04:00
Chenlei Hu
a71f7671ae Fix default setting issue for first time install (#203)
* Fix default setting issue for first time install

* Update test expectations [skip ci]

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-22 22:54:59 -04:00
Chenlei Hu
bd68617c82 Fix theme toggle (#200)
* Use builtin event on color change

* Fix theme toggle

* Update test expectations [skip ci]

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-22 16:46:02 -04:00
Chenlei Hu
65740a30c5 v1.2.0 Side Bar & Menu rework (#189)
* 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>
2024-07-22 10:15:41 -04:00
filtered
ee0b8a07b6 Fix empty input not used when connecting links (#24)
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).
2024-07-21 11:09:17 -04:00
Chenlei Hu
1521cd47c8 Move searchbox position up to 25% to top of screen (#187) 2024-07-21 10:35:04 -04:00
pythongosssss
f18740d5e4 Sync PR (#182)
#133
2024-07-21 10:52:58 +01:00
Chenlei Hu
cb9042f9f9 Sync #4061 (#172) 2024-07-19 19:08:42 -04:00
Chenlei Hu
a99a833c38 Fix searchbox immediate dismiss issue (#171) 2024-07-19 19:00:52 -04:00
Chenlei Hu
a2afdd74b2 Mount vue app after comfy app init (#167)
* Mount vue app after comfy app

* Emit event when vue app loaded

* Dispatch event to window

* Fix test timeout

* Try observe variable

* Revert

* Update test expectations [skip ci]

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-19 18:47:53 -04:00
Chenlei Hu
396e0c9525 Sync #4044 (#168) 2024-07-19 15:47:53 -04:00
Chenlei Hu
050fd4eb32 Sync #4043 (#169) 2024-07-19 15:47:43 -04:00