diff --git a/client/src/pages/filaments/create.tsx b/client/src/pages/filaments/create.tsx index 894c4fc..dac6bb0 100644 --- a/client/src/pages/filaments/create.tsx +++ b/client/src/pages/filaments/create.tsx @@ -1,7 +1,7 @@ import React from "react"; import { IResourceComponentsProps, useTranslate } from "@refinedev/core"; import { Create, useForm, useSelect } from "@refinedev/antd"; -import { Form, Input, Select, InputNumber, ColorPicker } from "antd"; +import { Form, Input, Select, InputNumber, ColorPicker, Button } from "antd"; import TextArea from "antd/es/input/TextArea"; import { numberFormatter, numberParser } from "../../utils/parsing"; import { IVendor } from "../vendors/model"; @@ -14,7 +14,7 @@ interface CreateOrCloneProps { export const FilamentCreate: React.FC = (props) => { const t = useTranslate(); - const { formProps, saveButtonProps, formLoading } = useForm(); + const { form, formProps, saveButtonProps, formLoading, onFinish, redirect } = useForm(); if (props.mode === "clone" && formProps.initialValues) { // Fix the vendor_id @@ -23,6 +23,12 @@ export const FilamentCreate: React.FC { + let values = await form.validateFields(); + await onFinish(values); + redirect(redirectTo, (values as IFilament).id); + } + const { selectProps } = useSelect({ resource: "vendor", optionLabel: "name", @@ -32,7 +38,12 @@ export const FilamentCreate: React.FC ( + <> + + + + )} >
= (props) => { const t = useTranslate(); - const { formProps, saveButtonProps, formLoading } = useForm(); + const { form, formProps, saveButtonProps, formLoading, onFinish, redirect } = useForm(); + + const handleSubmit = async (redirectTo: "list" | "edit" | "create") => { + let values = await form.validateFields(); + await onFinish(values); + redirect(redirectTo, (values as IVendor).id); + } return ( ( + <> + + + + )} >