Commit Graph

458 Commits

Author SHA1 Message Date
Chenlei Hu
5338a147ee Refactor LGraphGroup.draw (#113) 2024-09-03 14:11:56 -04:00
Chenlei Hu
85076881c8 showConnectionMenu with searchbox options (#111)
* showConnectionMenu with searchbox options

* nit
2024-09-03 13:07:38 -04:00
Chenlei Hu
48c669626b Add litegraph:group-double-click event (#109) 2024-09-02 17:44:19 -04:00
Chenlei Hu
e25c21026c Fix LGraphNode.pos serialization (#107) 2024-09-02 14:31:05 -04:00
Chenlei Hu
626095b6e9 Fix prompt dialog dismiss (#105) 2024-08-29 11:46:07 -04:00
Chenlei Hu
e0bd271897 LGraphCanvas ES6 class conversion (#103)
* LGraphCanvas ES6 class conversion

* nit

---------

Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2024-08-29 11:36:46 -04:00
Chenlei Hu
6f71d9a441 Convert static canvas vars to private static fields (#102)
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2024-08-29 10:43:09 -04:00
Chenlei Hu
af99640aa9 DragAndScale ES6 class conversion (#101)
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2024-08-29 10:40:28 -04:00
Chenlei Hu
26cccd656d LGraphGroup ES6 class conversion (#100)
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2024-08-29 10:35:02 -04:00
Chenlei Hu
4f51edefef Revert "Revert "LGraphNode ES6 class conversion (#68)" (#72)" (#98)
This reverts commit e327b5fe62.
2024-08-28 15:41:25 -04:00
Chenlei Hu
0b19a039eb Fix group ref (#96) 2024-08-28 11:01:03 -04:00
Chenlei Hu
b419b53bd5 Add LGraphGroup.addNodes (#94) 2024-08-28 10:57:42 -04:00
Chenlei Hu
48613a3539 Fix not title click cond (#92) 2024-08-27 11:08:08 -04:00
Chenlei Hu
9fe28f4826 Fix hook on undefined (#90) 2024-08-27 10:42:31 -04:00
Chenlei Hu
fecb7d6707 Add onNodeTitleDblClick hook (#88)
* Add onNodeTitleDblClick hook

* nit
2024-08-26 22:30:46 -04:00
bymyself
227541c265 Increase timeout on prompt dialog dismiss (#86)
* Increase timeout on prompt dialog dismiss

* Add devtools node to test wf
2024-08-25 15:01:23 -04:00
bymyself
f351b1d87a Clock prompt dialog input on canvas click (#80) 2024-08-21 11:47:00 -04:00
bymyself
86d9391807 Expose zoom speed option (#19)
* Expose zoom speed option

* Avoid unnecessary operations
2024-08-21 11:44:55 -04:00
Chenlei Hu
1cbb74b1b6 Make node id serialization optional (#76) 2024-08-17 23:03:11 -04:00
bymyself
effa21653a Fix truncating non-strings (#74) 2024-08-17 23:01:25 -04:00
Chenlei Hu
e327b5fe62 Revert "LGraphNode ES6 class conversion (#68)" (#72)
This reverts commit fcca975cbd.
2024-08-16 11:06:54 -04:00
Chenlei Hu
5e0517f390 Avoid sort nodes in place (#70) 2024-08-16 10:53:29 -04:00
Chenlei Hu
fcca975cbd LGraphNode ES6 class conversion (#68)
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2024-08-11 10:06:46 -04:00
Chenlei Hu
f00b6b1b59 LLink ES6 class conversion (#67)
Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2024-08-09 13:25:46 -04:00
Chenlei Hu
b0bcb0e062 Remove unnecessary compatibility layer (#66) 2024-08-09 13:18:51 -04:00
Chenlei Hu
16a3d384b6 ES6 class convertion of LGraph (#63)
* LGraph ES6 class conversion

* Add compatibility to prototype extension

* Add jest test action

---------

Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2024-08-09 11:20:05 -04:00
bymyself
9b229220a3 centerOnNode use DPI (#49) 2024-08-06 13:36:08 -04:00
filtered
f937ff5ec5 Fix deselect delete (#51)
* Fix deselect per-node always fails silently

* Fix shift + drag node relying on broken deselect
2024-08-06 11:32:04 -04:00
Chenlei Hu
d2ef32fcb5 Fix Vite build (#55)
* Fix build output

* 0.7.37

* Fix type export

* 0.7.38

* Adjust build

* 0.7.39

* Add css to package declaration

* 0.7.40

* ESM style named export

* 0.7.41

* Fix style export for unit test

* 0.7.42
2024-08-06 10:56:57 -04:00
filtered
ddd1ac4f99 Add vite build (#53)
* Add vite build - baseline

* Fix build output folder structure

Matches pre-vite output

* Fix litegraph errors introduced by vite process

- Remove pre-written encapsulating iife (one is injected by vite)
- Replace all references to the global "this" with globalThis
2024-08-06 09:14:17 -04:00
filtered
d2c72243f8 Increase node input & output slot hitboxes (#45)
* Fix render bug - invalid slot shown as valid

* Increase hitbox of input/output slots

Improves UX by making wiring nodes easier.

* Add variable input hitbox width
2024-08-05 10:30:15 -04:00
filtered
c981b93084 Fix events not properly removed (#46)
Minor fix: someone forgot to finish their copy/paste, apparently.
2024-08-03 09:11:29 -04:00
filtered
f88fe82445 Remove extremely inefficient test code (#42)
With this change, when moving the mouse in circles on empty ComfyUI background, CPU use and calls to drawNode are _significantly_ reduced.
2024-07-31 10:06:33 -04:00
bymyself
c2c4160af0 Use group font size from user (#41) 2024-07-30 20:33:49 -04:00
Chenlei Hu
daa33fad94 0.7.34 (#40)
* 0.7.33

* Fix types

* 0.7.34

* Update readme
2024-07-30 16:09:07 -04:00
Chenlei Hu
52bcf71e44 Relands #31 and #32 (#39)
* 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.

* 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.

* Update empty-release event protocol

---------

Co-authored-by: filtered <176114999+webfiltered@users.noreply.github.com>
2024-07-30 15:11:13 -04:00
Chenlei Hu
6126ebc8dc Revert "Add node disconnect shortcuts (#31)" (#38)
This reverts commit 053caa4ccb.
2024-07-30 08:47:32 -04:00
Chenlei Hu
5bec26f4f2 Revert "Add output multi-link move using shift-click (#32)" (#37)
This reverts commit 3175828350.
2024-07-30 08:46:45 -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
d746f04431 Fix var declaration (#26) 2024-07-23 11:06:36 -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
12fe34cf10 Sort node on serialization (#21) 2024-07-18 15:46:54 -04:00
bymyself
1fdf49fe85 Truncate overflowing combo widget text (#17)
* Truncate overflowing combo widget text

* Avoid uneccessary calls to

* Use unicode ellipsis

* Only measure first 3 chars
2024-07-18 15:46:01 -04:00
Chenlei Hu
6231ff5dcd Fix event content (#12) 2024-07-07 18:35:03 -04:00
Chenlei Hu
8e9a0898e5 Revert ESM change (#11) 2024-07-06 18:39:59 -04:00
Chenlei Hu
e361b39f36 Emit searchbox triggering canvas events (#10)
* Emit canvas event

* Update version
2024-07-06 18:13:26 -04:00