Client: Added clone button for vendors

This commit is contained in:
Donkie
2023-06-25 18:10:58 +02:00
parent e24834f161
commit 8c6675beb0
3 changed files with 41 additions and 6 deletions

View File

@@ -106,6 +106,7 @@ function App() {
name: "vendor", name: "vendor",
list: "/vendor", list: "/vendor",
create: "/vendor/create", create: "/vendor/create",
clone: "/vendor/clone/:id",
edit: "/vendor/edit/:id", edit: "/vendor/edit/:id",
show: "/vendor/show/:id", show: "/vendor/show/:id",
meta: { meta: {
@@ -173,7 +174,14 @@ function App() {
</Route> </Route>
<Route path="/vendor"> <Route path="/vendor">
<Route index element={<VendorList />} /> <Route index element={<VendorList />} />
<Route path="create" element={<VendorCreate />} /> <Route
path="create"
element={<VendorCreate mode="create" />}
/>
<Route
path="clone/:id"
element={<VendorCreate mode="clone" />}
/>
<Route path="edit/:id" element={<VendorEdit />} /> <Route path="edit/:id" element={<VendorEdit />} />
<Route path="show/:id" element={<VendorShow />} /> <Route path="show/:id" element={<VendorShow />} />
</Route> </Route>

View File

@@ -4,11 +4,21 @@ import { Create, useForm } from "@refinedev/antd";
import { Form, Input } from "antd"; import { Form, Input } from "antd";
import TextArea from "antd/es/input/TextArea"; import TextArea from "antd/es/input/TextArea";
export const VendorCreate: React.FC<IResourceComponentsProps> = () => { interface CreateOrCloneProps {
const { formProps, saveButtonProps } = useForm(); mode: "create" | "clone";
}
export const VendorCreate: React.FC<
IResourceComponentsProps & CreateOrCloneProps
> = (props) => {
const { formProps, saveButtonProps, formLoading } = useForm();
return ( return (
<Create saveButtonProps={saveButtonProps}> <Create
title={props.mode === "create" ? "Create Vendor" : "Clone Vendor"}
isLoading={formLoading}
saveButtonProps={saveButtonProps}
>
<Form {...formProps} layout="vertical"> <Form {...formProps} layout="vertical">
<Form.Item <Form.Item
label="Name" label="Name"

View File

@@ -6,6 +6,7 @@ import {
EditButton, EditButton,
ShowButton, ShowButton,
DateField, DateField,
CloneButton,
} from "@refinedev/antd"; } from "@refinedev/antd";
import { Table, Space } from "antd"; import { Table, Space } from "antd";
import dayjs from "dayjs"; import dayjs from "dayjs";
@@ -40,8 +41,24 @@ export const VendorList: React.FC<IResourceComponentsProps> = () => {
dataIndex="actions" dataIndex="actions"
render={(_, record: BaseRecord) => ( render={(_, record: BaseRecord) => (
<Space> <Space>
<EditButton hideText size="small" recordItemId={record.id} /> <EditButton
<ShowButton hideText size="small" recordItemId={record.id} /> hideText
title="Edit"
size="small"
recordItemId={record.id}
/>
<ShowButton
hideText
title="Show"
size="small"
recordItemId={record.id}
/>
<CloneButton
hideText
title="Clone"
size="small"
recordItemId={record.id}
/>
</Space> </Space>
)} )}
/> />