fixed: edit customer company not appearing
This commit is contained in:
@@ -17,7 +17,7 @@ interface IProps {
|
||||
}
|
||||
|
||||
const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
|
||||
const { errors, handleSubmit, register, onSubmit, companies, router } =
|
||||
const { errors, handleSubmit, register, watch, onSubmit, companies, router } =
|
||||
useCreateCustomerPresenter({ defaultValues, editMode, id });
|
||||
|
||||
return (
|
||||
@@ -54,6 +54,7 @@ const CreateCustomer = ({ defaultValues, editMode, id }: IProps) => {
|
||||
<div className="flex flex-col gap-2">
|
||||
<MultiSelect
|
||||
label="Select companies"
|
||||
value={watch("companies")}
|
||||
items={
|
||||
companies
|
||||
? companies?.map((item) => ({
|
||||
|
||||
@@ -7,6 +7,7 @@ import {
|
||||
} from "@/hooks/queries";
|
||||
import { CreateCustomerCredentials } from "@/lib/api";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { useEffect } from "react";
|
||||
import { SubmitHandler, useForm } from "react-hook-form";
|
||||
|
||||
interface IProps {
|
||||
@@ -24,6 +25,8 @@ const useCreateCustomerPresenter = ({
|
||||
register,
|
||||
handleSubmit,
|
||||
formState: { errors },
|
||||
setValue,
|
||||
watch,
|
||||
} = useForm<CreateCustomerCredentials>({
|
||||
mode: "onChange",
|
||||
defaultValues,
|
||||
@@ -34,6 +37,14 @@ const useCreateCustomerPresenter = ({
|
||||
id as string,
|
||||
);
|
||||
const { data: companies } = useCompanyFullList();
|
||||
useEffect(() => {
|
||||
if (defaultValues) {
|
||||
const companies = defaultValues?.companies?.map(
|
||||
(company: any) => company.id,
|
||||
);
|
||||
setValue("companies", companies);
|
||||
}
|
||||
}, [defaultValues]);
|
||||
const onSubmit: SubmitHandler<CreateCustomerCredentials> = (data) => {
|
||||
if (editMode) {
|
||||
updateCustomer({
|
||||
@@ -41,7 +52,6 @@ const useCreateCustomerPresenter = ({
|
||||
credentials: data,
|
||||
});
|
||||
} else {
|
||||
|
||||
createCustomer({
|
||||
...data,
|
||||
employee_count: data.employee_count ? +data.employee_count : undefined,
|
||||
@@ -52,6 +62,7 @@ const useCreateCustomerPresenter = ({
|
||||
};
|
||||
return {
|
||||
handleSubmit,
|
||||
watch,
|
||||
register,
|
||||
errors,
|
||||
onSubmit,
|
||||
|
||||
Reference in New Issue
Block a user