parts added update remove
This commit is contained in:
parent
5bb6021102
commit
56b42bb906
|
|
@ -11,7 +11,6 @@ import { useAddBuildAreasMutation } from "./queries"
|
|||
import { Checkbox } from "@/components/ui/checkbox"
|
||||
|
||||
const BuildPartsForm = ({ refetchTable, selectedBuildId }: { refetchTable: () => void, selectedBuildId: string }) => {
|
||||
|
||||
const form = useForm<BuildPartsAdd>({
|
||||
resolver: zodResolver(buildPartsAddSchema),
|
||||
defaultValues: {
|
||||
|
|
@ -19,13 +18,9 @@ const BuildPartsForm = ({ refetchTable, selectedBuildId }: { refetchTable: () =>
|
|||
directionId: "", typeId: "", active: false, isConfirmed: false, expiryStarts: "", expiryEnds: "",
|
||||
},
|
||||
});
|
||||
|
||||
const { handleSubmit } = form;
|
||||
|
||||
const mutation = useAddBuildAreasMutation();
|
||||
|
||||
function onSubmit(values: BuildPartsAdd) { mutation.mutate({ data: values, buildId: selectedBuildId }); setTimeout(() => refetchTable(), 400) };
|
||||
|
||||
function onSubmit(values: BuildPartsAdd) { mutation.mutate({ data: values, buildId: selectedBuildId, refetchTable }) };
|
||||
return (
|
||||
<Form {...form}>
|
||||
<form
|
||||
|
|
@ -34,7 +29,6 @@ const BuildPartsForm = ({ refetchTable, selectedBuildId }: { refetchTable: () =>
|
|||
>
|
||||
{/* ROW 1 */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="addressGovCode"
|
||||
|
|
@ -245,7 +239,6 @@ const BuildPartsForm = ({ refetchTable, selectedBuildId }: { refetchTable: () =>
|
|||
</FormItem>
|
||||
)}
|
||||
/>
|
||||
|
||||
<FormField
|
||||
control={form.control}
|
||||
name="isConfirmed"
|
||||
|
|
@ -265,7 +258,6 @@ const BuildPartsForm = ({ refetchTable, selectedBuildId }: { refetchTable: () =>
|
|||
)}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<Separator />
|
||||
{/* EXPIRY DATES */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
|
|
@ -297,7 +289,7 @@ const BuildPartsForm = ({ refetchTable, selectedBuildId }: { refetchTable: () =>
|
|||
)}
|
||||
/>
|
||||
</div>
|
||||
<Button type="submit" className="w-full">Add Build Address</Button>
|
||||
<Button type="submit" className="w-full">Add Build Parts</Button>
|
||||
</form>
|
||||
</Form>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -3,21 +3,21 @@ import { useMutation } from '@tanstack/react-query'
|
|||
import { toISOIfNotZ } from '@/lib/utils';
|
||||
import { BuildPartsAdd } from './schema';
|
||||
|
||||
const fetchGraphQlBuildSitesAdd = async (record: BuildPartsAdd, buildId: string): Promise<{ data: BuildPartsAdd | null; status: number }> => {
|
||||
const fetchGraphQlBuildSitesAdd = async (record: BuildPartsAdd, buildId: string, refetchTable: () => void): Promise<{ data: BuildPartsAdd | null; status: number }> => {
|
||||
console.log('Fetching test data from local API');
|
||||
record.expiryStarts = record.expiryStarts ? toISOIfNotZ(record.expiryStarts) : undefined;
|
||||
record.expiryEnds = record.expiryEnds ? toISOIfNotZ(record.expiryEnds) : undefined;
|
||||
try {
|
||||
const res = await fetch('/api/builds-parts/add', { method: 'POST', cache: 'no-store', credentials: "include", body: JSON.stringify({ data: record, buildId }) });
|
||||
if (!res.ok) { const errorText = await res.text(); console.error('Test data API error:', errorText); throw new Error(`API error: ${res.status} ${res.statusText}`) }
|
||||
const data = await res.json();
|
||||
const data = await res.json(); refetchTable();
|
||||
return { data: data.data, status: res.status }
|
||||
} catch (error) { console.error('Error fetching test data:', error); throw error }
|
||||
};
|
||||
|
||||
export function useAddBuildAreasMutation() {
|
||||
return useMutation({
|
||||
mutationFn: ({ data, buildId }: { data: BuildPartsAdd, buildId: string }) => fetchGraphQlBuildSitesAdd(data, buildId),
|
||||
mutationFn: ({ data, buildId, refetchTable }: { data: BuildPartsAdd, buildId: string, refetchTable: () => void }) => fetchGraphQlBuildSitesAdd(data, buildId, refetchTable),
|
||||
onSuccess: () => { console.log("Build areas created successfully") },
|
||||
onError: (error) => { console.error("Add build areas failed:", error) },
|
||||
})
|
||||
|
|
|
|||
|
|
@ -15,11 +15,8 @@ const BuildPartsForm = ({ refetchTable, initData, selectedUuid, buildId }: { ref
|
|||
const form = useForm<BuildPartsUpdate>({
|
||||
resolver: zodResolver(buildPartsUpdateSchema), defaultValues: { ...initData, directionId: initData.directionId ?? '', typeId: initData.typeId ?? '' }
|
||||
})
|
||||
|
||||
const { handleSubmit } = form
|
||||
|
||||
const mutation = useUpdateBuildPartsMutation();
|
||||
|
||||
function onSubmit(values: BuildPartsUpdate) { mutation.mutate({ data: values as any || initData, uuid: selectedUuid, buildId, refetchTable }) }
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -39,12 +39,9 @@ const BuildsForm = ({ refetchTable }: { refetchTable: () => void }) => {
|
|||
},
|
||||
});
|
||||
const [buildTypesID, setBuildTypesID] = useState('');
|
||||
|
||||
useEffect(() => { form.setValue("buildType", buildTypesID) }, [buildTypesID]);
|
||||
|
||||
const { handleSubmit } = form;
|
||||
const mutation = useAddBuildMutation();
|
||||
|
||||
function onSubmit(values: BuildAdd) { mutation.mutate({ data: values }); setTimeout(() => refetchTable(), 400) };
|
||||
|
||||
return (
|
||||
|
|
|
|||
Loading…
Reference in New Issue