diff --git a/client/src/components/Settings/Dhcp/StaticLeases/Form.tsx b/client/src/components/Settings/Dhcp/StaticLeases/Form.tsx index a57f3371..28ab7241 100644 --- a/client/src/components/Settings/Dhcp/StaticLeases/Form.tsx +++ b/client/src/components/Settings/Dhcp/StaticLeases/Form.tsx @@ -1,10 +1,9 @@ import React from 'react'; - -import { Field, reduxForm } from 'redux-form'; +import { useForm, Controller } from 'react-hook-form'; import { Trans, useTranslation } from 'react-i18next'; import { useDispatch, useSelector, shallowEqual } from 'react-redux'; -import { renderInputField, normalizeMac } from '../../../../helpers/form'; +import { normalizeMac } from '../../../../helpers/form'; import { validateIpv4, validateMac, @@ -12,12 +11,11 @@ import { validateIpv4InCidr, validateIpGateway, } from '../../../../helpers/validators'; -import { FORM_NAME } from '../../../../helpers/constants'; import { toggleLeaseModal } from '../../../../actions'; import { RootState } from '../../../../initialState'; -interface FormStaticLeaseProps { +type Props = { initialValues?: { mac?: string; ip?: string; @@ -25,63 +23,80 @@ interface FormStaticLeaseProps { cidr?: string; gatewayIp?: string; }; - pristine: boolean; - handleSubmit: (...args: unknown[]) => string; - reset: () => void; - submitting: boolean; processingAdding?: boolean; cidr?: string; isEdit?: boolean; + onSubmit: (data: any) => void; } -const Form = ({ handleSubmit, reset, pristine, submitting, processingAdding, cidr, isEdit }: FormStaticLeaseProps) => { +export const Form = ({ initialValues, processingAdding, cidr, isEdit, onSubmit }: Props) => { const { t } = useTranslation(); const dispatch = useDispatch(); - const dynamicLease = useSelector((store: RootState) => store.dhcp.leaseModalConfig, shallowEqual); + const { handleSubmit, control, reset, formState: { isSubmitting, isDirty } } = useForm({ + defaultValues: initialValues, + }); + const onClick = () => { reset(); dispatch(toggleLeaseModal()); }; return ( -
); }; - -export default reduxForm< - Record