import { UnitKerjaCreate, UnitKerjaUpdate } from '@/services/referensi/unitKerja-service' import { useFormik } from 'formik' import { Button } from 'primereact/button' import { Dialog } from 'primereact/dialog' import { InputText } from 'primereact/inputtext' export default function FormUnitKerja({ dialogForm, setDialogForm, dataEdit, setDataEdit, refresh, toast }) { const formik = useFormik({ initialValues: { ref_id: dataEdit.ref_id || '', unit_id: dataEdit.unit_id || '', nama: dataEdit.nama || '', bobot: dataEdit.bobot || '', }, validate: (data) => { let errors = {} if (!data.unit_id) errors.unit_id = 'Kode Unit is required.' if (!data.nama) errors.nama = 'Nama is required.' if (!data.bobot) errors.bobot = 'Bobot is required.' return errors }, onSubmit: (data) => { if (data.ref_id) { UnitKerjaUpdate(data).then((res) => { if (res.status === 'success') { refresh(Math.random) formik.resetForm() setDataEdit([]) setDialogForm(false) toast.current.show({ severity: 'success', detail: res.message, closable: false, }) } else { setDialogForm(false) toast.current.show({ severity: 'error', detail: res.message, closable: false, }) } }) } else { UnitKerjaCreate(data).then((res) => { if (res.status === 'success') { refresh(Math.random) formik.resetForm() setDataEdit([]) setDialogForm(false) toast.current.show({ severity: 'success', detail: res.message, closable: false, }) } else { setDialogForm(false) toast.current.show({ severity: 'error', detail: res.message, closable: false, }) } }) } }, }) const isFieldValid = (field) => !!(formik.errors[field] && formik.touched[field]) const errorFieldMessage = (field) => { return ( isFieldValid(field) && ( {formik.errors[field]} ) ) } const dialogFooter = (