diff --git a/src/app/api/fake-cities/route.js b/src/app/api/fake-cities/route.js index ad8512a..091e090 100644 --- a/src/app/api/fake-cities/route.js +++ b/src/app/api/fake-cities/route.js @@ -1,18 +1,18 @@ const data = [ { - id : 1, - name : "تهران" + id: 1, + name: "تهران", }, { - id : 2, - name : "ری" + id: 2, + name: "ری", }, { - id : 3, - name : "اندیشه" + id: 3, + name: "اندیشه", }, ]; export async function GET() { return Response.json({ data }); -} \ No newline at end of file +} diff --git a/src/app/api/fake-data/route.js b/src/app/api/fake-data/route.js index 2dca9c3..684c603 100644 --- a/src/app/api/fake-data/route.js +++ b/src/app/api/fake-data/route.js @@ -1,41 +1,41 @@ const data = [ { - id : 1, - aplication_number : 1, - application_date : "1", - province:"tehran", - city:"tehran" + id: 1, + aplication_number: 1, + application_date: "1", + province: "tehran", + city: "tehran", }, { - id : 2, - aplication_number : 2, - application_date : "1", - province:"tehran", - city:"tehran" + id: 2, + aplication_number: 2, + application_date: "1", + province: "tehran", + city: "tehran", }, { - id : 3, - aplication_number : 3, - application_date : "1", - province:"tehran", - city:"tehran" + id: 3, + aplication_number: 3, + application_date: "1", + province: "tehran", + city: "tehran", }, { - id : 4, - aplication_number : 4, - application_date : "1", - province:"tehran", - city:"tehran" + id: 4, + aplication_number: 4, + application_date: "1", + province: "tehran", + city: "tehran", }, { - id : 5, - aplication_number : 5, - application_date : "1", - province:"tehran", - city:"tehran" + id: 5, + aplication_number: 5, + application_date: "1", + province: "tehran", + city: "tehran", }, ]; export async function GET() { return Response.json({ data }); -} \ No newline at end of file +} diff --git a/src/app/api/fake-provinces/route.js b/src/app/api/fake-provinces/route.js index c044fdc..d4bf49d 100644 --- a/src/app/api/fake-provinces/route.js +++ b/src/app/api/fake-provinces/route.js @@ -1,18 +1,18 @@ const data = [ { - id : 1, - name : "تهران" + id: 1, + name: "تهران", }, { - id : 2, - name : "مشهد" + id: 2, + name: "مشهد", }, { - id : 3, - name : "اصفهان" + id: 3, + name: "اصفهان", }, ]; export async function GET() { return Response.json({ data }); -} \ No newline at end of file +} diff --git a/src/app/api/fake-submit/[id]/route.js b/src/app/api/fake-submit/[id]/route.js index c8e821b..2ba57b2 100644 --- a/src/app/api/fake-submit/[id]/route.js +++ b/src/app/api/fake-submit/[id]/route.js @@ -1,3 +1,3 @@ export async function POST() { - return Response.json({message : "Done"}); -} \ No newline at end of file + return Response.json({ message: "Done" }); +} diff --git a/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/TaskList.jsx b/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/TaskList.jsx index b858b03..cff837e 100644 --- a/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/TaskList.jsx +++ b/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/TaskList.jsx @@ -97,7 +97,7 @@ const TaskList = () => { filterFn: "equals", }, ], - [], + [] ); return ( @@ -114,10 +114,7 @@ const TaskList = () => { positionActionsColumn={"last"} renderRowActions={({ row, table }) => ( - console.log("next part")} - > + console.log("next part")}> diff --git a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer/ReferFormContext.jsx b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer/ReferFormContext.jsx index 44a9d7e..eea9c34 100644 --- a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer/ReferFormContext.jsx +++ b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer/ReferFormContext.jsx @@ -1,58 +1,66 @@ import { Autocomplete, - Button, CircularProgress, + Button, + CircularProgress, DialogActions, DialogContent, - FormControl, FormHelperText, - InputLabel, OutlinedInput, + FormControl, + FormHelperText, + InputLabel, + OutlinedInput, Stack, - TextField, Typography + TextField, + Typography, } from "@mui/material"; -import {Controller, useForm} from "react-hook-form"; -import {yupResolver} from "@hookform/resolvers/yup"; -import {object, string} from "yup"; +import { Controller, useForm } from "react-hook-form"; +import { yupResolver } from "@hookform/resolvers/yup"; +import { object, string } from "yup"; import StyledForm from "@/core/components/StyledForm"; import useCities from "@/lib/hooks/useCities"; import useRequest from "@/lib/hooks/useRequest"; -import {REFER_ADMIN_CITY} from "@/core/utils/routes"; +import { REFER_ADMIN_CITY } from "@/core/utils/routes"; const validationSchema = object({ description: string().required("وارد کردن توضیحات الزامیست!"), city: string().required("وارد کردن شهرستان الزامیست!"), }); -const ReferFormContext = ({setOpenReferDialog, rowId, mutate}) => { +const ReferFormContext = ({ setOpenReferDialog, rowId, mutate }) => { const defaultValues = { description: "", city: "", }; - const { cities, loadingCities, errorCities } = useCities() - const requestServer = useRequest({auth: true}) + const { cities, loadingCities, errorCities } = useCities(); + const requestServer = useRequest({ auth: true }); const { control, register, handleSubmit, - formState: {isSubmitting, errors, touchedFields}, - } = useForm({defaultValues, resolver: yupResolver(validationSchema), mode : "onBlur"}) + formState: { isSubmitting, errors, touchedFields }, + } = useForm({ defaultValues, resolver: yupResolver(validationSchema), mode: "onBlur" }); const onSubmit = async (data) => { const formData = new FormData(); formData.append("description", data.description); formData.append("cityId", data.city); - requestServer(`${REFER_ADMIN_CITY}/${rowId}`, 'post', { + requestServer(`${REFER_ADMIN_CITY}/${rowId}`, "post", { data: formData, - }).then(() => { - setOpenReferDialog(false) - mutate() - }).catch(() => {}) - } + }) + .then(() => { + setOpenReferDialog(false); + mutate(); + }) + .catch(() => {}); + }; return ( - توضیحات + + توضیحات + { {...register("description")} size="small" fullWidth - sx={{mt: 1}} + sx={{ mt: 1 }} type="text" /> - {errors.description ? errors.description.message : null} + + {errors.description ? errors.description.message : null} + ( + render={({ field: { onChange, value }, fieldState: { error } }) => ( - + {errorCities ? ( خطایی در دریافت شهرستان ها رخ داده است! - ) : - loadingCities ? ( - - - درحال دریافت لیست شهرستان ها - - ) : ( - city.id === value) || null} - disablePortal - options={cities} - getOptionLabel={(city) => city.name} - isOptionEqualToValue={(option, value) => option.id === value.id} - onChange={(event, newValue) => { - onChange(newValue ? newValue.id : ""); - }} - renderInput={(params) => ( - - )} - /> - )} + ) : loadingCities ? ( + + + درحال دریافت لیست شهرستان ها + + ) : ( + city.id === value) || null} + disablePortal + options={cities} + getOptionLabel={(city) => city.name} + isOptionEqualToValue={(option, value) => option.id === value.id} + onChange={(event, newValue) => { + onChange(newValue ? newValue.id : ""); + }} + renderInput={(params) => ( + + )} + /> + )} - {errors.city ? errors.city.message : null} + {errors.city ? errors.city.message : null} )} @@ -117,24 +125,14 @@ const ReferFormContext = ({setOpenReferDialog, rowId, mutate}) => { - - - ) -} -export default ReferFormContext \ No newline at end of file + ); +}; +export default ReferFormContext; diff --git a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer/index.jsx b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer/index.jsx index b746879..608d944 100644 --- a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer/index.jsx +++ b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer/index.jsx @@ -1,36 +1,41 @@ -import {Dialog, DialogTitle, IconButton, Stack, Tooltip} from "@mui/material"; -import ReplyIcon from '@mui/icons-material/Reply'; +import { Dialog, DialogTitle, IconButton, Stack, Tooltip } from "@mui/material"; +import ReplyIcon from "@mui/icons-material/Reply"; import DialogTransition from "@/core/components/DialogTransition"; import ReferFormContext from "@/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer/ReferFormContext"; -import {useState} from "react"; +import { useState } from "react"; -const ReferForm = ({rowId, mutate}) => { - const [openReferDialog, setOpenReferDialog] = useState(false) - return( +const ReferForm = ({ rowId, mutate }) => { + const [openReferDialog, setOpenReferDialog] = useState(false); + return ( { - setOpenReferDialog(true) + setOpenReferDialog(true); }} > - + - + ارجاع به شهرستان دیگر - ) -} -export default ReferForm \ No newline at end of file + ); +}; +export default ReferForm; diff --git a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/index.jsx b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/index.jsx index a1ff5bc..4cd1229 100644 --- a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/index.jsx +++ b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/index.jsx @@ -1,8 +1,8 @@ import ReferForm from "@/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions/Refer"; -const RowActions = ({row, mutate}) => { - return( +const RowActions = ({ row, mutate }) => { + return ( //rowId should pass - ) -} -export default RowActions \ No newline at end of file + ); +}; +export default RowActions; diff --git a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/TaskList.jsx b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/TaskList.jsx index 16bd2d4..fbb62cd 100644 --- a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/TaskList.jsx +++ b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/TaskList.jsx @@ -1,10 +1,9 @@ "use client"; import { useMemo } from "react"; -import { Box, IconButton, Tooltip } from "@mui/material"; +import { Box } from "@mui/material"; import DataTableWithAuth from "@/core/components/DataTableWithAuth"; -import AssignmentIcon from "@mui/icons-material/Assignment"; -import RowActions from "@/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/RowActions"; +import RowActions from "./RowActions"; const TaskList = () => { const columns = useMemo( @@ -106,7 +105,7 @@ const TaskList = () => { filterFn: "equals", }, ], - [], + [] ); return ( @@ -121,7 +120,7 @@ const TaskList = () => { table_name={"cityAdminZaminGovList"} enableRowActions positionActionsColumn={"last"} - renderRowActions={({ row, table }) => } + RowActions={RowActions} /> diff --git a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/index.jsx b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/index.jsx index fe573a5..49ba4a2 100644 --- a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/index.jsx +++ b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/index.jsx @@ -4,7 +4,6 @@ import { Stack } from "@mui/material"; import TaskList from "./TaskList"; const CityAdminZaminGovComponent = () => { - return ( diff --git a/src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/TaskList.jsx b/src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/TaskList.jsx index ee5e667..c52ff33 100644 --- a/src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/TaskList.jsx +++ b/src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/TaskList.jsx @@ -97,7 +97,7 @@ const TaskList = () => { filterFn: "equals", }, ], - [], + [] ); return ( @@ -114,10 +114,7 @@ const TaskList = () => { positionActionsColumn={"last"} renderRowActions={({ row, table }) => ( - console.log("next part")} - > + console.log("next part")}> diff --git a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/ReferFormContext.jsx b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/ReferFormContext.jsx index c43d922..df3ccaf 100644 --- a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/ReferFormContext.jsx +++ b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/ReferFormContext.jsx @@ -1,59 +1,67 @@ import { Autocomplete, - Button, CircularProgress, + Button, + CircularProgress, DialogActions, DialogContent, - FormControl, FormHelperText, - InputLabel, OutlinedInput, + FormControl, + FormHelperText, + InputLabel, + OutlinedInput, Stack, - TextField, Typography + TextField, + Typography, } from "@mui/material"; -import {Controller, useForm} from "react-hook-form"; -import {yupResolver} from "@hookform/resolvers/yup"; -import {object, string} from "yup"; +import { Controller, useForm } from "react-hook-form"; +import { yupResolver } from "@hookform/resolvers/yup"; +import { object, string } from "yup"; import StyledForm from "@/core/components/StyledForm"; import useProvinces from "@/lib/hooks/useProvince"; import useRequest from "@/lib/hooks/useRequest"; -import {REFER_ADMIN_PROVINCE} from "@/core/utils/routes"; +import { REFER_ADMIN_PROVINCE } from "@/core/utils/routes"; const validationSchema = object({ description: string().required("وارد کردن توضیحات الزامیست!"), province: string().required("وارد کردن استان الزامیست!"), }); -const ReferFormContext = ({setOpenReferDialog, rowId, mutate}) => { +const ReferFormContext = ({ setOpenReferDialog, rowId, mutate }) => { const defaultValues = { description: "", province: "", }; - const { provinces, loadingProvinces, errorProvinces } = useProvinces() - const requestServer = useRequest({auth: true}) + const { provinces, loadingProvinces, errorProvinces } = useProvinces(); + const requestServer = useRequest({ auth: true }); const { control, register, handleSubmit, - formState: {isSubmitting, errors, touchedFields}, - } = useForm({defaultValues, resolver: yupResolver(validationSchema), mode : "onBlur"}) + formState: { isSubmitting, errors, touchedFields }, + } = useForm({ defaultValues, resolver: yupResolver(validationSchema), mode: "onBlur" }); const onSubmit = async (data) => { const formData = new FormData(); formData.append("description", data.description); formData.append("provinceId", data.province); - requestServer(`${REFER_ADMIN_PROVINCE}/${rowId}`, 'post', { + requestServer(`${REFER_ADMIN_PROVINCE}/${rowId}`, "post", { data: formData, - }).then(() => { - setOpenReferDialog(false) - mutate() - }).catch(() => {}) - } + }) + .then(() => { + setOpenReferDialog(false); + mutate(); + }) + .catch(() => {}); + }; return ( - توضیحات + + توضیحات + { {...register("description")} size="small" fullWidth - sx={{mt: 1}} + sx={{ mt: 1 }} type="text" /> - {errors.description ? errors.description.message : null} + + {errors.description ? errors.description.message : null} + ( + render={({ field: { onChange, value }, fieldState: { error } }) => ( - + {errorProvinces ? ( - خطایی در دریافت استان ها رخ داده است! - ) : - loadingProvinces ? ( - - - درحال دریافت لیست استان ها - - ) : ( - province.id === value) || null} - disablePortal - options={provinces} - getOptionLabel={(province) => province.name} - isOptionEqualToValue={(option, value) => option.id === value.id} - onChange={(event, newValue) => { - onChange(newValue ? newValue.id : ""); - }} - renderInput={(params) => ( - - )} - /> - )} + خطایی در دریافت استان ها رخ داده است! + ) : loadingProvinces ? ( + + + درحال دریافت لیست استان ها + + ) : ( + province.id === value) || null} + disablePortal + options={provinces} + getOptionLabel={(province) => province.name} + isOptionEqualToValue={(option, value) => option.id === value.id} + onChange={(event, newValue) => { + onChange(newValue ? newValue.id : ""); + }} + renderInput={(params) => ( + + )} + /> + )} {errors.province ? errors.province.message : null} @@ -118,24 +126,14 @@ const ReferFormContext = ({setOpenReferDialog, rowId, mutate}) => { - - - ) -} -export default ReferFormContext \ No newline at end of file + ); +}; +export default ReferFormContext; diff --git a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/index.jsx b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/index.jsx index 171a03d..cee580a 100644 --- a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/index.jsx +++ b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/index.jsx @@ -1,37 +1,41 @@ -import {Dialog, DialogTitle, IconButton, Stack, Tooltip} from "@mui/material"; -import ReplyIcon from '@mui/icons-material/Reply'; +import { Dialog, DialogTitle, IconButton, Stack, Tooltip } from "@mui/material"; +import ReplyIcon from "@mui/icons-material/Reply"; import DialogTransition from "@/core/components/DialogTransition"; -import {useState} from "react"; -import ReferFormContext - from "@/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/ReferFormContext"; +import { useState } from "react"; +import ReferFormContext from "@/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer/ReferFormContext"; -const ReferForm = ({rowId, mutate}) => { - const [openReferDialog, setOpenReferDialog] = useState(false) - return( +const ReferForm = ({ rowId, mutate }) => { + const [openReferDialog, setOpenReferDialog] = useState(false); + return ( { - setOpenReferDialog(true) + setOpenReferDialog(true); }} > - + - + ارجاع به استان دیگر - ) -} -export default ReferForm \ No newline at end of file + ); +}; +export default ReferForm; diff --git a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/index.jsx b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/index.jsx index 9924ac7..4e64b09 100644 --- a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/index.jsx +++ b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/index.jsx @@ -1,8 +1,8 @@ import ReferForm from "@/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/RowActions/Refer"; -const RowActions = ({row, mutate}) => { - return( +const RowActions = ({ row, mutate }) => { + return ( //rowId should pass - ) -} -export default RowActions \ No newline at end of file + ); +}; +export default RowActions; diff --git a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/TaskList.jsx b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/TaskList.jsx index a7f9a46..f057708 100644 --- a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/TaskList.jsx +++ b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/TaskList.jsx @@ -106,7 +106,7 @@ const TaskList = () => { filterFn: "equals", }, ], - [], + [] ); return ( @@ -121,7 +121,7 @@ const TaskList = () => { table_name={"provinceAdminZaminGovList"} enableRowActions positionActionsColumn={"last"} - renderRowActions={({ row, table }) => } + renderRowActions={({ row, table }) => } /> diff --git a/src/core/components/DataTable/Main.js b/src/core/components/DataTable/Main.js index 8a4c0a1..5d0d98d 100644 --- a/src/core/components/DataTable/Main.js +++ b/src/core/components/DataTable/Main.js @@ -21,6 +21,7 @@ const DataTable_Main = (props) => { initialStateProps, TableToolbar, table_title, + RowActions, } = props; const flatColumns = flattenArrayOfObjects(columns, "columns"); const [pagination, setPagination] = useState({ pageIndex: 0, pageSize: 10 }); @@ -106,11 +107,8 @@ const DataTable_Main = (props) => { manualSorting: true, onPaginationChange: setPagination, onSortingChange: onSortingChange, - renderTopToolbarCustomActions: ({ table }) => ( - <> - {TableToolbar && } - - ), + renderTopToolbarCustomActions: ({ table }) => <>{TableToolbar && }, + renderRowActions: ({ row }) => , ...props, }); diff --git a/src/core/components/DataTableWithAuth.jsx b/src/core/components/DataTableWithAuth.jsx index ee0a6c4..3363495 100644 --- a/src/core/components/DataTableWithAuth.jsx +++ b/src/core/components/DataTableWithAuth.jsx @@ -3,11 +3,6 @@ import { useAuth } from "@/lib/contexts/auth"; const DataTableWithAuth = (props) => { const { user } = useAuth(); - return ( - - ); + return ; }; export default DataTableWithAuth; diff --git a/src/core/utils/routes.js b/src/core/utils/routes.js index 0bbfb0a..a980707 100644 --- a/src/core/utils/routes.js +++ b/src/core/utils/routes.js @@ -6,7 +6,7 @@ export const CHANGE_USER_PASSWORD = api + "/api/v3/profile/change_password"; export const GET_LOGIN_ROUTE = api + "/login_dev"; export const GET_PERMISSIONS_ROUTE = api + "/webapi/user/get-permission"; export const GET_SIDEBAR_BADGE_ROUTE = api + "/v2/activity_statistics"; -export const REFER_ADMIN_PROVINCE = "/v3/api/fake-submit" -export const REFER_ADMIN_CITY = "/v3/api/fake-submit" -export const GET_CITY_LISTS = "/v3/api/fake-cities" -export const GET_PROVINCE_LISTS = "/v3/api/fake-provinces" +export const REFER_ADMIN_PROVINCE = "/v3/api/fake-submit"; +export const REFER_ADMIN_CITY = "/v3/api/fake-submit"; +export const GET_CITY_LISTS = "/v3/api/fake-cities"; +export const GET_PROVINCE_LISTS = "/v3/api/fake-provinces"; diff --git a/src/lib/hooks/useCities.js b/src/lib/hooks/useCities.js index e86a673..e4012b7 100644 --- a/src/lib/hooks/useCities.js +++ b/src/lib/hooks/useCities.js @@ -1,6 +1,6 @@ import { useState, useEffect } from "react"; import axios from "axios"; -import {GET_CITY_LISTS} from "@/core/utils/routes"; +import { GET_CITY_LISTS } from "@/core/utils/routes"; const useCities = () => { const [cities, setCities] = useState([]); diff --git a/src/lib/hooks/useProvince.js b/src/lib/hooks/useProvince.js index 5a96cf2..699b462 100644 --- a/src/lib/hooks/useProvince.js +++ b/src/lib/hooks/useProvince.js @@ -1,6 +1,6 @@ import { useState, useEffect } from "react"; import axios from "axios"; -import {GET_PROVINCE_LISTS} from "@/core/utils/routes"; +import { GET_PROVINCE_LISTS } from "@/core/utils/routes"; const useProvinces = () => { const [provinces, setProvinces] = useState([]);