From 47ea53a4b724ef8a63c771cae4e9a942c93f2a22 Mon Sep 17 00:00:00 2001 From: Milan Rother Date: Tue, 2 Jun 2026 16:14:46 +0200 Subject: [PATCH] Toolbox: extract commitToolbox() shared by installFlow and the manager dialog --- .../dialogs/ToolboxManagerDialog.svelte | 8 ++----- src/lib/toolbox/index.ts | 1 + src/lib/toolbox/installFlow.ts | 9 +++----- src/lib/toolbox/register.ts | 21 +++++++++++++++++++ 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/src/lib/components/dialogs/ToolboxManagerDialog.svelte b/src/lib/components/dialogs/ToolboxManagerDialog.svelte index 18f2ae8c..effee96c 100644 --- a/src/lib/components/dialogs/ToolboxManagerDialog.svelte +++ b/src/lib/components/dialogs/ToolboxManagerDialog.svelte @@ -8,9 +8,8 @@ TOOLBOX_CATALOG, performInstall, discoverToolbox, - registerToolbox, + commitToolbox, uninstallToolbox, - upsertToolbox, removeToolbox, toolboxes, toolboxSourceKey, @@ -318,13 +317,10 @@ blocks: blockSelections, events: eventSelections }; - registerToolbox(config, { - blocks: discoveredBlocks, - events: discoveredEvents, + commitToolbox(config, { blocks: discoveredBlocks, events: discoveredEvents }, { defaultCategory, categoryByClass }); - upsertToolbox(config); onSaved?.(config); onClose(); } diff --git a/src/lib/toolbox/index.ts b/src/lib/toolbox/index.ts index 58ce4d4a..4a16dd16 100644 --- a/src/lib/toolbox/index.ts +++ b/src/lib/toolbox/index.ts @@ -27,6 +27,7 @@ export { performInstall, discoverToolbox, registerToolbox, + commitToolbox, uninstallToolbox } from './register'; diff --git a/src/lib/toolbox/installFlow.ts b/src/lib/toolbox/installFlow.ts index 42a4a5de..08ea9e75 100644 --- a/src/lib/toolbox/installFlow.ts +++ b/src/lib/toolbox/installFlow.ts @@ -11,8 +11,8 @@ */ import { get } from 'svelte/store'; -import { toolboxes, upsertToolbox } from './store'; -import { performInstall, discoverToolbox, registerToolbox } from './register'; +import { toolboxes } from './store'; +import { performInstall, discoverToolbox, commitToolbox } from './register'; import { getCatalogEntry } from './catalog'; import type { ToolboxConfig, ToolboxSource } from './types'; @@ -65,13 +65,10 @@ export async function installAndRegisterToolbox(spec: InstallSpec): Promise } = {} +): void { + registerToolbox(config, { + blocks: discovered.blocks, + events: discovered.events, + defaultCategory: hints.defaultCategory, + categoryByClass: hints.categoryByClass + }); + upsertToolbox(config); +} + /** Clean up a toolbox: drop registry entries and the Python module. */ export async function uninstallToolbox(config: ToolboxConfig): Promise { nodeRegistry.unregisterSource(config.id);