From de4ab08cd59c05a0bae8527dad9fc6f883a9bb7c Mon Sep 17 00:00:00 2001 From: Amin Ghasempoor Date: Tue, 18 Jul 2023 15:15:52 +0330 Subject: [PATCH] transportation assistance implement --- .../Form/ConfirmForm.jsx | 10 +--- .../Form/RejectForm.jsx | 50 +++++++++++++++++-- .../TableRowActions.jsx | 39 ++++++++------- src/core/data/apiRoutes.js | 6 +-- 4 files changed, 72 insertions(+), 33 deletions(-) diff --git a/src/components/dashboard/transportation-assistance/Form/ConfirmForm.jsx b/src/components/dashboard/transportation-assistance/Form/ConfirmForm.jsx index 132b850..c09af5d 100644 --- a/src/components/dashboard/transportation-assistance/Form/ConfirmForm.jsx +++ b/src/components/dashboard/transportation-assistance/Form/ConfirmForm.jsx @@ -9,16 +9,10 @@ import { } from "@mui/material"; import { useTranslations } from "next-intl"; -const ConfirmForm = ({ - open, - handleClose, - handleDelete, - rowId, - confirmData, -}) => { +const ConfirmForm = ({ open, handleClose, rowId, confirmData }) => { const t = useTranslations(); const handleConfirm = () => { - handleDelete(); + handleClose(); confirmData(CONFIRM_TRANSPORTATION_ASSISTANCE, rowId); }; return ( diff --git a/src/components/dashboard/transportation-assistance/Form/RejectForm.jsx b/src/components/dashboard/transportation-assistance/Form/RejectForm.jsx index 5abd534..262f9db 100644 --- a/src/components/dashboard/transportation-assistance/Form/RejectForm.jsx +++ b/src/components/dashboard/transportation-assistance/Form/RejectForm.jsx @@ -6,23 +6,63 @@ import { DialogContentText, DialogActions, Button, + TextField, } from "@mui/material"; import { useTranslations } from "next-intl"; +import { useFormik } from "formik"; +import * as Yup from "yup"; +import { useState } from "react"; -const RejectForm = ({ open, handleClose, handleDelete, rowId, rejectData }) => { +const RejectForm = ({ open, handleClose, rowId, rejectData }) => { + const [description, setDescription] = useState(""); const t = useTranslations(); - const handleRejectRequest = () => { - handleDelete(); - rejectData(REJECT_TRANSPORTATION_ASSISTANCE, rowId); + + const validationSchema = Yup.object().shape({ + description: Yup.string().required(t("RejectDialog.description_error")), + }); + + const formik = useFormik({ + initialValues: { + description: "", + }, + validationSchema, + onSubmit: () => { + const formData = new FormData(); + formData.append("expert_description", description); + handleClose(); + rejectData(REJECT_TRANSPORTATION_ASSISTANCE, rowId, formData); + }, + }); + + const handleDescriptionChange = (event) => { + setDescription(event.target.value); + formik.handleChange(event); }; + return ( {t("RejectDialog.reject")} {t("RejectDialog.context")} + -