Image output fixes

This commit is contained in:
space-nuko
2023-05-05 07:13:38 -05:00
parent 267106bed4
commit ed28e0dfda
8 changed files with 100 additions and 18 deletions

View File

@@ -2,6 +2,7 @@ import { LiteGraph, type ContextMenuItem, type LGraphNode, type Vector2, LConnec
import ComfyGraphNode from "./ComfyGraphNode";
import { Watch } from "@litegraph-ts/nodes-basic";
import type { SerializedPrompt } from "$lib/components/ComfyApp";
import { toast } from '@zerodevx/svelte-toast'
export interface ComfyAfterQueuedEventProperties extends Record<any, any> {
prompt: SerializedPrompt
@@ -47,6 +48,40 @@ LiteGraph.registerNodeType({
type: "actions/after_queued"
})
export interface ComfyOnExecutedEventProperties extends Record<any, any> {
}
export class ComfyOnExecutedEvent extends ComfyGraphNode {
override properties: ComfyOnExecutedEventProperties = {
}
static slotLayout: SlotLayout = {
inputs: [
{ name: "images", type: "IMAGE" }
],
outputs: [
{ name: "onExecuted", type: BuiltInSlotType.EVENT },
],
}
private _output: any = null;
override receiveOutput(output: any) {
if (this._output !== output) {
console.error(output)
this.triggerSlot(0, "bang")
this._output = output
}
}
}
LiteGraph.registerNodeType({
class: ComfyOnExecutedEvent,
title: "Comfy.OnExecutedEvent",
desc: "Triggers a 'bang' event when a prompt output is received.",
type: "actions/on_executed"
})
export interface ComfyCopyActionProperties extends Record<any, any> {
value: any
}
@@ -130,3 +165,34 @@ LiteGraph.registerNodeType({
desc: "Swaps two inputs when triggered",
type: "actions/swap"
})
export interface ComfyNotifyActionProperties extends Record<any, any> {
message: string
}
export class ComfyNotifyAction extends ComfyGraphNode {
override properties: ComfyNotifyActionProperties = {
message: "Nya."
}
static slotLayout: SlotLayout = {
inputs: [
{ name: "message", type: "string" },
{ name: "trigger", type: BuiltInSlotType.ACTION }
],
}
override onAction(action: any, param: any) {
const message = this.getInputData(0);
if (message) {
toast.push(message);
}
};
}
LiteGraph.registerNodeType({
class: ComfyNotifyAction,
title: "Comfy.NotifyAction",
desc: "Displays a message.",
type: "actions/notify"
})