From 4f8e820c510e106ee3206c9d45e93630b0f63cbc Mon Sep 17 00:00:00 2001 From: Alexander Brown Date: Mon, 15 Sep 2025 18:25:58 -0700 Subject: [PATCH] feat: Let mode changes trigger a re-render for Vue nodes (#5599) * feat: Let mode changes trigger a re-render for Vue nodes * Oops! --- src/composables/graph/useGraphNodeManager.ts | 34 ++++++++++++------- src/lib/litegraph/src/LGraphNodeProperties.ts | 6 +++- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/composables/graph/useGraphNodeManager.ts b/src/composables/graph/useGraphNodeManager.ts index ffa64ca2c..ae430987a 100644 --- a/src/composables/graph/useGraphNodeManager.ts +++ b/src/composables/graph/useGraphNodeManager.ts @@ -789,19 +789,27 @@ export const useGraphNodeManager = (graph: LGraph): GraphNodeManager => { const currentData = vueNodeData.get(nodeId) if (currentData) { - if (event.property === 'title') { - vueNodeData.set(nodeId, { - ...currentData, - title: String(event.newValue) - }) - } else if (event.property === 'flags.collapsed') { - vueNodeData.set(nodeId, { - ...currentData, - flags: { - ...currentData.flags, - collapsed: Boolean(event.newValue) - } - }) + switch (event.property) { + case 'title': + vueNodeData.set(nodeId, { + ...currentData, + title: String(event.newValue) + }) + break + case 'flags.collapsed': + vueNodeData.set(nodeId, { + ...currentData, + flags: { + ...currentData.flags, + collapsed: Boolean(event.newValue) + } + }) + break + case 'mode': + vueNodeData.set(nodeId, { + ...currentData, + mode: typeof event.newValue === 'number' ? event.newValue : 0 + }) } } } diff --git a/src/lib/litegraph/src/LGraphNodeProperties.ts b/src/lib/litegraph/src/LGraphNodeProperties.ts index 33eafa02f..41bb1f673 100644 --- a/src/lib/litegraph/src/LGraphNodeProperties.ts +++ b/src/lib/litegraph/src/LGraphNodeProperties.ts @@ -3,7 +3,11 @@ import type { LGraphNode } from './LGraphNode' /** * Default properties to track */ -const DEFAULT_TRACKED_PROPERTIES: string[] = ['title', 'flags.collapsed'] +const DEFAULT_TRACKED_PROPERTIES: string[] = [ + 'title', + 'flags.collapsed', + 'mode' +] /** * Manages node properties with optional change tracking and instrumentation.