parts added update remove

This commit is contained in:
Berkay 2025-12-02 17:38:31 +03:00
parent 5bb6021102
commit 56b42bb906
4 changed files with 5 additions and 19 deletions

View File

@ -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>
);

View File

@ -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) },
})

View File

@ -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 (

View File

@ -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 (