Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
ComfyUI
Commits
dc24d7e2
Commit
dc24d7e2
authored
Apr 03, 2023
by
mligaintart
Browse files
Adds orientation settings to reroute nodes, allowing for cleaner
graphes.
parent
1ed6cadf
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
2 deletions
+30
-2
web/extensions/core/rerouteNode.js
web/extensions/core/rerouteNode.js
+30
-2
No files found.
web/extensions/core/rerouteNode.js
View file @
dc24d7e2
...
@@ -11,11 +11,14 @@ app.registerExtension({
...
@@ -11,11 +11,14 @@ app.registerExtension({
this
.
properties
=
{};
this
.
properties
=
{};
}
}
this
.
properties
.
showOutputText
=
RerouteNode
.
defaultVisibility
;
this
.
properties
.
showOutputText
=
RerouteNode
.
defaultVisibility
;
this
.
properties
.
horizontal
=
false
;
this
.
addInput
(
""
,
"
*
"
);
this
.
addInput
(
""
,
"
*
"
);
this
.
addOutput
(
this
.
properties
.
showOutputText
?
"
*
"
:
""
,
"
*
"
);
this
.
addOutput
(
this
.
properties
.
showOutputText
?
"
*
"
:
""
,
"
*
"
);
this
.
onConnectionsChange
=
function
(
type
,
index
,
connected
,
link_info
)
{
this
.
onConnectionsChange
=
function
(
type
,
index
,
connected
,
link_info
)
{
this
.
applyOrientation
();
// Prevent multiple connections to different types when we have no input
// Prevent multiple connections to different types when we have no input
if
(
connected
&&
type
===
LiteGraph
.
OUTPUT
)
{
if
(
connected
&&
type
===
LiteGraph
.
OUTPUT
)
{
// Ignore wildcard nodes as these will be updated to real types
// Ignore wildcard nodes as these will be updated to real types
...
@@ -49,8 +52,8 @@ app.registerExtension({
...
@@ -49,8 +52,8 @@ app.registerExtension({
currentNode
=
null
;
currentNode
=
null
;
}
}
else
{
else
{
// Move the previous node
// Move the previous node
currentNode
=
node
;
currentNode
=
node
;
}
}
}
else
{
}
else
{
// We've found the end
// We've found the end
...
@@ -112,6 +115,7 @@ app.registerExtension({
...
@@ -112,6 +115,7 @@ app.registerExtension({
node
.
__outputType
=
displayType
;
node
.
__outputType
=
displayType
;
node
.
outputs
[
0
].
name
=
node
.
properties
.
showOutputText
?
displayType
:
""
;
node
.
outputs
[
0
].
name
=
node
.
properties
.
showOutputText
?
displayType
:
""
;
node
.
size
=
node
.
computeSize
();
node
.
size
=
node
.
computeSize
();
node
.
applyOrientation
();
for
(
const
l
of
node
.
outputs
[
0
].
links
||
[])
{
for
(
const
l
of
node
.
outputs
[
0
].
links
||
[])
{
const
link
=
app
.
graph
.
links
[
l
];
const
link
=
app
.
graph
.
links
[
l
];
...
@@ -153,6 +157,7 @@ app.registerExtension({
...
@@ -153,6 +157,7 @@ app.registerExtension({
this
.
outputs
[
0
].
name
=
""
;
this
.
outputs
[
0
].
name
=
""
;
}
}
this
.
size
=
this
.
computeSize
();
this
.
size
=
this
.
computeSize
();
this
.
applyOrientation
();
app
.
graph
.
setDirtyCanvas
(
true
,
true
);
app
.
graph
.
setDirtyCanvas
(
true
,
true
);
},
},
},
},
...
@@ -161,9 +166,32 @@ app.registerExtension({
...
@@ -161,9 +166,32 @@ app.registerExtension({
callback
:
()
=>
{
callback
:
()
=>
{
RerouteNode
.
setDefaultTextVisibility
(
!
RerouteNode
.
defaultVisibility
);
RerouteNode
.
setDefaultTextVisibility
(
!
RerouteNode
.
defaultVisibility
);
},
},
},
{
// naming is inverted with respect to LiteGraphNode.horizontal
// LiteGraphNode.horizontal == true means that
// each slot in the inputs and outputs are layed out horizontally,
// which is the opposite of the visual orientation of the inputs and outputs as a node
content
:
"
Set
"
+
(
this
.
properties
.
horizontal
?
"
Horizontal
"
:
"
Vertical
"
),
callback
:
()
=>
{
this
.
properties
.
horizontal
=
!
this
.
properties
.
horizontal
;
this
.
applyOrientation
();
},
}
}
);
);
}
}
applyOrientation
()
{
this
.
horizontal
=
this
.
properties
.
horizontal
;
if
(
this
.
horizontal
)
{
// we correct the input position, because LiteGraphNode.horizontal
// doesn't account for title presence
// which reroute nodes don't have
this
.
inputs
[
0
].
pos
=
[
this
.
size
[
0
]
/
2
,
0
];
}
else
{
delete
this
.
inputs
[
0
].
pos
;
}
app
.
graph
.
setDirtyCanvas
(
true
,
true
);
}
computeSize
()
{
computeSize
()
{
return
[
return
[
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment