From f4a2ae5eacf5ccf585f7729815033345b77135f0 Mon Sep 17 00:00:00 2001 From: "Timothy J. Baek" Date: Sun, 23 Jun 2024 19:49:48 -0700 Subject: [PATCH] enh: list valve --- .../components/workspace/ValvesModal.svelte | 42 +++++++++++++------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/src/lib/components/workspace/ValvesModal.svelte b/src/lib/components/workspace/ValvesModal.svelte index c6d139507..124af83de 100644 --- a/src/lib/components/workspace/ValvesModal.svelte +++ b/src/lib/components/workspace/ValvesModal.svelte @@ -30,20 +30,29 @@ const submitHandler = async () => { saving = true; - let res = null; + if (valvesSpec) { + // Convert string to array + for (const property in valvesSpec.properties) { + if (valvesSpec.properties[property]?.type === 'array') { + valves[property] = (valves[property] ?? '').split(',').map((v) => v.trim()); + } + } - if (type === 'tool') { - res = await updateToolValvesById(localStorage.token, id, valves).catch((error) => { - toast.error(error); - }); - } else if (type === 'function') { - res = await updateFunctionValvesById(localStorage.token, id, valves).catch((error) => { - toast.error(error); - }); - } + let res = null; - if (res) { - toast.success('Valves updated successfully'); + if (type === 'tool') { + res = await updateToolValvesById(localStorage.token, id, valves).catch((error) => { + toast.error(error); + }); + } else if (type === 'function') { + res = await updateFunctionValvesById(localStorage.token, id, valves).catch((error) => { + toast.error(error); + }); + } + + if (res) { + toast.success('Valves updated successfully'); + } } saving = false; @@ -66,6 +75,15 @@ valves = {}; } + if (valvesSpec) { + // Convert array to string + for (const property in valvesSpec.properties) { + if (valvesSpec.properties[property]?.type === 'array') { + valves[property] = (valves[property] ?? []).join(','); + } + } + } + loading = false; };