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 ?? {}) } }