From 8dc875540339707f5b9a5cc7fa544d7de1419001 Mon Sep 17 00:00:00 2001
From: space-nuko <24979496+space-nuko@users.noreply.github.com>
Date: Tue, 25 Apr 2023 07:46:58 -0700
Subject: [PATCH] Append to gallery if multiple prompts in queue
---
src/lib/nodes/ComfyImageNodes.ts | 2 +-
src/lib/widgets/ComfyGalleryWidget.ts | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/lib/nodes/ComfyImageNodes.ts b/src/lib/nodes/ComfyImageNodes.ts
index 14d5a32..996e1e8 100644
--- a/src/lib/nodes/ComfyImageNodes.ts
+++ b/src/lib/nodes/ComfyImageNodes.ts
@@ -32,7 +32,7 @@ class ComfyImageNode extends ComfyGraphNode {
let entry: ComfyGalleryEntry = [url + params, null]
return entry
});
- this._galleryWidget.setValue(galleryItems)
+ this._galleryWidget.addImages(galleryItems);
}
}
diff --git a/src/lib/widgets/ComfyGalleryWidget.ts b/src/lib/widgets/ComfyGalleryWidget.ts
index f7a43a4..fa0b747 100644
--- a/src/lib/widgets/ComfyGalleryWidget.ts
+++ b/src/lib/widgets/ComfyGalleryWidget.ts
@@ -1,6 +1,8 @@
+import { get } from "svelte/store";
import type { WidgetPanelOptions } from "@litegraph-ts/core";
import ComfyWidget from "./ComfyWidget";
import type { ComfyImageResult } from "$lib/nodes/ComfySaveImageNode";
+import queueState from "$lib/stores/queueState";
export type ComfyGalleryEntry = [string, string | null]; //
src and alt/title, gradio format
@@ -10,4 +12,15 @@ export interface ComfyGalleryWidgetOptions extends WidgetPanelOptions {
export default class ComfyGalleryWidget extends ComfyWidget {
override type = "comfy/gallery";
override isVirtual = true;
+
+ addImages(images: ComfyImageResult[]) {
+ this.setValue(this.value.concat(images));
+ }
+
+ override afterQueued() {
+ let queue = get(queueState)
+ if (!(typeof queue.queueRemaining === "number" && queue.queueRemaining > 1)) {
+ this.setValue([])
+ }
+ }
}