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 => { // 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 }