From 7ddda80cf6e5c6debe1617469dd1815c2329e095 Mon Sep 17 00:00:00 2001
From: space-nuko <24979496+space-nuko@users.noreply.github.com>
Date: Fri, 5 May 2023 16:46:28 -0500
Subject: [PATCH] Workflow properties
---
src/lib/ComfyGraphCanvas.ts | 8 +
src/lib/components/ComfyApp.svelte | 34 +-
src/lib/components/ComfyApp.ts | 52 ++-
src/lib/components/ComfyComboProperty.svelte | 54 +++
src/lib/components/ComfyNumberProperty.svelte | 45 +++
src/lib/components/ComfyProperties.svelte | 313 ++++++++++--------
src/lib/nodes/ComfyActionNodes.ts | 16 +-
src/lib/nodes/ComfyBackendNode.ts | 17 +
src/lib/nodes/ComfyWidgetNodes.ts | 29 +-
src/lib/stores/layoutState.ts | 46 ++-
src/lib/stores/uiState.ts | 6 +-
src/lib/utils.ts | 43 ++-
src/scss/global.scss | 1 -
src/scss/ux.scss | 4 +
14 files changed, 489 insertions(+), 179 deletions(-)
create mode 100644 src/lib/components/ComfyComboProperty.svelte
create mode 100644 src/lib/components/ComfyNumberProperty.svelte
diff --git a/src/lib/ComfyGraphCanvas.ts b/src/lib/ComfyGraphCanvas.ts
index 24279be..cd16148 100644
--- a/src/lib/ComfyGraphCanvas.ts
+++ b/src/lib/ComfyGraphCanvas.ts
@@ -3,6 +3,7 @@ import type ComfyApp from "./components/ComfyApp";
import queueState from "./stores/queueState";
import { get } from "svelte/store";
import uiState from "./stores/uiState";
+import layoutState from "./stores/layoutState";
export type SerializedGraphCanvasState = {
offset: Vector2,
@@ -230,6 +231,13 @@ export default class ComfyGraphCanvas extends LGraphCanvas {
return res;
}
+ override onNodeSelected(node: LGraphNode) {
+ const ls = get(layoutState)
+ ls.currentSelectionNodes = [node]
+ ls.currentSelection = []
+ layoutState.set(ls)
+ }
+
override onNodeMoved(node: LGraphNode) {
if (super.onNodeMoved)
super.onNodeMoved(node);
diff --git a/src/lib/components/ComfyApp.svelte b/src/lib/components/ComfyApp.svelte
index f11ce46..38d7be9 100644
--- a/src/lib/components/ComfyApp.svelte
+++ b/src/lib/components/ComfyApp.svelte
@@ -6,7 +6,7 @@
import { BlockTitle } from "@gradio/atoms";
import ComfyUIPane from "./ComfyUIPane.svelte";
import ComfyApp, { type SerializedAppState } from "./ComfyApp";
- import { Checkbox } from "@gradio/form"
+ import { Checkbox, TextBox } from "@gradio/form"
import uiState from "$lib/stores/uiState";
import layoutState from "$lib/stores/layoutState";
import { ImageViewer } from "$lib/ImageViewer";
@@ -29,6 +29,7 @@
let containerElem: HTMLDivElement;
let resizeTimeout: NodeJS.Timeout | null;
let hasShownUIHelpToast: boolean = false;
+ let uiTheme: string = "";
let debugLayout: boolean = false;
@@ -46,7 +47,10 @@
function queuePrompt() {
console.log("Queuing!");
- app.queuePrompt(0, 1);
+ let subworkflow = $uiState.subWorkflow;
+ if (subworkflow === "")
+ subworkflow = null
+ app.queuePrompt(0, 1, subworkflow);
}
$: if (app?.lCanvas) app.lCanvas.allow_dragnodes = !$uiState.nodesLocked;
@@ -164,6 +168,12 @@
}
+