hijabi-dashboard/src/Pages/Categories/formUtil.ts
KarimAldeen 4edad39749 Done
2024-02-26 09:07:16 +03:00

82 lines
1.8 KiB
TypeScript

import * as Yup from "yup";
import { buildFormData } from "../../api/helper/buildFormData";
interface formUtilCommon {
number: number,
value: number
}
interface ObjectToEdit extends formUtilCommon {
id?: number,
}
interface InitialValues extends ObjectToEdit {
}
interface ValidateSchema extends formUtilCommon {
}
export const getInitialValues = (objectToEdit: any | null = null): any => {
return {
id: objectToEdit?.id ?? 0,
name: objectToEdit?.name ?? "",
name_ar: objectToEdit?.name?.ar ?? '',
name_en: objectToEdit?.name?.en ?? '',
name_de: objectToEdit?.name?.de ?? '',
parent_id: objectToEdit?.parent_id ?? "",
photo: objectToEdit?.photo ?? '',
attribute: objectToEdit?.attribute ?? "",
new_attribute: objectToEdit?.attribute ?? ""
};
};
export const getInitialValuesForAdd = (objectToEdit: any | null = null): any => {
return {
name_ar: '',
name_en: '',
name_de: '',
parent_id: "",
photo: '',
attribute: "",
new_attribute: ""
};
};
export const getValidationSchema = (editMode: boolean = false): Yup.Schema<any> => {
// Validate input
return Yup.object().shape({
name_ar: Yup.string().required('Required'),
name_en: Yup.string().required('Required'),
name_de: Yup.string().required('Required'),
parent_id: Yup.string().required('Required'),
photo: Yup.string().required('Required'),
});
};
export const getDataToSend = (values: any): FormData => {
const data = { ...values };
const formData = new FormData();
buildFormData(formData, data);
return formData;
};
export const ChangeDataToPrint = (data: any) => {
let new_array = data
for (let i = 0; i < data.length; i++) {
new_array[i]['status'] = !data[i]['deleted_at'] ? 'available' : 'unavailable'
delete new_array[i]['deleted_at']
}
return new_array
}