From 31a40e9769e1a327993223f3b5f9230080c7e694 Mon Sep 17 00:00:00 2001 From: Austin Mroz Date: Mon, 22 Sep 2025 15:44:48 -0500 Subject: [PATCH] Move from wrapping an interal method to onConfigure --- src/scripts/proxyWidget.ts | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/scripts/proxyWidget.ts b/src/scripts/proxyWidget.ts index 3020411947..0cbe72e415 100644 --- a/src/scripts/proxyWidget.ts +++ b/src/scripts/proxyWidget.ts @@ -10,23 +10,22 @@ import { useCanvasStore } from '@/stores/graphStore' import { useNodeOutputStore } from '@/stores/imagePreviewStore' import { getNodeByExecutionId } from '@/utils/graphTraversalUtil' -const originalConfigureAfterSlots = - SubgraphNode.prototype._internalConfigureAfterSlots -SubgraphNode.prototype._internalConfigureAfterSlots = function () { +const originalOnConfigure = SubgraphNode.prototype.onConfigure +SubgraphNode.prototype.onConfigure = function (serialisedNode) { + if (!this.isSubgraphNode()) + throw new Error("Can't add proxyWidgets to non-subgraphNode") + const canvasStore = useCanvasStore() const subgraphNode = this //Must give value to proxyWidgets prior to defining or it won't serialize subgraphNode.properties.proxyWidgets ??= '[]' - const proxyWidgets = subgraphNode.properties.proxyWidgets + let proxyWidgets = subgraphNode.properties.proxyWidgets - originalConfigureAfterSlots?.bind(this)?.() + originalOnConfigure?.bind(this)?.(serialisedNode) Object.defineProperty(subgraphNode.properties, 'proxyWidgets', { get: () => { - const result = subgraphNode.widgets - .filter((w) => isProxyWidget(w)) - .map((w) => [w._overlay.nodeId, w._overlay.widgetName]) - return JSON.stringify(result) + return proxyWidgets }, set: (property: string) => { const parsed = parseProxyWidgets(property) @@ -51,6 +50,7 @@ SubgraphNode.prototype._internalConfigureAfterSlots = function () { widgetState.widget = w } } + proxyWidgets = property canvasStore.canvas?.setDirty(true, true) subgraphNode._setConcreteSlots() subgraphNode.arrange()