This commit is contained in:
hamid zarghami
2026-02-22 12:03:32 +03:30
parent e6e1878cb2
commit 11f8f4326b
19 changed files with 64 additions and 62 deletions
+3 -3
View File
@@ -11,10 +11,10 @@ import { extractErrorMessage } from '@/config/func'
const FormBuilderValues: FC = () => {
const { id } = useParams()
const { data, refetch } = useGetFieldValues(Number(id))
const { data, refetch } = useGetFieldValues(id!)
const { mutate: deleteValue, isPending } = useDeleteFieldValue()
const handleDelete = (id: number) => {
const handleDelete = (id: string) => {
deleteValue(id, {
onSuccess: () => {
refetch()
@@ -31,7 +31,7 @@ const FormBuilderValues: FC = () => {
<h1 className='text-lg font-light'>مقادیر</h1>
<CreateValue
id={Number(id)}
id={id!}
refetch={refetch}
/>
</div>
+1 -1
View File
@@ -33,7 +33,7 @@ const FormBuilderCreate: FC = () => {
name: Yup.string().required('این فیلد اجباری می باشد')
}),
onSubmit: (values) => {
createField({ id: Number(id), params: values }, {
createField({ id: id!, params: values }, {
onSuccess: () => {
toast.success('با موفقیت ذخیره شد')
navigate(Paths.formBuilder.list + `${id}/${type} `)
+2 -2
View File
@@ -13,9 +13,9 @@ const FormBuilderList: FC = () => {
const { id, type } = useParams()
const { mutate: deleteField, isPending } = useDeleteField()
const { data, refetch } = useGetFields(Number(id))
const { data, refetch } = useGetFields(id ?? '')
const handleDelete = (id: number) => {
const handleDelete = (id: string) => {
deleteField(id, {
onSuccess: () => {
refetch()
+2 -2
View File
@@ -17,7 +17,7 @@ const FormBuilderUpdate: FC = () => {
const { id } = useParams()
const navigate = useNavigate()
const { data, refetch } = useGetFieldDetail(Number(id))
const { data, refetch } = useGetFieldDetail(id!)
const { mutate: createField, isPending } = useUpdateField()
const formik = useFormik<CreateFieldType>({
@@ -33,7 +33,7 @@ const FormBuilderUpdate: FC = () => {
name: Yup.string().required('این فیلد اجباری می باشد')
}),
onSubmit: (values) => {
createField({ id: Number(id), params: values }, {
createField({ id: id!, params: values }, {
onSuccess: () => {
toast.success('با موفقیت ذخیره شد')
refetch()
@@ -11,7 +11,7 @@ import { extractErrorMessage } from '@/config/func'
import { toast } from 'react-toastify'
type Props = {
id: number,
id: string,
refetch: () => void,
}
@@ -11,7 +11,7 @@ import { extractErrorMessage } from '@/config/func'
import { toast } from 'react-toastify'
type Props = {
id: number,
id: string,
refetch: () => void,
}
@@ -6,7 +6,7 @@ export const useCreateField = () => {
const queryClient = new QueryClient();
return useMutation({
mutationFn: ({ id, params }: { id: number; params: CreateFieldType }) =>
mutationFn: ({ id, params }: { id: string; params: CreateFieldType }) =>
api.createField(id, params),
onSuccess: (_, params) => {
queryClient.refetchQueries({
@@ -16,7 +16,7 @@ export const useCreateField = () => {
});
};
export const useGetFields = (id: number) => {
export const useGetFields = (id: string) => {
return useQuery({
queryKey: ["product-Fields", id],
queryFn: () => api.getFields(id),
@@ -24,7 +24,7 @@ export const useGetFields = (id: number) => {
});
};
export const useGetFieldDetail = (id: number) => {
export const useGetFieldDetail = (id: string) => {
return useQuery({
queryKey: ["product-Field", id],
queryFn: () => api.getFieldDetail(id),
@@ -35,7 +35,7 @@ export const useGetFieldDetail = (id: number) => {
export const useUpdateField = () => {
const queryClient = new QueryClient();
return useMutation({
mutationFn: ({ id, params }: { id: number; params: CreateFieldType }) =>
mutationFn: ({ id, params }: { id: string; params: CreateFieldType }) =>
api.updateField(id, params),
onSuccess: () => {
queryClient.invalidateQueries({
@@ -47,11 +47,11 @@ export const useUpdateField = () => {
export const useDeleteField = () => {
return useMutation({
mutationFn: (id: number) => api.deleteFields(id),
mutationFn: (id: string) => api.deleteFields(id),
});
};
export const useGetFieldValues = (id: number) => {
export const useGetFieldValues = (id: string) => {
return useQuery({
queryKey: ["attrbute-values", id],
queryFn: () => api.getFieldValues(id),
@@ -65,7 +65,7 @@ export const useCreateFieldValue = () => {
id,
params,
}: {
id: number;
id: string;
params: CreateFieldValueType;
}) => api.createFieldValues(id, params),
});
@@ -77,13 +77,13 @@ export const useUpdateFieldValue = () => {
id,
params,
}: {
id: number;
id: string;
params: CreateFieldValueType;
}) => api.updateFieldValues(id, params),
});
};
export const useGetFieldValueDetail = (id: number, enabled: boolean) => {
export const useGetFieldValueDetail = (id: string, enabled: boolean) => {
return useQuery({
queryKey: ["attrbute-values-detail", id],
queryFn: () => api.getFieldValueDetail(id),
@@ -93,11 +93,11 @@ export const useGetFieldValueDetail = (id: number, enabled: boolean) => {
export const useDeleteFieldValue = () => {
return useMutation({
mutationFn: (id: number) => api.deleteFieldValue(id),
mutationFn: (id: string) => api.deleteFieldValue(id),
});
};
export const useGetEntityField = (entityId: number) => {
export const useGetEntityField = (entityId: string) => {
return useQuery({
queryKey: ["entity-field", entityId],
queryFn: () => api.getEntityField(entityId),
@@ -9,76 +9,76 @@ import type {
GetEnitityFieldResponseType,
} from "../types/Types";
export const createField = async (id: number, params: CreateFieldType) => {
export const createField = async (id: string, params: CreateFieldType) => {
const { data } = await axios.post(`/admin/entity/${id}/field`, params);
return data;
};
export const getFields = async (id: number) => {
export const getFields = async (id: string) => {
const { data } = await axios.get<FieldResponseType>(
`/admin/entity/${id}/field`
`/admin/entity/${id}/field`,
);
return data;
};
export const getFieldDetail = async (id: number) => {
export const getFieldDetail = async (id: string) => {
const { data } = await axios.get<FieldDetailResponseType>(
`/admin/entity/field/${id}`
`/admin/entity/field/${id}`,
);
return data;
};
export const updateField = async (id: number, params: CreateFieldType) => {
export const updateField = async (id: string, params: CreateFieldType) => {
const { data } = await axios.patch(`/admin/entity/field/${id}`, params);
return data;
};
export const deleteFields = async (id: number) => {
export const deleteFields = async (id: string) => {
const { data } = await axios.delete(`/admin/entity/field/${id}`);
return data;
};
export const getFieldValues = async (id: number) => {
export const getFieldValues = async (id: string) => {
const { data } = await axios.get<FieldValuesResponseType>(
`/admin/entity/field/${id}/option`
`/admin/entity/field/${id}/option`,
);
return data;
};
export const createFieldValues = async (
id: number,
params: CreateFieldValueType
id: string,
params: CreateFieldValueType,
) => {
const { data } = await axios.post(`/admin/entity/field/${id}/option`, params);
return data;
};
export const updateFieldValues = async (
id: number,
params: CreateFieldValueType
id: string,
params: CreateFieldValueType,
) => {
const { data } = await axios.patch(
`/admin/entity/field/option/${id}`,
params
params,
);
return data;
};
export const getFieldValueDetail = async (id: number) => {
export const getFieldValueDetail = async (id: string) => {
const { data } = await axios.get<FieldValueDetailResponseType>(
`/admin/entity/field/option/${id}`
`/admin/entity/field/option/${id}`,
);
return data;
};
export const deleteFieldValue = async (id: number) => {
export const deleteFieldValue = async (id: string) => {
const { data } = await axios.delete(`/admin/entity/field/option/${id}`);
return data;
};
export const getEntityField = async (entityId: number) => {
export const getEntityField = async (entityId: string) => {
const { data } = await axios.get<GetEnitityFieldResponseType>(
`/admin/entity/${entityId}/field`
`/admin/entity/${entityId}/field`,
);
return data;
};
+3 -3
View File
@@ -13,11 +13,11 @@ export type CreateFieldType = {
export interface FieldType extends RowDataType {
createdAt: string,
id: number,
id: string,
isRequired: boolean,
name: string,
order: number,
product: number,
product: string,
type: FieldTypeEnum,
multiple: boolean,
entityType:string, // 'product' | 'print'
@@ -33,7 +33,7 @@ export type CreateFieldValueType = {
export type FieldValueType = {
createdAt: string,
id: number,
id: string,
order: number,
value: string,
}