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
"...composable_kernel_onnx.git" did not exist on "2eeeb1766b3274699e7cee8f87e535b2f93e4293"
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