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) => ( - ))} +
+ + +