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([]) + } + } }