From f03f8374c83adb5da67a4737bd8d651302da1494 Mon Sep 17 00:00:00 2001 From: ewandor Date: Sat, 3 May 2025 18:27:16 +0200 Subject: [PATCH] Allowing crud forms with card format (showing read only fields) --- .../src/lib/crud/components/crud-form.tsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) 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) {