From b3fa1cd77dc3d3869e93b807ede403fb6490aff1 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Fri, 12 Jan 2024 00:42:43 +0100 Subject: [PATCH] improve schema reordering --- .../lib/components/EditableSchemaForm.svelte | 18 ++++++++++++++++++ frontend/src/lib/components/SchemaForm.svelte | 5 ++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/EditableSchemaForm.svelte b/frontend/src/lib/components/EditableSchemaForm.svelte index 978f79126f..9f2ae71dc9 100644 --- a/frontend/src/lib/components/EditableSchemaForm.svelte +++ b/frontend/src/lib/components/EditableSchemaForm.svelte @@ -94,7 +94,25 @@ resourceTypes = await getResourceTypes() } + reorder() loadResourceTypes() + + function reorder() { + if (schema?.order && Array.isArray(schema.order)) { + const n = {} + + ;(schema.order as string[]).forEach((x) => { + n[x] = schema.properties[x] + }) + + Object.keys(schema.properties ?? {}) + .filter((x) => !schema.order?.includes(x)) + .forEach((x) => { + n[x] = schema.properties[x] + }) + schema.properties = n + } + }
diff --git a/frontend/src/lib/components/SchemaForm.svelte b/frontend/src/lib/components/SchemaForm.svelte index 7dba5b954d..9e190728e0 100644 --- a/frontend/src/lib/components/SchemaForm.svelte +++ b/frontend/src/lib/components/SchemaForm.svelte @@ -87,10 +87,12 @@ resourceTypes = await getResourceTypes() } - reorder() loadResourceTypes() + $: schema && reorder() + function reorder() { + console.log('reodering') if (schema?.order && Array.isArray(schema.order)) { const n = {} @@ -104,6 +106,7 @@ n[x] = schema.properties[x] }) schema.properties = n + keys = Object.keys(schema.properties ?? {}) } }