admin/plugins: avoid warning in console because of defaultValue reaching TextField component
Massimo Melina committed
May 2, 2022 at 12:04 UTC
0dd5502ff7da901e5b7ac1c9595c7296046d7b7c
1 file changed
+7
-4
admin/src/PluginsPage.ts
+7
-4
@@ -7,6 +7,7 @@ import { Error, PlayCircle, Settings, StopCircle } from '@mui/icons-material'
7
import { toast, formDialog } from './dialog'
8
import { BoolField, Field, MultiSelectField, NumberField, SelectField, StringField } from './Form'
9
import { ArrayField } from './ArrayField'
10
+import _ from "lodash"
11
12
export default function PluginsPage() {
13
const { list, error, initializing } = useApiList('get_plugins')
@@ -88,11 +89,13 @@ export default function PluginsPage() {
89
90
function makeFields(config: any) {
91
return Object.entries(config).map(([k,o]: [string,any]) => {
91
- const comp = (type2comp as any)[o?.type] as Field<any> | undefined
92
- // @ts-ignore
92
+ if (!_.isPlainObject(o))
93
+ return o
94
+ let { type, defaultValue, fields, ...rest } = o
95
+ const comp = (type2comp as any)[type] as Field<any> | undefined
96
if (comp === ArrayField)
94
- o.fields = makeFields(o.fields)
95
- return { k, comp, ...(typeof o === 'object' ? o : null) }
97
+ fields = makeFields(fields)
98
+ return { k, comp, fields, ...rest }
99
})
100
}
101