From a61c99b93d9b6f005347dc462b4b008bd0f9814f Mon Sep 17 00:00:00 2001 From: Connor Cleveland Date: Thu, 26 Oct 2023 16:14:24 -0500 Subject: [PATCH] Add SaveAndAdd footer buttons to keep create consistent --- client/src/pages/filaments/create.tsx | 17 ++++++++++++++--- client/src/pages/vendors/create.tsx | 17 ++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) 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 ( ( + <> + + + + )} >