From 30fed09bb30a0853835edd2aeaaec6d2f7f0a487 Mon Sep 17 00:00:00 2001 From: relhamdi Date: Thu, 28 May 2026 10:32:34 +0200 Subject: [PATCH] Use updated updateSlotVisibility and debounce --- web/prompt_layout_filler.js | 15 ++++++++++++--- web/prompt_router.js | 10 +++++++--- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/web/prompt_layout_filler.js b/web/prompt_layout_filler.js index 7dba355..dfdda8d 100644 --- a/web/prompt_layout_filler.js +++ b/web/prompt_layout_filler.js @@ -1,4 +1,9 @@ -import { createEditor, escapeHtml, updateSlotVisibility } from "./utils.js"; +import { + createEditor, + debounce, + escapeHtml, + updateSlotVisibility, +} from "./utils.js"; import { app } from "/scripts/app.js"; // --- Constants --- @@ -80,13 +85,17 @@ const attachEditor = (node) => { editor.innerHTML = buildHighlightedHtml(textarea.value, connected); }; + const debouncedUpdate = debounce(() => { + updateSlotVisibility(node, NUM_SLOTS, "slot"); + refreshDropdown(node, selectedWidget, comboWidget); + }, 64); + // --- Connection change hook - Re-render when slots are connected or disconnected --- const originalConnectionChange = node.onConnectionsChange; node.onConnectionsChange = function (...args) { if (originalConnectionChange) originalConnectionChange.call(this, ...args); - updateSlotVisibility(node, NUM_SLOTS, "slot"); - renderColored(); + debouncedUpdate(); }; // Initial render diff --git a/web/prompt_router.js b/web/prompt_router.js index de06050..b68ef2a 100644 --- a/web/prompt_router.js +++ b/web/prompt_router.js @@ -1,4 +1,4 @@ -import { hideWidget, updateSlotVisibility } from "./utils.js"; +import { debounce, hideWidget, updateSlotVisibility } from "./utils.js"; import { app } from "/scripts/app.js"; // --- Constants --- @@ -71,13 +71,17 @@ const attachRouter = (node) => { node.refreshDropdown = () => refreshDropdown(node, selectedWidget, comboWidget); + const debouncedUpdate = debounce(() => { + updateSlotVisibility(node, NUM_INPUTS, "input"); + refreshDropdown(node, selectedWidget, comboWidget); + }, 64); + // --- Connection change hook - Re-render when nodes are connected or disconnected --- const originalConnectionChange = node.onConnectionsChange; node.onConnectionsChange = function (...args) { if (originalConnectionChange) originalConnectionChange.call(this, ...args); - updateSlotVisibility(node, NUM_INPUTS, "input"); - node.refreshDropdown(); + debouncedUpdate(); }; // Initial render