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