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
94e9798a
Commit
94e9798a
authored
Apr 20, 2023
by
omar92
Browse files
when drag from node input or output show all possible nodes that you can connect
parent
7d79afd4
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
39 additions
and
11 deletions
+39
-11
web/extensions/core/slotDefaults.js
web/extensions/core/slotDefaults.js
+39
-11
No files found.
web/extensions/core/slotDefaults.js
View file @
94e9798a
import
{
app
}
from
"
/scripts/app.js
"
;
import
{
ComfyWidgets
}
from
"
/scripts/widgets.js
"
;
// Adds defaults for quickly adding nodes with middle click on the input/output
app
.
registerExtension
({
name
:
"
Comfy.SlotDefaults
"
,
init
()
{
LiteGraph
.
middle_click_slot_add_default_node
=
true
;
LiteGraph
.
slot_types_default_in
=
{
MODEL
:
"
CheckpointLoaderSimple
"
,
LATENT
:
"
EmptyLatentImage
"
,
VAE
:
"
VAELoader
"
,
};
},
async
beforeRegisterNodeDef
(
nodeType
,
nodeData
,
app
)
{
var
nodeId
=
nodeData
.
name
;
var
inputs
=
[];
//if (nodeData["input"]["optional"] != undefined) {
// inputs = Object.assign({}, nodeData["input"]["required"], nodeData["input"]["optional"]);
//} else {
inputs
=
nodeData
[
"
input
"
][
"
required
"
];
//only show required inputs to reduce the mess also not logica to create node with optional inputs
//}
for
(
const
inputKey
in
inputs
)
{
var
input
=
(
inputs
[
inputKey
]);
//make sure input[0] is a string
if
(
typeof
input
[
0
]
!==
"
string
"
)
continue
;
// for (const slotKey in inputs[inputKey]) {
var
type
=
input
[
0
]
if
(
type
in
ComfyWidgets
)
{
var
customProperties
=
input
[
1
]
//console.log(customProperties)
if
(
!
(
customProperties
?.
forceInput
))
continue
;
//ignore widgets that don't force input
}
if
(
!
(
type
in
LiteGraph
.
slot_types_default_out
))
{
LiteGraph
.
slot_types_default_out
[
type
]
=
[
"
Reroute
"
];
}
if
(
LiteGraph
.
slot_types_default_out
[
type
].
includes
(
nodeId
))
continue
;
LiteGraph
.
slot_types_default_out
[
type
].
push
(
nodeId
);
// }
}
var
outputs
=
nodeData
[
"
output
"
];
for
(
const
key
in
outputs
)
{
var
type
=
outputs
[
key
];
if
(
!
(
type
in
LiteGraph
.
slot_types_default_in
))
{
LiteGraph
.
slot_types_default_in
[
type
]
=
[
"
Reroute
"
];
// ["Reroute", "Primitive"]; primitive doesn't always work :'()
}
LiteGraph
.
slot_types_default_in
[
type
].
push
(
nodeId
);
}
LiteGraph
.
slot_types_default_out
=
{
LATENT
:
"
VAEDecode
"
,
IMAGE
:
"
SaveImage
"
,
CLIP
:
"
CLIPTextEncode
"
,
};
},
});
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