1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-02-20 14:54:15 +01:00

(bug) unable to set product main image

This commit is contained in:
Sylvain 2022-12-27 14:59:24 +01:00
parent e020c592ec
commit b9965e54e7
3 changed files with 14 additions and 11 deletions

View File

@ -22,7 +22,7 @@ interface FormImageUploadProps<TFieldValues, TContext extends object> extends Fo
mainOption?: boolean,
onFileChange?: (value: ImageType) => void,
onFileRemove?: () => void,
onFileIsMain?: (setIsMain: () => void) => void,
onFileIsMain?: (setIsMain: (isMain: boolean) => void) => void,
}
/**
@ -108,7 +108,7 @@ export const FormImageUpload = <TFieldValues extends FieldValues, TContext exten
render={({ field: { onChange, value } }) =>
<input id={`${id}.is_main`}
type="radio"
checked={value}
checked={value || false}
onChange={() => { onFileIsMain(onChange); }} />
} />
</label>

View File

@ -28,7 +28,7 @@ export const FormMultiImageUpload = <TFieldValues extends FieldValues, TContext
*/
const addImage = () => {
append({
is_main: output.filter(i => i.is_main).length === 0,
is_main: output.filter((i: ImageType) => i.is_main).length === 0,
_destroy: false
} as UnpackNestedValue<FieldArray<TFieldValues, ArrayPath<TFieldValues>>>);
};
@ -55,8 +55,8 @@ export const FormMultiImageUpload = <TFieldValues extends FieldValues, TContext
* Set the image at the given index as the new main image, and unset the current main image
*/
const handleSetMainImage = (index: number) => {
return (setNewImageValue) => {
const mainImageIndex = output.findIndex(i => i.is_main && i !== index);
return (setNewImageValue: (isMain: boolean) => void) => {
const mainImageIndex = output.findIndex((i: ImageType, idx) => i.is_main && idx !== index);
if (mainImageIndex > -1) {
setValue(
`${id}.${mainImageIndex}.is_main` as Path<TFieldValues>,

View File

@ -32,16 +32,19 @@ export default class ApiLib {
if (file?._destroy) {
data.set(`${name}[${attr}][${i}][_destroy]`, file._destroy.toString());
}
if (file?.is_main) {
data.set(`${name}[${attr}][${i}][is_main]`, file.is_main.toString());
}
});
} else {
if (object[attr]?.attachment_files && object[attr]?.attachment_files[0]) {
data.set(`${name}[${attr}][attachment]`, object[attr]?.attachment_files[0]);
if (object[attr].id) {
data.set(`${name}[${attr}][id]`, object[attr].id.toString());
}
if (object[attr]._destroy) {
data.set(`${name}[${attr}][_destroy]`, object[attr]._destroy.toString());
}
}
if (object[attr]?.id) {
data.set(`${name}[${attr}][id]`, object[attr].id.toString());
}
if (object[attr]?._destroy) {
data.set(`${name}[${attr}][_destroy]`, object[attr]._destroy.toString());
}
}
});