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