@@ -22,6 +22,7 @@ interface FieldMapperProps {
22
22
className ?: string
23
23
height ?: number
24
24
}
25
+
25
26
const getInitialSortedFields = (
26
27
fields : ManagedCollectionFieldConfig [ ] ,
27
28
isFieldSelected : ( fieldId : string ) => boolean
@@ -34,9 +35,17 @@ const getInitialSortedFields = (
34
35
if ( aIsSelected && ! bIsSelected ) return - 1
35
36
if ( ! aIsSelected && bIsSelected ) return 1
36
37
37
- // Then sort by whether they are supported fields
38
- if ( a . field && ! b . field ) return - 1
39
- if ( ! a . field && b . field ) return 1
38
+ // Sort by whether they are supported fields
39
+ if ( a . field !== null && a . field !== undefined && ( b . field === null || b . field === undefined ) ) return - 1
40
+ if ( ( a . field === null || a . field === undefined ) && b . field !== null && b . field !== undefined ) return 1
41
+
42
+ // Sort by whether they are null (missing reference)
43
+ if ( a . field === null && b . field !== null ) return - 1
44
+ if ( a . field !== null && b . field === null ) return 1
45
+
46
+ // Sort by whether they are undefined (unsupported fields)
47
+ if ( a . field === undefined && b . field !== undefined ) return 1
48
+ if ( a . field !== undefined && b . field === undefined ) return - 1
40
49
41
50
return 0
42
51
} )
@@ -93,9 +102,11 @@ export const FieldMapper = ({
93
102
disabled = { ! fieldConfig . field || ! isSelected }
94
103
placeholder = { fieldConfig . originalFieldName }
95
104
value = {
96
- ! fieldConfig . field
105
+ fieldConfig . field === undefined
97
106
? "Unsupported Field"
98
- : ( fieldNameOverrides [ fieldConfig . field . id ] ?? "" )
107
+ : fieldConfig . field === null
108
+ ? "Missing Reference"
109
+ : ( fieldNameOverrides [ fieldConfig . field . id ] ?? "" )
99
110
}
100
111
onChange = { e => {
101
112
assert ( fieldConfig . field )
0 commit comments