File tree Expand file tree Collapse file tree 3 files changed +11
-4
lines changed
Expand file tree Collapse file tree 3 files changed +11
-4
lines changed Original file line number Diff line number Diff line change 1212 import ParameterName from ' ./ParameterName.svelte' ;
1313 import ParameterRec from ' ./ParameterRec.svelte' ;
1414 import ParameterUnits from ' ./ParameterUnits.svelte' ;
15+ import { compare } from ' ../../utilities/generic' ;
1516
1617 export let disabled: boolean = false ;
1718 export let expanded: boolean = false ;
3334
3435 function getSubFormParameters(formParameter : FormParameter <ValueSchemaStruct >): FormParameter [] {
3536 const { schema, value = [] } = formParameter ;
36- const { items : keys } = schema ;
37+ const { items : keys, metadata } = schema ;
38+ const order = metadata ?.item_order ;
3739 const structKeys = Object .keys (keys ).sort ();
3840
3941 const subFormParameters = structKeys .map ((key , index ) => {
4042 let subFormParameter: FormParameter = {
4143 errors: null ,
4244 key ,
4345 name: key ,
44- order: index ,
46+ order: order ? order . indexOf ( key ) : index ,
4547 schema: schema .items [key ],
4648 value: value !== null ? value [key ] : null ,
4749 valueSource: formParameter .valueSource ,
4850 };
4951 return subFormParameter ;
5052 });
5153
54+ subFormParameters .sort ((a , b ) => compare (a .order , b .order ));
55+
5256 return subFormParameters ;
5357 }
5458
Original file line number Diff line number Diff line change 6161 const schema = version ?.parameter_schema ;
6262
6363 if (schema && schema .type === ' struct' ) {
64- formParameters = Object .entries (schema .items ).map (([name , subschema ], i ) => {
64+ const { items, metadata } = schema ;
65+ const order = metadata ?.item_order ;
66+ formParameters = Object .entries (items ).map (([name , subschema ], i ) => {
6567 return {
6668 errors: null ,
6769 name ,
68- order: i ,
70+ order: order ? order . indexOf ( name ) : i ,
6971 required: true ,
7072 schema: subschema ,
7173 value:
Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ type ValueSchemaMetadata = {
33 description ?: {
44 value : string ;
55 } ;
6+ item_order ?: string [ ] ;
67 unit ?: {
78 value : string ;
89 } ;
You can’t perform that action at this time.
0 commit comments