From 21d2a9c45eb6e8ac1524b5c5681f011bca2c72b1 Mon Sep 17 00:00:00 2001 From: ryanwong Date: Sat, 16 Nov 2024 08:52:13 -0500 Subject: [PATCH] added in new crud apis made --- src/components/ConfigPanel.tsx | 185 ++++++++++++++++++++++++--------- src/components/ModelModal.tsx | 153 ++++++++++++++++++++++++++- src/store/flowStore.ts | 6 +- 3 files changed, 289 insertions(+), 55 deletions(-) diff --git a/src/components/ConfigPanel.tsx b/src/components/ConfigPanel.tsx index 6094e14..f97d0ee 100644 --- a/src/components/ConfigPanel.tsx +++ b/src/components/ConfigPanel.tsx @@ -30,10 +30,26 @@ export function ConfigPanel({ node, onClose, onUpdateNode }: ConfigPanelProps) { HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement > ) => { - onUpdateNode(node.id, { - ...node.data, - [e.target.name]: e.target.value, - }); + console.log('Changing', e.target.name, 'to', e.target.value); // Debug log + + if (e.target.name === 'outputType') { + // Create entirely new data object for output type change + const newData = { + ...node.data, + outputType: e.target.value, + // Reset fields based on new type + fields: e.target.value === 'mockup' ? [] : (node.data.fields || []), + responseRaw: e.target.value === 'mockup' ? '{}' : undefined, + }; + console.log('New data after output type change:', newData); // Debug log + onUpdateNode(node.id, newData); + } else { + // Handle other changes normally + onUpdateNode(node.id, { + ...node.data, + [e.target.name]: e.target.value, + }); + } }; const handleArrayChange = ( @@ -103,17 +119,30 @@ export function ConfigPanel({ node, onClose, onUpdateNode }: ConfigPanelProps) { > {models.map((model) => ( - ))} +
+ + +