diff --git a/client/src/App.tsx b/client/src/App.tsx
index da011ab..18cd939 100644
--- a/client/src/App.tsx
+++ b/client/src/App.tsx
@@ -94,6 +94,7 @@ function App() {
name: "filament",
list: "/filament",
create: "/filament/create",
+ clone: "/filament/clone/:id",
edit: "/filament/edit/:id",
show: "/filament/show/:id",
meta: {
@@ -159,7 +160,14 @@ function App() {
} />
- } />
+ }
+ />
+ }
+ />
} />
} />
diff --git a/client/src/pages/filaments/create.tsx b/client/src/pages/filaments/create.tsx
index c1b7d58..842f3a3 100644
--- a/client/src/pages/filaments/create.tsx
+++ b/client/src/pages/filaments/create.tsx
@@ -5,8 +5,19 @@ import { Form, Input, Select, InputNumber, ColorPicker } from "antd";
import TextArea from "antd/es/input/TextArea";
import { IVendor } from "../vendors/model";
-export const FilamentCreate: React.FC = () => {
- const { formProps, saveButtonProps } = useForm();
+interface CreateOrCloneProps {
+ mode: "create" | "clone";
+}
+
+export const FilamentCreate: React.FC<
+ IResourceComponentsProps & CreateOrCloneProps
+> = (props) => {
+ const { formProps, saveButtonProps, formLoading } = useForm();
+
+ if (props.mode === "clone" && formProps.initialValues) {
+ // Fix the filament_id
+ formProps.initialValues.vendor_id = formProps.initialValues.vendor.id;
+ }
const { selectProps } = useSelect({
resource: "vendor",
@@ -14,7 +25,11 @@ export const FilamentCreate: React.FC = () => {
});
return (
-
+
= () => {
dataIndex="actions"
render={(_, record: BaseRecord) => (
-
-
+
+
+
)}
/>
diff --git a/client/src/pages/spools/create.tsx b/client/src/pages/spools/create.tsx
index 1e7d5a1..f3c7224 100644
--- a/client/src/pages/spools/create.tsx
+++ b/client/src/pages/spools/create.tsx
@@ -12,7 +12,7 @@ interface CreateOrCloneProps {
export const SpoolCreate: React.FC<
IResourceComponentsProps & CreateOrCloneProps
-> = (props: IResourceComponentsProps & CreateOrCloneProps) => {
+> = (props) => {
const { formProps, saveButtonProps, formLoading } = useForm();
if (props.mode === "clone" && formProps.initialValues) {
diff --git a/client/src/pages/spools/list.tsx b/client/src/pages/spools/list.tsx
index d9c742c..9cc622d 100644
--- a/client/src/pages/spools/list.tsx
+++ b/client/src/pages/spools/list.tsx
@@ -99,9 +99,24 @@ export const SpoolList: React.FC = () => {
dataIndex="actions"
render={(_, record: BaseRecord) => (
-
-
-
+
+
+
)}
/>