diff --git a/gui/rpk-gui/src/lib/crud/components/crud-form.tsx b/gui/rpk-gui/src/lib/crud/components/crud-form.tsx index 2d2fb71..16750db 100644 --- a/gui/rpk-gui/src/lib/crud/components/crud-form.tsx +++ b/gui/rpk-gui/src/lib/crud/components/crud-form.tsx @@ -10,21 +10,30 @@ type CrudFormProps = { uiSchema?: UiSchema, record?: any, resourceBasePath: string, - onSubmit: (data: any) => void, + onSubmit?: (data: any) => void, defaultValue?: any, children?: ReactNode + card?: boolean } export const CrudForm: React.FC = (props) => { - const { schemaName, uiSchema, record, resourceBasePath, defaultValue, children, onSubmit } = props; + const { schemaName, uiSchema, record, resourceBasePath, defaultValue, children, onSubmit=(data: any) => {}, card=false } = props; const [schema, setSchema] = useState({}); const [schemaLoading, setSchemaLoading] = useState(true); useEffect(() => { const fetchSchema = async () => { try { - const resourceSchema = record === undefined ? await jsonschemaProvider.getCreateResourceSchema(schemaName) - : await jsonschemaProvider.getUpdateResourceSchema(schemaName); + let resourceSchema + if (record === undefined) { + resourceSchema = await jsonschemaProvider.getCreateResourceSchema(schemaName); + } else { + if (card) { + resourceSchema = await jsonschemaProvider.getCardResourceSchema(schemaName); + } else { + resourceSchema = await jsonschemaProvider.getUpdateResourceSchema(schemaName); + } + } setSchema(resourceSchema); setSchemaLoading(false); } catch (error) {