Client: Added clone button for vendors
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
16
client/src/pages/vendors/create.tsx
vendored
16
client/src/pages/vendors/create.tsx
vendored
@@ -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"
|
||||||
|
|||||||
21
client/src/pages/vendors/list.tsx
vendored
21
client/src/pages/vendors/list.tsx
vendored
@@ -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>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user