mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-04-20 03:13:30 +00:00
refactor(ui): Switch statement, and handle other modes in group actions
This commit is contained in:
parent
e30d546e38
commit
6944288aff
@ -40,15 +40,18 @@ app.registerExtension({
|
|||||||
|
|
||||||
// Modes
|
// Modes
|
||||||
// 0: Always
|
// 0: Always
|
||||||
|
// 1: On Event
|
||||||
// 2: Never
|
// 2: Never
|
||||||
|
// 3: On Trigger
|
||||||
// 4: Bypass
|
// 4: Bypass
|
||||||
// If all nodes are the same mode, add a menu option to change the mode
|
// If all nodes are the same mode, add a menu option to change the mode
|
||||||
if (allNodesAreSameMode) {
|
if (allNodesAreSameMode) {
|
||||||
const mode = nodesInGroup[0].mode;
|
const mode = nodesInGroup[0].mode;
|
||||||
|
switch (mode) {
|
||||||
|
case 0:
|
||||||
// All nodes are always, option to disable, and bypass
|
// All nodes are always, option to disable, and bypass
|
||||||
if (mode === 0) {
|
|
||||||
options.push({
|
options.push({
|
||||||
content: "Disable Group Nodes",
|
content: "Set Group Nodes to Never",
|
||||||
callback: () => {
|
callback: () => {
|
||||||
for (const node of nodesInGroup) {
|
for (const node of nodesInGroup) {
|
||||||
setNodeMode(node, 2);
|
setNodeMode(node, 2);
|
||||||
@ -62,12 +65,12 @@ app.registerExtension({
|
|||||||
setNodeMode(node, 4);
|
setNodeMode(node, 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
break;
|
||||||
|
case 2:
|
||||||
// All nodes are never, option to enable, and bypass
|
// All nodes are never, option to enable, and bypass
|
||||||
if (mode === 2) {
|
|
||||||
options.push({
|
options.push({
|
||||||
content: "Enable Group Nodes",
|
content: "Set Group Nodes to Always",
|
||||||
callback: () => {
|
callback: () => {
|
||||||
for (const node of nodesInGroup) {
|
for (const node of nodesInGroup) {
|
||||||
setNodeMode(node, 0);
|
setNodeMode(node, 0);
|
||||||
@ -81,12 +84,12 @@ app.registerExtension({
|
|||||||
setNodeMode(node, 4);
|
setNodeMode(node, 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
}
|
break;
|
||||||
|
case 4:
|
||||||
// All nodes are bypass, option to enable, and disable
|
// All nodes are bypass, option to enable, and disable
|
||||||
if (mode === 4) {
|
|
||||||
options.push({
|
options.push({
|
||||||
content: "Enable Group Nodes",
|
content: "Set Group Nodes to Always",
|
||||||
callback: () => {
|
callback: () => {
|
||||||
for (const node of nodesInGroup) {
|
for (const node of nodesInGroup) {
|
||||||
setNodeMode(node, 0);
|
setNodeMode(node, 0);
|
||||||
@ -94,18 +97,46 @@ app.registerExtension({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
options.push({
|
options.push({
|
||||||
content: "Disable Group Nodes",
|
content: "Set Group Nodes to Never",
|
||||||
callback: () => {
|
callback: () => {
|
||||||
for (const node of nodesInGroup) {
|
for (const node of nodesInGroup) {
|
||||||
setNodeMode(node, 2);
|
setNodeMode(node, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// All nodes are On Trigger or On Event(Or other?), option to disable, set to always, or bypass
|
||||||
|
options.push({
|
||||||
|
content: "Set Group Nodes to Always",
|
||||||
|
callback: () => {
|
||||||
|
for (const node of nodesInGroup) {
|
||||||
|
setNodeMode(node, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
options.push({
|
||||||
|
content: "Set Group Nodes to Never",
|
||||||
|
callback: () => {
|
||||||
|
for (const node of nodesInGroup) {
|
||||||
|
setNodeMode(node, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
options.push({
|
||||||
|
content: "Bypass Group Nodes",
|
||||||
|
callback: () => {
|
||||||
|
for (const node of nodesInGroup) {
|
||||||
|
setNodeMode(node, 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Nodes are not all the same mode, add a menu option to change the mode to always, never, or bypass
|
// Nodes are not all the same mode, add a menu option to change the mode to always, never, or bypass
|
||||||
options.push({
|
options.push({
|
||||||
content: "Enable Group Nodes",
|
content: "Set Group Nodes to Always",
|
||||||
callback: () => {
|
callback: () => {
|
||||||
for (const node of nodesInGroup) {
|
for (const node of nodesInGroup) {
|
||||||
setNodeMode(node, 0);
|
setNodeMode(node, 0);
|
||||||
@ -113,7 +144,7 @@ app.registerExtension({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
options.push({
|
options.push({
|
||||||
content: "Disable Group Nodes",
|
content: "Set Group Nodes to Never",
|
||||||
callback: () => {
|
callback: () => {
|
||||||
for (const node of nodesInGroup) {
|
for (const node of nodesInGroup) {
|
||||||
setNodeMode(node, 2);
|
setNodeMode(node, 2);
|
||||||
|
Loading…
Reference in New Issue
Block a user