"use client" import { useForm } from "react-hook-form" import { zodResolver } from "@hookform/resolvers/zod" import { Form, FormField, FormItem, FormLabel, FormControl, FormMessage } from "@/components/ui/form" import { Input } from "@/components/ui/input" import { Button } from "@/components/ui/button" import { Separator } from "@/components/ui/separator" import { DateTimePicker } from "@/components/ui/date-time-picker" import { BuildUpdate, buildUpdateSchema } from "@/pages/builds/update/schema" import { useUpdateBuildMutation } from "./queries" import { Checkbox } from "@/components/ui/checkbox" import { PageBuildSelectionBuildTypes } from "../selections/build-types/page" import { useState, useEffect } from "react" const BuildupdateForm = ({ refetchTable, initData, selectedUuid, buildID }: { refetchTable: () => void, initData: BuildUpdate, selectedUuid: string, buildID: string }) => { const [buildTypesID, setBuildTypesID] = useState(buildID) const form = useForm({ resolver: zodResolver(buildUpdateSchema), defaultValues: { ...initData } }) const { handleSubmit } = form const mutation = useUpdateBuildMutation(); useEffect(() => { form.setValue("buildType", buildID) }, []) useEffect(() => { form.setValue("buildType", buildTypesID) }, [buildTypesID]) function onSubmit(values: BuildUpdate) { mutation.mutate({ data: values as any, uuid: selectedUuid, refetchTable }) } return (
{/* ROW 1 */}
( Gov Address Code )} /> ( Build Name )} /> ( Build No )} />
( Max Floor { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue) } }} /> )} /> ( Underground Floor { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue) } }} /> )} />
( Tax No )} /> ( Lift Count { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue); } }} /> )} />
(
Heating System
)} /> (
Cooling System
)} /> (
Hot Water System
)} />
( Build Date )} /> ( Decision Period Date )} />
( Block Service Man Count { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue); } }} /> )} /> ( Security Service Man Count { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue); } }} /> )} /> ( Total Garage Count In Numbers { field.onBlur(); const numValue = parseFloat(e.target.value); if (!isNaN(numValue)) { field.onChange(numValue); } }} /> )} /> ( Management Room ID Assign )} />
{buildTypesID && }
); } export { BuildupdateForm }