From 3daf79ffbc45ca32ff443e5521a67d62528665db Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Tue, 24 Jun 2025 20:20:42 +0200 Subject: [PATCH] fix: improve schema form handling of inconsistent order and properties --- frontend/src/lib/components/SchemaForm.svelte | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/frontend/src/lib/components/SchemaForm.svelte b/frontend/src/lib/components/SchemaForm.svelte index 860e3129be..4168229f4d 100644 --- a/frontend/src/lib/components/SchemaForm.svelte +++ b/frontend/src/lib/components/SchemaForm.svelte @@ -175,9 +175,11 @@ .forEach((x) => { n[x] = schema.properties[x] }) - schema.properties = n + if (!deepEqual(schema.properties, n)) { + schema.properties = n + } } - let nkeys = Object.keys(schema.properties ?? {}) + let nkeys = [...new Set(Object.keys(schema.properties ?? {}))] if (!deepEqual(keys, nkeys)) { keys = nkeys @@ -221,20 +223,10 @@ args = {} } }) - $effect.pre(() => { - const newKeys = [ - ...new Set( - (Array.isArray(schema?.order) - ? schema?.order - : Object.keys(schema?.properties ?? {})) as string[] - ) - ] - if (!deepEqual(keys, newKeys)) { - keys = newKeys - } - }) $effect.pre(() => { + schema.order + Object.keys(schema.properties ?? {}) schema && (untrack(() => reorder()), (hidden = {})) }) $effect.pre(() => {