mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-02-10 21:42:37 +08:00
multiple workflows
This commit is contained in:
parent
c28db1f315
commit
bc0360291f
@ -1084,12 +1084,16 @@ export class ComfyApp {
|
|||||||
|
|
||||||
// Load previous workflow
|
// Load previous workflow
|
||||||
let restored = false;
|
let restored = false;
|
||||||
|
this.workflow_current_id = 0;
|
||||||
try {
|
try {
|
||||||
const json = localStorage.getItem("workflow");
|
const json = localStorage.getItem("workflow");
|
||||||
if (json) {
|
if (json) {
|
||||||
const workflow = JSON.parse(json);
|
const workflow = JSON.parse(json);
|
||||||
this.loadGraphData(workflow);
|
this.loadGraphData(workflow);
|
||||||
restored = true;
|
restored = true;
|
||||||
|
const workflow_id = localStorage.getItem("workflow_current_id");
|
||||||
|
if (workflow_id)
|
||||||
|
this.workflow_current_id = workflow_id;
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error("Error loading previous workflow", err);
|
console.error("Error loading previous workflow", err);
|
||||||
@ -1597,6 +1601,29 @@ export class ComfyApp {
|
|||||||
this.lastExecutionError = null;
|
this.lastExecutionError = null;
|
||||||
this.runningNodeId = null;
|
this.runningNodeId = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switchWorkflow() {
|
||||||
|
const workflow_count = 3;
|
||||||
|
|
||||||
|
try {
|
||||||
|
let current_workflow = "workflow_" + this.workflow_current_id;
|
||||||
|
this.workflow_current_id += 1;
|
||||||
|
this.workflow_current_id %= workflow_count;
|
||||||
|
let next_workflow = "workflow_" + this.workflow_current_id;
|
||||||
|
|
||||||
|
localStorage.setItem("workflow_current_id", this.workflow_current_id);
|
||||||
|
localStorage.setItem(current_workflow, JSON.stringify(this.graph.serialize()));
|
||||||
|
|
||||||
|
const json = localStorage.getItem(next_workflow);
|
||||||
|
if (json) {
|
||||||
|
const workflow = JSON.parse(json);
|
||||||
|
this.loadGraphData(workflow);
|
||||||
|
localStorage.setItem("workflow", json);
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.error("Error loading workflow", err);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const app = new ComfyApp();
|
export const app = new ComfyApp();
|
||||||
|
|||||||
@ -756,6 +756,12 @@ export class ComfyUI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
$el("button", {
|
||||||
|
id: "comfy-switch-workflow-button", textContent: "Workflow", onclick: () => {
|
||||||
|
app.switchWorkflow();
|
||||||
|
document.getElementById("comfy-switch-workflow-button").textContent = "Workflow " + app.workflow_current_id;
|
||||||
|
}
|
||||||
|
}),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const devMode = this.settings.addSetting({
|
const devMode = this.settings.addSetting({
|
||||||
@ -773,7 +779,9 @@ export class ComfyUI {
|
|||||||
|
|
||||||
setStatus(status) {
|
setStatus(status) {
|
||||||
this.queueSize.textContent = "Queue size: " + (status ? status.exec_info.queue_remaining : "ERR");
|
this.queueSize.textContent = "Queue size: " + (status ? status.exec_info.queue_remaining : "ERR");
|
||||||
|
const switch_btn = document.getElementById("comfy-switch-workflow-button");
|
||||||
if (status) {
|
if (status) {
|
||||||
|
switch_btn.disabled = status.exec_info.queue_remaining ? true : false;
|
||||||
if (
|
if (
|
||||||
this.lastQueueSize != 0 &&
|
this.lastQueueSize != 0 &&
|
||||||
status.exec_info.queue_remaining == 0 &&
|
status.exec_info.queue_remaining == 0 &&
|
||||||
@ -783,5 +791,8 @@ export class ComfyUI {
|
|||||||
}
|
}
|
||||||
this.lastQueueSize = status.exec_info.queue_remaining;
|
this.lastQueueSize = status.exec_info.queue_remaining;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
switch_btn.disabled = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -142,6 +142,11 @@ body {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
button#comfy-switch-workflow-button:disabled {
|
||||||
|
filter: brightness(1.0);
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
.comfy-menu span.drag-handle {
|
.comfy-menu span.drag-handle {
|
||||||
width: 10px;
|
width: 10px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user