Adding UiSchema capacities to CrudForm
This commit is contained in:
@@ -1,14 +1,15 @@
|
|||||||
import validator from "@rjsf/validator-ajv8";
|
import validator from "@rjsf/validator-ajv8";
|
||||||
import Form from "@rjsf/mui";
|
import Form from "@rjsf/mui";
|
||||||
import { RegistryFieldsType, RegistryWidgetsType } from "@rjsf/utils";
|
import { RegistryFieldsType, RegistryWidgetsType, UiSchema } from "@rjsf/utils";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import { jsonschemaProvider } from "../providers/jsonschema-provider";
|
import { jsonschemaProvider } from "../providers/jsonschema-provider";
|
||||||
import { useForm } from "@refinedev/core";
|
import { useForm } from "@refinedev/core";
|
||||||
import CrudTextWidget from "./widgets/crud-text-widget";
|
import CrudTextWidget from "./widgets/crud-text-widget";
|
||||||
import UnionEnumField from "./fields/union-enum";
|
import UnionEnumField from "./fields/union-enum";
|
||||||
|
|
||||||
type Props = {
|
type CrudFormProps = {
|
||||||
schemaName: string,
|
schemaName: string,
|
||||||
|
uiSchema?: UiSchema,
|
||||||
resource: string,
|
resource: string,
|
||||||
id?: string,
|
id?: string,
|
||||||
//onSubmit: (data: IChangeEvent, event: FormEvent<any>) => void
|
//onSubmit: (data: IChangeEvent, event: FormEvent<any>) => void
|
||||||
@@ -23,7 +24,8 @@ const customFields: RegistryFieldsType = {
|
|||||||
AnyOfField: UnionEnumField
|
AnyOfField: UnionEnumField
|
||||||
}
|
}
|
||||||
|
|
||||||
export const CrudForm: React.FC<Props> = ({ schemaName, resource, id, onSuccess }) => {
|
export const CrudForm: React.FC<CrudFormProps> = (props) => {
|
||||||
|
const { schemaName, uiSchema, resource, id, onSuccess } = props;
|
||||||
const { onFinish, query, formLoading } = useForm({
|
const { onFinish, query, formLoading } = useForm({
|
||||||
resource: resource,
|
resource: resource,
|
||||||
action: id === undefined ? "create" : "edit",
|
action: id === undefined ? "create" : "edit",
|
||||||
@@ -55,6 +57,7 @@ export const CrudForm: React.FC<Props> = ({ schemaName, resource, id, onSuccess
|
|||||||
return (
|
return (
|
||||||
<Form
|
<Form
|
||||||
schema={schema}
|
schema={schema}
|
||||||
|
uiSchema={uiSchema === undefined ? {} : uiSchema}
|
||||||
formData={record}
|
formData={record}
|
||||||
onChange={(e) => setFormData(e.formData)}
|
onChange={(e) => setFormData(e.formData)}
|
||||||
onSubmit={(e) => onFinish(e.formData)}
|
onSubmit={(e) => onFinish(e.formData)}
|
||||||
|
|||||||
Reference in New Issue
Block a user