From 1ca069b35f58237ee998b3bb9f1e7b66cb18d580 Mon Sep 17 00:00:00 2001
From: space-nuko <24979496+space-nuko@users.noreply.github.com>
Date: Sat, 20 May 2023 20:27:43 -0500
Subject: [PATCH] Switch between workflows
---
src/lib/components/ComfyApp.ts | 16 +++--
src/lib/components/ComfyWorkflowsView.svelte | 4 +-
src/lib/init.ts | 5 +-
src/lib/nodes/ComfyActionNodes.ts | 4 +-
src/lib/stores/layoutStates.ts | 11 ++--
src/lib/stores/queueState.ts | 2 +-
src/lib/stores/workflowState.ts | 65 ++++++++++++++------
src/lib/utils.ts | 13 ++--
8 files changed, 78 insertions(+), 42 deletions(-)
diff --git a/src/lib/components/ComfyApp.ts b/src/lib/components/ComfyApp.ts
index 904501b..e2a2daf 100644
--- a/src/lib/components/ComfyApp.ts
+++ b/src/lib/components/ComfyApp.ts
@@ -200,6 +200,10 @@ export default class ComfyApp {
await this.initDefaultGraph();
}
+ workflowState.createNewWorkflow(this.lCanvas);
+ workflowState.createNewWorkflow(this.lCanvas);
+ workflowState.createNewWorkflow(this.lCanvas);
+
// Save current workflow automatically
// setInterval(this.saveStateToLocalStorage.bind(this), 1000);
@@ -503,7 +507,7 @@ export default class ComfyApp {
}
this.clean();
- const workflow = workflowState.openWorkflow(data);
+ const workflow = workflowState.openWorkflow(this.lCanvas, data);
// Restore canvas offset/zoom
this.lCanvas.deserialize(data.canvas)
@@ -514,13 +518,7 @@ export default class ComfyApp {
}
setActiveWorkflow(index: number) {
- const workflow = workflowState.setActiveWorkflow(index);
-
- if (workflow != null) {
- workflow.start("app", this.lCanvas);
- this.lCanvas.deserialize(workflow.canvases["app"].state)
- }
-
+ workflowState.setActiveWorkflow(this.lCanvas, index);
selectionState.clear();
}
@@ -542,7 +540,7 @@ export default class ComfyApp {
this.clean();
this.lCanvas.closeAllSubgraphs();
- workflowState.closeAllWorkflows();
+ workflowState.closeAllWorkflows(this.lCanvas);
uiState.update(s => {
s.uiUnlocked = true;
s.uiEditMode = "widgets";
diff --git a/src/lib/components/ComfyWorkflowsView.svelte b/src/lib/components/ComfyWorkflowsView.svelte
index 186cd85..8949dea 100644
--- a/src/lib/components/ComfyWorkflowsView.svelte
+++ b/src/lib/components/ComfyWorkflowsView.svelte
@@ -187,7 +187,9 @@
{#each $workflowState.openedWorkflows as workflow, index}
-