From f2e199ee8a1fdae1d65813531935f5f068ec521d Mon Sep 17 00:00:00 2001 From: Amirhossein Mahmoodi Date: Sun, 18 Aug 2024 11:11:58 +0330 Subject: [PATCH 1/2] formatting --- src/app/(withAuth)/dashboard/layout.js | 2 +- src/app/(withAuth)/layout.js | 4 +- src/app/layout.js | 2 +- src/app/lfwd/page.js | 10 +- .../Actions/Create/index.jsx | 7 +- .../Forms/CreateOrUpdate.jsx | 656 +++++++++++++----- .../LocationOnMap/MarkerLocation/index.jsx | 25 +- .../Forms/LocationOnMap/index.jsx | 10 +- .../inquiryPrivacyFencing/Toolbar.jsx | 1 - .../dashboard/inquiryPrivacyFencing/index.jsx | 1 - .../inquiryPrivacyFencingList/index.jsx | 5 +- .../dashboard/headerWithLogo/index.jsx | 2 +- .../dashboard/headerWithSidebar/index.jsx | 8 +- src/core/components/DataTable/Main.js | 6 +- .../DataTable/body/TableBodyCell.js | 72 +- .../components/DataTable/body/TableBodyRow.js | 41 +- .../DataTable/filter/FilterBodyField.jsx | 22 +- .../DataTable/filter/FilterOptionList.jsx | 17 +- .../DataTable/head/TableHeadCell.js | 43 +- .../components/DataTable/hide/HideBody.jsx | 9 +- .../DataTable/hide/HideBodyField.jsx | 10 +- .../DataTable/hide/HideOrShowAll.jsx | 2 +- .../DataTable/reset/ResetStorage.jsx | 2 +- src/core/components/DataTable/table/Paper.js | 48 +- .../DataTable/toolbar/TopToolbar.js | 49 +- src/core/components/DialogTransition.jsx | 2 +- .../components/MapLayer/Loading/index.jsx | 8 +- src/core/components/MapLayer/index.jsx | 4 +- .../NotificationDesign/AskForKeepData.jsx | 19 +- src/core/components/PageTitle.jsx | 12 +- src/core/components/SidebarMenu.jsx | 60 +- src/core/components/StyledForm.jsx | 2 +- src/core/utils/cacheRtl.js | 2 +- src/core/utils/errorResponse.js | 2 +- src/core/utils/flattenArrayOfObjects.js | 1 - src/core/utils/flattenObjectOfObjects.jsx | 2 +- src/lib/contexts/DataTable.js | 4 +- src/lib/contexts/auth.js | 4 +- src/lib/contexts/tableSetting.js | 2 +- src/lib/hooks/useRequest.js | 5 +- 40 files changed, 733 insertions(+), 450 deletions(-) diff --git a/src/app/(withAuth)/dashboard/layout.js b/src/app/(withAuth)/dashboard/layout.js index 5a85c25..219cee2 100644 --- a/src/app/(withAuth)/dashboard/layout.js +++ b/src/app/(withAuth)/dashboard/layout.js @@ -4,7 +4,7 @@ import { Stack } from "@mui/material"; const Layout = ({ children }) => { return ( - + {children} diff --git a/src/app/(withAuth)/layout.js b/src/app/(withAuth)/layout.js index b9c3d01..63d25a7 100644 --- a/src/app/(withAuth)/layout.js +++ b/src/app/(withAuth)/layout.js @@ -1,9 +1,7 @@ import WithAuthMiddleware from "@/core/middlewares/withAuth"; const Layout = ({ children }) => { - return ( - {children} - ); + return {children}; }; export default Layout; diff --git a/src/app/layout.js b/src/app/layout.js index 580ae26..237d222 100644 --- a/src/app/layout.js +++ b/src/app/layout.js @@ -8,7 +8,7 @@ export const metadata = { export default function RootLayout({ children }) { return ( - + {children} diff --git a/src/app/lfwd/page.js b/src/app/lfwd/page.js index 61ebe16..70708e4 100644 --- a/src/app/lfwd/page.js +++ b/src/app/lfwd/page.js @@ -8,7 +8,7 @@ import Link from "next/link"; import { useEffect, useState } from "react"; const Page = ({ searchParams }) => { - const { getUser } = useAuth() + const { getUser } = useAuth(); const { username } = searchParams; const [login, setLogin] = useState(0); const request = useRequest(); @@ -17,7 +17,7 @@ const Page = ({ searchParams }) => { const login = async () => { try { await request(`${GET_LOGIN_ROUTE}?username=${username}`); - await getUser() + await getUser(); setLogin(1); } catch (error) { setLogin(2); @@ -31,7 +31,7 @@ const Page = ({ searchParams }) => { setLogin(0); try { await request(`${GET_LOGIN_ROUTE}?username=${username}`); - await getUser() + await getUser(); setLogin(1); } catch (error) { setLogin(2); @@ -44,8 +44,8 @@ const Page = ({ searchParams }) => { {login === 0 ? "درحال دریافت مجوز برای ارتباط با سرور..." : login === 1 - ? "ارتباط با سرور برقرار شد." - : "ارتباط با سرور برقرار نشد. مشکلی وجود دارد."} + ? "ارتباط با سرور برقرار شد." + : "ارتباط با سرور برقرار نشد. مشکلی وجود دارد."} )} diff --git a/src/components/dashboard/inquiryPrivacyFencing/Forms/CreateOrUpdate.jsx b/src/components/dashboard/inquiryPrivacyFencing/Forms/CreateOrUpdate.jsx index 435f39b..f3483ae 100644 --- a/src/components/dashboard/inquiryPrivacyFencing/Forms/CreateOrUpdate.jsx +++ b/src/components/dashboard/inquiryPrivacyFencing/Forms/CreateOrUpdate.jsx @@ -1,7 +1,21 @@ import LtrTextField from "@/core/components/LtrTextField"; import StyledForm from "@/core/components/StyledForm"; import useRequest from "@/lib/hooks/useRequest"; -import { Autocomplete, Box, Button, Chip, Container, DialogActions, DialogContent, Fade, Grid, InputAdornment, Stack, TextField, Typography } from "@mui/material"; +import { + Autocomplete, + Box, + Button, + Chip, + Container, + DialogActions, + DialogContent, + Fade, + Grid, + InputAdornment, + Stack, + TextField, + Typography, +} from "@mui/material"; import { DatePicker, LocalizationProvider, faIR } from "@mui/x-date-pickers"; import { AdapterDateFnsJalali } from "@mui/x-date-pickers/AdapterDateFnsJalali"; import moment from "jalali-moment"; @@ -9,130 +23,135 @@ import { Controller, useForm } from "react-hook-form"; import LocationOnMap from "./LocationOnMap"; const initValues = { - dabirkhaneh_number: '', + dabirkhaneh_number: "", nameh_date: moment(), - nameh_date_fa: '', - marjae_pasokh: '', + nameh_date_fa: "", + marjae_pasokh: "", motaghazi_is_legal_id: null, - motaghazi_is_legal: '', - motaghazi_type_id: '', + motaghazi_is_legal: "", + motaghazi_type_id: "", motaghazi_type: null, - motaghazi_firstname: '', - motaghazi_lastname: '', - national_id: '', - shenase_melli: '', - tel_number: '', - mobile_number: '', - address: '', + motaghazi_firstname: "", + motaghazi_lastname: "", + national_id: "", + shenase_melli: "", + tel_number: "", + mobile_number: "", + address: "", edare_kol_id: null, - edare_kol: '', + edare_kol: "", edare_shahri_id: null, - edare_shahri: '', + edare_shahri: "", rah_type_id: null, - rah_type: '', - name_mehvar_id: '', + rah_type: "", + name_mehvar_id: "", name_mehvar_fa: null, mizan_harim: null, arze_navar: null, samt_id: null, - samt: '', - kilometr: '', - lat: '', - lon: '', + samt: "", + kilometr: "", + lat: "", + lon: "", zone: null, karbari_type_id: null, - karbari_type: '', - tarh_title: '', - masahat_zirbana: '', + karbari_type: "", + tarh_title: "", + masahat_zirbana: "", ehdasat_type_id: [], - ehdasat_type: '', - divarkeshi_distance: '', - mostahadesat_distance: '', + ehdasat_type: "", + divarkeshi_distance: "", + mostahadesat_distance: "", mahale_ejra_id: null, - mahale_ejra: '', + mahale_ejra: "", traffic_id: null, - traffic: '', + traffic: "", vaziat_eghtesadi_id: null, - vaziat_eghtesadi: '', + vaziat_eghtesadi: "", has_access_id: null, - has_access: '', - shomare_estelam_harim: '', - max_month: '', - max_day: '', - shomare_tahaodname: '', - shomare_daftarkhaneh: '', - description: '', - ronevesht: '', -} + has_access: "", + shomare_estelam_harim: "", + max_month: "", + max_day: "", + shomare_tahaodname: "", + shomare_daftarkhaneh: "", + description: "", + ronevesht: "", +}; const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { - const request = useRequest() - const { control, watch, register, handleSubmit, setValue, formState: { isSubmitting } } = useForm({ defaultValues: defaultValues || initValues }); + const request = useRequest(); + const { + control, + watch, + register, + handleSubmit, + setValue, + formState: { isSubmitting }, + } = useForm({ defaultValues: defaultValues || initValues }); const onSubmit = async (data) => { - const formData = new FormData() - formData.append('dabirkhaneh_number', data.dabirkhaneh_number) - formData.append('nameh_date', data.nameh_date.format('YYYY-MM-DD')) - formData.append('nameh_date_fa', data.nameh_date) - formData.append('marjae_pasokh', data.marjae_pasokh) - formData.append('motaghazi_is_legal_id', data.motaghazi_is_legal_id) - formData.append('motaghazi_is_legal', data.motaghazi_is_legal_id) - formData.append('motaghazi_type_id', 1) - formData.append('motaghazi_type', data.motaghazi_type) - formData.append('motaghazi_firstname', data.motaghazi_firstname) - formData.append('motaghazi_lastname', data.motaghazi_lastname) - formData.append('national_id', data.national_id) - formData.append('shenase_melli', data.national_id) - formData.append('tel_number', data.tel_number) - formData.append('mobile_number', data.mobile_number) - formData.append('address', data.address) - formData.append('edare_kol_id', data.edare_kol_id) - formData.append('edare_kol', data.edare_kol_id) - formData.append('edare_shahri_id', data.edare_shahri_id) - formData.append('edare_shahri', data.edare_shahri_id) - formData.append('rah_type_id', data.rah_type_id) - formData.append('rah_type', data.rah_type_id) - formData.append('name_mehvar_id', 1) - formData.append('name_mehvar_fa', data.name_mehvar_fa) - formData.append('mizan_harim', data.mizan_harim) - formData.append('arze_navar', data.arze_navar) - formData.append('samt_id', data.samt_id) - formData.append('samt', data.samt_id) - formData.append('kilometr', data.kilometr) - formData.append('lat', data.lat) - formData.append('lon', data.lon) - formData.append('zone', data.zone) - formData.append('karbari_type_id', data.karbari_type_id) - formData.append('karbari_type', data.karbari_type_id) - formData.append('tarh_title', data.tarh_title) - formData.append('masahat_zirbana', data.masahat_zirbana) - formData.append('ehdasat_type_id', data.ehdasat_type_id.join("|")) - formData.append('ehdasat_type', data.ehdasat_type_id.join("|")) - formData.append('divarkeshi_distance', data.divarkeshi_distance) - formData.append('mostahadesat_distance', data.mostahadesat_distance) - formData.append('mahale_ejra_id', data.mahale_ejra_id) - formData.append('mahale_ejra', data.mahale_ejra) - formData.append('traffic_id', data.traffic_id) - formData.append('traffic', data.traffic_id) - formData.append('vaziat_eghtesadi_id', data.vaziat_eghtesadi_id) - formData.append('vaziat_eghtesadi', data.vaziat_eghtesadi) - formData.append('has_access_id', data.has_access_id) - formData.append('has_access', data.has_access_id) - formData.append('shomare_estelam_harim', data.shomare_estelam_harim) - formData.append('max_month', data.max_month) - formData.append('max_day', data.max_day) - formData.append('shomare_tahaodname', data.shomare_tahaodname) - formData.append('shomare_daftarkhaneh', data.shomare_daftarkhaneh) - formData.append('description', data.description) - formData.append('ronevesht', data.ronevesht) + const formData = new FormData(); + formData.append("dabirkhaneh_number", data.dabirkhaneh_number); + formData.append("nameh_date", data.nameh_date.format("YYYY-MM-DD")); + formData.append("nameh_date_fa", data.nameh_date); + formData.append("marjae_pasokh", data.marjae_pasokh); + formData.append("motaghazi_is_legal_id", data.motaghazi_is_legal_id); + formData.append("motaghazi_is_legal", data.motaghazi_is_legal_id); + formData.append("motaghazi_type_id", 1); + formData.append("motaghazi_type", data.motaghazi_type); + formData.append("motaghazi_firstname", data.motaghazi_firstname); + formData.append("motaghazi_lastname", data.motaghazi_lastname); + formData.append("national_id", data.national_id); + formData.append("shenase_melli", data.national_id); + formData.append("tel_number", data.tel_number); + formData.append("mobile_number", data.mobile_number); + formData.append("address", data.address); + formData.append("edare_kol_id", data.edare_kol_id); + formData.append("edare_kol", data.edare_kol_id); + formData.append("edare_shahri_id", data.edare_shahri_id); + formData.append("edare_shahri", data.edare_shahri_id); + formData.append("rah_type_id", data.rah_type_id); + formData.append("rah_type", data.rah_type_id); + formData.append("name_mehvar_id", 1); + formData.append("name_mehvar_fa", data.name_mehvar_fa); + formData.append("mizan_harim", data.mizan_harim); + formData.append("arze_navar", data.arze_navar); + formData.append("samt_id", data.samt_id); + formData.append("samt", data.samt_id); + formData.append("kilometr", data.kilometr); + formData.append("lat", data.lat); + formData.append("lon", data.lon); + formData.append("zone", data.zone); + formData.append("karbari_type_id", data.karbari_type_id); + formData.append("karbari_type", data.karbari_type_id); + formData.append("tarh_title", data.tarh_title); + formData.append("masahat_zirbana", data.masahat_zirbana); + formData.append("ehdasat_type_id", data.ehdasat_type_id.join("|")); + formData.append("ehdasat_type", data.ehdasat_type_id.join("|")); + formData.append("divarkeshi_distance", data.divarkeshi_distance); + formData.append("mostahadesat_distance", data.mostahadesat_distance); + formData.append("mahale_ejra_id", data.mahale_ejra_id); + formData.append("mahale_ejra", data.mahale_ejra); + formData.append("traffic_id", data.traffic_id); + formData.append("traffic", data.traffic_id); + formData.append("vaziat_eghtesadi_id", data.vaziat_eghtesadi_id); + formData.append("vaziat_eghtesadi", data.vaziat_eghtesadi); + formData.append("has_access_id", data.has_access_id); + formData.append("has_access", data.has_access_id); + formData.append("shomare_estelam_harim", data.shomare_estelam_harim); + formData.append("max_month", data.max_month); + formData.append("max_day", data.max_day); + formData.append("shomare_tahaodname", data.shomare_tahaodname); + formData.append("shomare_daftarkhaneh", data.shomare_daftarkhaneh); + formData.append("description", data.description); + formData.append("ronevesht", data.ronevesht); try { - await request(url, 'post', { data: formData }) - handleClose() - mutate() - } catch (error) { - - } + await request(url, "post", { data: formData }); + handleClose(); + mutate(); + } catch (error) {} }; return ( @@ -141,11 +160,18 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { localeText={faIR.components.MuiLocalizationProvider.defaultProps.localeText} > - - + + - + { onChange={(newValue) => onChange(moment(newValue))} label="تاریخ نامه درخواست *" slotProps={{ - textField: { fullWidth: true, size: "small", autoComplete: 'off' }, + textField: { fullWidth: true, size: "small", autoComplete: "off" }, }} /> )} /> - + { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["حقوقی", "حقیقی"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> - + { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["دولتی", "خصوصی"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> @@ -208,26 +253,76 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { - + - - + + - + - + - - + + - + { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["تهران"]} renderInput={(params) => ( - { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["تهران"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> @@ -281,10 +384,12 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} - options={["آزاد راه", "بزرگراه", 'راه فرعی درجه 3']} - renderInput={(params) => } + options={["آزاد راه", "بزرگراه", "راه فرعی درجه 3"]} + renderInput={(params) => ( + + )} /> )} /> @@ -299,16 +404,23 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["سایر"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> - + @@ -322,10 +434,12 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["چپ", "راست"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> @@ -340,16 +454,27 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["12.5", "17.5"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> - + { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["15", "30"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> @@ -371,15 +503,40 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { - + - + - - + + { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["38", "39"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> @@ -408,22 +572,42 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["اتاقک نگهبانی", "دولتی"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> - + - - مترمربع, - }} /> + مترمربع, + }} + /> { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} renderTags={(value, getTagProps) => value.map((option, index) => { const { key, ...tagProps } = getTagProps({ index }); return ( - + ); }) } options={["تعمیرات", "احداث بنا"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> - متر, - }} /> + متر, + }} + /> - متر, - }} /> + متر, + }} + /> { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["داخل حریم"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> @@ -490,10 +705,17 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["سبک (ضریب ۱)"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> @@ -508,10 +730,17 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["تست"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> @@ -526,46 +755,115 @@ const CreateOrUpdateForm = ({ handleClose, mutate, defaultValues, url }) => { disablePortal value={value} onChange={(event, newValue) => { - onChange(newValue) + onChange(newValue); }} options={["بله", "خیر"]} - renderInput={(params) => } + renderInput={(params) => ( + + )} /> )} /> - + - - حداکثر مدت زمان شروع عملیات: * - - + + + حداکثر مدت زمان شروع عملیات: * + + + - + - + - + - + - - + + - + ); }; export default CreateOrUpdateForm; diff --git a/src/components/dashboard/inquiryPrivacyFencing/Forms/LocationOnMap/MarkerLocation/index.jsx b/src/components/dashboard/inquiryPrivacyFencing/Forms/LocationOnMap/MarkerLocation/index.jsx index d673679..c79c266 100644 --- a/src/components/dashboard/inquiryPrivacyFencing/Forms/LocationOnMap/MarkerLocation/index.jsx +++ b/src/components/dashboard/inquiryPrivacyFencing/Forms/LocationOnMap/MarkerLocation/index.jsx @@ -12,21 +12,26 @@ const MarkerLocation = ({ setValue, defaultLatLon }) => { const location = useRef(); const map = useMapEvents({ move: (e) => { - const latlon = e.target.getCenter() + const latlon = e.target.getCenter(); location.current?.setLatLng(latlon); - setValue('lat', latlon.lat) - setValue('lon', latlon.lng) + setValue("lat", latlon.lat); + setValue("lon", latlon.lng); }, zoom: (e) => { - const latlon = e.target.getCenter() + const latlon = e.target.getCenter(); location.current?.setLatLng(latlon); - setValue('lat', latlon.lat) - setValue('lon', latlon.lng) + setValue("lat", latlon.lat); + setValue("lon", latlon.lng); }, }); return ( - - ) -} -export default MarkerLocation \ No newline at end of file + + ); +}; +export default MarkerLocation; diff --git a/src/components/dashboard/inquiryPrivacyFencing/Forms/LocationOnMap/index.jsx b/src/components/dashboard/inquiryPrivacyFencing/Forms/LocationOnMap/index.jsx index fe65106..dfd8854 100644 --- a/src/components/dashboard/inquiryPrivacyFencing/Forms/LocationOnMap/index.jsx +++ b/src/components/dashboard/inquiryPrivacyFencing/Forms/LocationOnMap/index.jsx @@ -11,12 +11,12 @@ const MapLayer = dynamic(() => import("@/core/components/MapLayer"), { const LocationOnMap = ({ setValue, defaultLatLon }) => { return ( - - + + - ) -} -export default LocationOnMap \ No newline at end of file + ); +}; +export default LocationOnMap; diff --git a/src/components/dashboard/inquiryPrivacyFencing/Toolbar.jsx b/src/components/dashboard/inquiryPrivacyFencing/Toolbar.jsx index 73cee6d..843492b 100644 --- a/src/components/dashboard/inquiryPrivacyFencing/Toolbar.jsx +++ b/src/components/dashboard/inquiryPrivacyFencing/Toolbar.jsx @@ -1,7 +1,6 @@ import InquiryPrivacyFencingCreate from "./Actions/Create"; const Toolbar = ({ mutate }) => { - return ( <> diff --git a/src/components/dashboard/inquiryPrivacyFencing/index.jsx b/src/components/dashboard/inquiryPrivacyFencing/index.jsx index c8dd8c9..40e9e58 100644 --- a/src/components/dashboard/inquiryPrivacyFencing/index.jsx +++ b/src/components/dashboard/inquiryPrivacyFencing/index.jsx @@ -13,4 +13,3 @@ const InquiryPrivacyFencingPage = () => { ); }; export default InquiryPrivacyFencingPage; - diff --git a/src/components/dashboard/inquiryPrivacyFencing/inquiryPrivacyFencingList/index.jsx b/src/components/dashboard/inquiryPrivacyFencing/inquiryPrivacyFencingList/index.jsx index 86a2840..0341e45 100644 --- a/src/components/dashboard/inquiryPrivacyFencing/inquiryPrivacyFencingList/index.jsx +++ b/src/components/dashboard/inquiryPrivacyFencing/inquiryPrivacyFencingList/index.jsx @@ -231,12 +231,12 @@ const InquiryPrivacyFencingList = () => { enableColumnFilter: false, }, ], - [], + [] ); return ( <> - + { ); }; export default InquiryPrivacyFencingList; - diff --git a/src/components/layouts/dashboard/headerWithLogo/index.jsx b/src/components/layouts/dashboard/headerWithLogo/index.jsx index 2d0b7bc..9b59fa6 100644 --- a/src/components/layouts/dashboard/headerWithLogo/index.jsx +++ b/src/components/layouts/dashboard/headerWithLogo/index.jsx @@ -4,7 +4,7 @@ import HeaderBottom from "./HaederBottom"; const HeaderWithLogo = () => { return ( - + diff --git a/src/components/layouts/dashboard/headerWithSidebar/index.jsx b/src/components/layouts/dashboard/headerWithSidebar/index.jsx index 0b77983..5190d9e 100644 --- a/src/components/layouts/dashboard/headerWithSidebar/index.jsx +++ b/src/components/layouts/dashboard/headerWithSidebar/index.jsx @@ -90,7 +90,7 @@ const HeaderWithSidebar = ({ children }) => { boxSizing: "border-box", borderTop: 1, borderTopColor: "divider", - position: 'inherit' + position: "inherit", }, }} variant="persistent" @@ -103,7 +103,9 @@ const HeaderWithSidebar = ({ children }) => { - v{process.env.NEXT_PUBLIC_VERSION} + + v{process.env.NEXT_PUBLIC_VERSION} +
@@ -114,4 +116,4 @@ const HeaderWithSidebar = ({ children }) => { ); }; -export default HeaderWithSidebar; \ No newline at end of file +export default HeaderWithSidebar; diff --git a/src/core/components/DataTable/Main.js b/src/core/components/DataTable/Main.js index 1f51695..5aed12b 100644 --- a/src/core/components/DataTable/Main.js +++ b/src/core/components/DataTable/Main.js @@ -32,13 +32,11 @@ const DataTable_Main = (props) => { const fetchUrl = useMemo(() => { const isValueEmpty = (value) => { if (Array.isArray(value)) { - return value.length === 0 || value.every(v => v === ""); + return value.length === 0 || value.every((v) => v === ""); } return value === "" || value === null || value === undefined; }; - const filteredFilterData = Object.values(filterData).filter( - (filter) => !isValueEmpty(filter.value), - ); + const filteredFilterData = Object.values(filterData).filter((filter) => !isValueEmpty(filter.value)); const params = new URLSearchParams(); params.set("start", `${pagination.pageIndex * pagination.pageSize}`); diff --git a/src/core/components/DataTable/body/TableBodyCell.js b/src/core/components/DataTable/body/TableBodyCell.js index 43f76f7..39f6895 100644 --- a/src/core/components/DataTable/body/TableBodyCell.js +++ b/src/core/components/DataTable/body/TableBodyCell.js @@ -1,10 +1,10 @@ -import { getCommonMRTCellStyles, parseFromValuesOrFunc } from '@/core/utils/utils'; -import { useTheme } from '@emotion/react'; -import { Skeleton, TableCell } from '@mui/material'; -import { isCellEditable, openEditingCell } from 'material-react-table'; -import { memo, useEffect, useMemo, useState } from 'react'; -import DataTable_CopyButton from '../buttons/CopyButton'; -import DataTable_TableBodyCellValue from './TableBodyCellValue'; +import { getCommonMRTCellStyles, parseFromValuesOrFunc } from "@/core/utils/utils"; +import { useTheme } from "@emotion/react"; +import { Skeleton, TableCell } from "@mui/material"; +import { isCellEditable, openEditingCell } from "material-react-table"; +import { memo, useEffect, useMemo, useState } from "react"; +import DataTable_CopyButton from "../buttons/CopyButton"; +import DataTable_TableBodyCellValue from "./TableBodyCellValue"; const DataTable_TableBodyCell = ({ cell, numRows, rowRef, staticColumnIndex, staticRowIndex, table, ...rest }) => { const theme = useTheme(); @@ -82,10 +82,10 @@ const DataTable_TableBodyCell = ({ cell, numRows, rowRef, staticColumnIndex, sta const borderStyle = showResizeBorder ? `2px solid ${draggingBorderColor} !important` : isDraggingColumn || isDraggingRow - ? `1px dashed ${theme.palette.grey[500]} !important` - : isHoveredColumn || isHoveredRow || isResizingColumn - ? `2px dashed ${draggingBorderColor} !important` - : undefined; + ? `1px dashed ${theme.palette.grey[500]} !important` + : isHoveredColumn || isHoveredRow || isResizingColumn + ? `2px dashed ${draggingBorderColor} !important` + : undefined; if (showResizeBorder) { return columnResizeDirection === "ltr" ? { borderRight: borderStyle } : { borderLeft: borderStyle }; @@ -93,18 +93,18 @@ const DataTable_TableBodyCell = ({ cell, numRows, rowRef, staticColumnIndex, sta return borderStyle ? { - borderBottom: - isDraggingRow || isHoveredRow || (isLastRow && !isResizingColumn) ? borderStyle : undefined, - borderLeft: - isDraggingColumn || isHoveredColumn || ((isDraggingRow || isHoveredRow) && isFirstColumn) - ? borderStyle - : undefined, - borderRight: - isDraggingColumn || isHoveredColumn || ((isDraggingRow || isHoveredRow) && isLastColumn) - ? borderStyle - : undefined, - borderTop: isDraggingRow || isHoveredRow ? borderStyle : undefined, - } + borderBottom: + isDraggingRow || isHoveredRow || (isLastRow && !isResizingColumn) ? borderStyle : undefined, + borderLeft: + isDraggingColumn || isHoveredColumn || ((isDraggingRow || isHoveredRow) && isFirstColumn) + ? borderStyle + : undefined, + borderRight: + isDraggingColumn || isHoveredColumn || ((isDraggingRow || isHoveredRow) && isLastColumn) + ? borderStyle + : undefined, + borderTop: isDraggingRow || isHoveredRow ? borderStyle : undefined, + } : undefined; }, [columnSizingInfo.isResizingColumn, draggingColumn, draggingRow, hoveredColumn, hoveredRow, staticRowIndex]); @@ -178,8 +178,8 @@ const DataTable_TableBodyCell = ({ cell, numRows, rowRef, staticColumnIndex, sta "&:hover": { outline: actionCell?.id === cell.id || - (editDisplayMode === "cell" && isEditable) || - (editDisplayMode === "table" && (isCreating || isEditing)) + (editDisplayMode === "cell" && isEditable) || + (editDisplayMode === "table" && (isCreating || isEditing)) ? `1px solid ${theme.palette.grey[500]}` : undefined, textOverflow: "clip", @@ -188,8 +188,8 @@ const DataTable_TableBodyCell = ({ cell, numRows, rowRef, staticColumnIndex, sta cursor: isRightClickable ? "context-menu" : isEditable && editDisplayMode === "cell" - ? "pointer" - : "inherit", + ? "pointer" + : "inherit", outline: actionCell?.id === cell.id ? `1px solid ${theme.palette.grey[500]}` : undefined, outlineOffset: "-1px", overflow: "hidden", @@ -199,12 +199,12 @@ const DataTable_TableBodyCell = ({ cell, numRows, rowRef, staticColumnIndex, sta ? "0 0.5rem" : "0.5rem" : density === "comfortable" - ? columnDefType === "display" - ? "0.5rem 0.75rem" - : "1rem" - : columnDefType === "display" - ? "1rem 1.25rem" - : "1.5rem", + ? columnDefType === "display" + ? "0.5rem 0.75rem" + : "1rem" + : columnDefType === "display" + ? "1rem 1.25rem" + : "1.5rem", textOverflow: columnDefType !== "display" ? "ellipsis" : undefined, whiteSpace: row.getIsPinned() || density === "compact" ? "nowrap" : "normal", @@ -215,7 +215,7 @@ const DataTable_TableBodyCell = ({ cell, numRows, rowRef, staticColumnIndex, sta theme, }), ...draggingBorders, - backgroundColor: baseBackgroundColor + backgroundColor: baseBackgroundColor, })} > {tableCellProps.children ?? ( @@ -225,8 +225,8 @@ const DataTable_TableBodyCell = ({ cell, numRows, rowRef, staticColumnIndex, sta ) : showSkeletons !== false && (isLoading || showSkeletons) ? ( ) : columnDefType === "display" && - (["mrt-row-expand", "mrt-row-numbers", "mrt-row-select"].includes(column.id) || - !row.getIsGrouped()) ? ( + (["mrt-row-expand", "mrt-row-numbers", "mrt-row-select"].includes(column.id) || + !row.getIsGrouped()) ? ( columnDef.Cell?.({ cell, column, diff --git a/src/core/components/DataTable/body/TableBodyRow.js b/src/core/components/DataTable/body/TableBodyRow.js index e35f29a..2d21f32 100644 --- a/src/core/components/DataTable/body/TableBodyRow.js +++ b/src/core/components/DataTable/body/TableBodyRow.js @@ -91,16 +91,16 @@ const DataTable_TableBodyRow = ({ const cellHighlightColor = isRowSelected ? selectedRowBackgroundColor : isRowPinned - ? pinnedRowBackgroundColor - : undefined; + ? pinnedRowBackgroundColor + : undefined; const cellHighlightColorHover = tableRowProps?.hover !== false ? isRowSelected ? cellHighlightColor : theme.palette.mode === "dark" - ? `${lighten(baseBackgroundColor, 0.2)}` - : `${darken(baseBackgroundColor, 0.2)}` + ? `${lighten(baseBackgroundColor, 0.2)}` + : `${darken(baseBackgroundColor, 0.2)}` : undefined; return ( @@ -126,9 +126,9 @@ const DataTable_TableBodyRow = ({ sx={(theme) => ({ "&:hover td:after": cellHighlightColorHover ? { - backgroundColor: alpha(cellHighlightColorHover, 0.3), - ...commonCellBeforeAfterStyles, - } + backgroundColor: alpha(cellHighlightColorHover, 0.3), + ...commonCellBeforeAfterStyles, + } : undefined, bottom: !virtualRow && bottomPinnedIndex !== undefined && isRowPinned @@ -140,24 +140,25 @@ const DataTable_TableBodyRow = ({ position: virtualRow ? "absolute" : rowPinningDisplayMode?.includes("sticky") && isRowPinned - ? "sticky" - : "relative", + ? "sticky" + : "relative", td: { ...getCommonPinnedCellStyles({ table, theme }), }, "td:after": cellHighlightColor ? { - backgroundColor: cellHighlightColor, - ...commonCellBeforeAfterStyles, - } + backgroundColor: cellHighlightColor, + ...commonCellBeforeAfterStyles, + } : undefined, top: virtualRow ? 0 : topPinnedIndex !== undefined && isRowPinned - ? `${topPinnedIndex * rowHeight + - (enableStickyHeader || isFullScreen ? tableHeadHeight - 1 : 0) + ? `${ + topPinnedIndex * rowHeight + + (enableStickyHeader || isFullScreen ? tableHeadHeight - 1 : 0) }px` - : undefined, + : undefined, transition: virtualRow ? "none" : "all 150ms ease-in-out", width: "100%", zIndex: rowPinningDisplayMode?.includes("sticky") && isRowPinned ? 2 : 0, @@ -181,11 +182,11 @@ const DataTable_TableBodyRow = ({ }; return cell ? ( memoMode === "cells" && - cell.column.columnDef.columnDefType === "data" && - !draggingColumn && - !draggingRow && - editingCell?.id !== cell.id && - editingRow?.id !== row.id ? ( + cell.column.columnDef.columnDefType === "data" && + !draggingColumn && + !draggingRow && + editingCell?.id !== cell.id && + editingRow?.id !== row.id ? ( ) : ( diff --git a/src/core/components/DataTable/filter/FilterBodyField.jsx b/src/core/components/DataTable/filter/FilterBodyField.jsx index 7f0337e..a9bef12 100644 --- a/src/core/components/DataTable/filter/FilterBodyField.jsx +++ b/src/core/components/DataTable/filter/FilterBodyField.jsx @@ -18,15 +18,15 @@ const columnFilterModeOptionFa = { }; function FilterBodyField({ - column, - filterParameters, - handleChange, - handleBlur, - setFieldValue, - errors, - touched, - resetForm, - }) { + column, + filterParameters, + handleChange, + handleBlur, + setFieldValue, + errors, + touched, + resetForm, +}) { const [anchorEl, setAnchorEl] = useState(null); const defaultFilterTranslation = columnFilterModeOptionFa[filterParameters.filterFn] || filterParameters.filterFn; @@ -48,8 +48,8 @@ function FilterBodyField({ touched={touched} /> ) : filterParameters.datatype === "numeric" && - filterParameters.filterFn === "equals" && - Array.isArray(column.columnSelectOption) ? ( + filterParameters.filterFn === "equals" && + Array.isArray(column.columnSelectOption) ? ( { diff --git a/src/core/components/DataTable/head/TableHeadCell.js b/src/core/components/DataTable/head/TableHeadCell.js index 046f833..631a122 100644 --- a/src/core/components/DataTable/head/TableHeadCell.js +++ b/src/core/components/DataTable/head/TableHeadCell.js @@ -67,20 +67,20 @@ const DataTable_TableHeadCell = ({ columnVirtualizer, header, staticColumnIndex, const borderStyle = showResizeBorder ? `2px solid ${draggingBorderColor} !important` : draggingColumn?.id === column.id - ? `1px dashed ${theme.palette.grey[500]}` - : hoveredColumn?.id === column.id - ? `2px dashed ${draggingBorderColor}` - : undefined; + ? `1px dashed ${theme.palette.grey[500]}` + : hoveredColumn?.id === column.id + ? `2px dashed ${draggingBorderColor}` + : undefined; if (showResizeBorder) { return columnResizeDirection === "ltr" ? { borderRight: borderStyle } : { borderLeft: borderStyle }; } const draggingBorders = borderStyle ? { - borderLeft: borderStyle, - borderRight: borderStyle, - borderTop: borderStyle, - } + borderLeft: borderStyle, + borderRight: borderStyle, + borderTop: borderStyle, + } : undefined; return draggingBorders; @@ -151,19 +151,19 @@ const DataTable_TableHeadCell = ({ columnVirtualizer, header, staticColumnIndex, density === "compact" ? "0.5rem" : density === "comfortable" - ? columnDefType === "display" - ? "0.75rem" - : "1rem" - : columnDefType === "display" - ? "1rem 1.25rem" - : "1.5rem", + ? columnDefType === "display" + ? "0.75rem" + : "1rem" + : columnDefType === "display" + ? "1rem 1.25rem" + : "1.5rem", pb: columnDefType === "display" ? 0 : showColumnFilters || density === "compact" ? "0.4rem" : "0.6rem", pt: columnDefType === "group" || density === "compact" ? "0.25rem" : density === "comfortable" - ? ".75rem" - : "1.25rem", + ? ".75rem" + : "1.25rem", userSelect: enableMultiSort && column.getCanSort() ? "none" : undefined, verticalAlign: "middle", ...getCommonMRTCellStyles({ @@ -188,8 +188,8 @@ const DataTable_TableHeadCell = ({ columnVirtualizer, header, staticColumnIndex, columnDefType === "group" || tableCellProps?.align === "center" ? "center" : column.getCanResize() - ? "space-between" - : "flex-start", + ? "space-between" + : "flex-start", position: "relative", width: "100%", }} @@ -218,7 +218,7 @@ const DataTable_TableHeadCell = ({ columnVirtualizer, header, staticColumnIndex, textAlign: "start", color: "#fff", fontWeight: "400", - whiteSpace: "nowrap" + whiteSpace: "nowrap", }} > {HeaderElement} @@ -226,9 +226,10 @@ const DataTable_TableHeadCell = ({ columnVirtualizer, header, staticColumnIndex, {column.getCanSort() && columnDefType !== "group" && ( {columns.map((column) => ( - + ))} @@ -50,4 +45,4 @@ function HideBody({ columns, drawerState, setDrawerState }) { ); } -export default HideBody; \ No newline at end of file +export default HideBody; diff --git a/src/core/components/DataTable/hide/HideBodyField.jsx b/src/core/components/DataTable/hide/HideBodyField.jsx index fe3dc2d..6b60966 100644 --- a/src/core/components/DataTable/hide/HideBodyField.jsx +++ b/src/core/components/DataTable/hide/HideBodyField.jsx @@ -22,7 +22,7 @@ const CustomTreeItem = styled(TreeItem)(({ theme }) => ({ function HideBodyField({ column, hideData, setHideData }) { const handleCheckboxChange = () => { - setHideData(prevData => { + setHideData((prevData) => { const updateHideData = (data, id) => { if (data.hasOwnProperty(id)) { return { ...data, [id]: !data[id] }; @@ -44,11 +44,7 @@ function HideBodyField({ column, hideData, setHideData }) { if (typeof hideData[column.id] === "boolean") { return ( - + {column.header} ); @@ -77,4 +73,4 @@ function HideBodyField({ column, hideData, setHideData }) { ); } -export default HideBodyField; \ No newline at end of file +export default HideBodyField; diff --git a/src/core/components/DataTable/hide/HideOrShowAll.jsx b/src/core/components/DataTable/hide/HideOrShowAll.jsx index ee3a903..c0d2e8d 100644 --- a/src/core/components/DataTable/hide/HideOrShowAll.jsx +++ b/src/core/components/DataTable/hide/HideOrShowAll.jsx @@ -67,4 +67,4 @@ function HideOrShowAll({ hideData, setHideData }) { ); } -export default HideOrShowAll; \ No newline at end of file +export default HideOrShowAll; diff --git a/src/core/components/DataTable/reset/ResetStorage.jsx b/src/core/components/DataTable/reset/ResetStorage.jsx index 6d8a534..9f6abd5 100644 --- a/src/core/components/DataTable/reset/ResetStorage.jsx +++ b/src/core/components/DataTable/reset/ResetStorage.jsx @@ -19,4 +19,4 @@ function ResetStorage({ user_id, page_name, table_name }) { ); } -export default ResetStorage; \ No newline at end of file +export default ResetStorage; diff --git a/src/core/components/DataTable/table/Paper.js b/src/core/components/DataTable/table/Paper.js index 05a0dbb..f972030 100644 --- a/src/core/components/DataTable/table/Paper.js +++ b/src/core/components/DataTable/table/Paper.js @@ -5,17 +5,17 @@ import DataTable_TopToolbar from "../toolbar/TopToolbar"; import DataTable_TableContainer from "./TableContainer"; const DataTable_Paper = ({ - table, - table_name, - columns, - user_id, - page_name, - mutate, - need_filter, - table_url, - table_title, - ...rest - }) => { + table, + table_name, + columns, + user_id, + page_name, + mutate, + need_filter, + table_url, + table_title, + ...rest +}) => { const { getState, options: { @@ -50,19 +50,19 @@ const DataTable_Paper = ({ style={{ ...(isFullScreen ? { - bottom: 0, - height: "100dvh", - left: 0, - margin: 0, - maxHeight: "100dvh", - maxWidth: "100dvw", - padding: 0, - position: "fixed", - right: 0, - top: 0, - width: "100dvw", - zIndex: 999, - } + bottom: 0, + height: "100dvh", + left: 0, + margin: 0, + maxHeight: "100dvh", + maxWidth: "100dvw", + padding: 0, + position: "fixed", + right: 0, + top: 0, + width: "100dvw", + zIndex: 999, + } : {}), ...paperProps?.style, }} diff --git a/src/core/components/DataTable/toolbar/TopToolbar.js b/src/core/components/DataTable/toolbar/TopToolbar.js index fc21ae7..a4d9db7 100644 --- a/src/core/components/DataTable/toolbar/TopToolbar.js +++ b/src/core/components/DataTable/toolbar/TopToolbar.js @@ -8,16 +8,16 @@ import ResetStorage from "@/core/components/DataTable/reset/ResetStorage"; import HideColumn from "@/core/components/DataTable/hide"; const DataTable_TopToolbar = ({ - mutate, - need_filter, - table, - columns, - table_url, - user_id, - page_name, - table_name, - table_title, - }) => { + mutate, + need_filter, + table, + columns, + table_url, + user_id, + page_name, + table_name, + table_title, +}) => { const { getState, options: { @@ -70,13 +70,21 @@ const DataTable_TopToolbar = ({ width: "100%", }} > - {renderTopToolbarCustomActions?.({ table })} - {table_title || ""} + + {renderTopToolbarCustomActions?.({ table })} + + + {table_title || ""} + {enableToolbarInternalActions && ( - + + table_name={table_name} + /> {need_filter && ( ; }); -export default DialogTransition \ No newline at end of file +export default DialogTransition; diff --git a/src/core/components/MapLayer/Loading/index.jsx b/src/core/components/MapLayer/Loading/index.jsx index 5d42012..806168c 100644 --- a/src/core/components/MapLayer/Loading/index.jsx +++ b/src/core/components/MapLayer/Loading/index.jsx @@ -2,11 +2,7 @@ import { Box, LinearProgress, Stack } from "@mui/material"; function MapLoading() { return ( - + @@ -14,4 +10,4 @@ function MapLoading() { ); } -export default MapLoading; \ No newline at end of file +export default MapLoading; diff --git a/src/core/components/MapLayer/index.jsx b/src/core/components/MapLayer/index.jsx index 52209da..1a07c9c 100644 --- a/src/core/components/MapLayer/index.jsx +++ b/src/core/components/MapLayer/index.jsx @@ -1,7 +1,7 @@ "use client"; import { MapContainer, TileLayer, useMap } from "react-leaflet"; -export const IRAN_CENTER = L.latLng(32.4279, 53.6880); +export const IRAN_CENTER = L.latLng(32.4279, 53.688); const MapOptions = ({ options }) => { const map = useMap(); @@ -40,4 +40,4 @@ function MapLayer({ children, style, otherLayers, options }) { ); } -export default MapLayer; \ No newline at end of file +export default MapLayer; diff --git a/src/core/components/NotificationDesign/AskForKeepData.jsx b/src/core/components/NotificationDesign/AskForKeepData.jsx index fa9bfa6..9e1cbd9 100644 --- a/src/core/components/NotificationDesign/AskForKeepData.jsx +++ b/src/core/components/NotificationDesign/AskForKeepData.jsx @@ -10,9 +10,7 @@ import { flattenObjectOfObjects } from "@/core/utils/flattenObjectOfObjects"; function AskForKeepData({ filterData, sortData, hideData, user_id, page_name, table_name, columns }) { const { filterAction, sortAction, hideAction } = useTableSetting(); - const filteredHideData = Object.fromEntries( - Object.entries(hideData).filter(([key, value]) => value === false), - ); + const filteredHideData = Object.fromEntries(Object.entries(hideData).filter(([key, value]) => value === false)); const flattenHideData = flattenObjectOfObjects(filteredHideData); @@ -53,19 +51,10 @@ function AskForKeepData({ filterData, sortData, hideData, user_id, page_name, ta آیا مایل به ذخیره تغییر های اعمال شده برای دفعات بعد هستید؟ - - @@ -73,4 +62,4 @@ function AskForKeepData({ filterData, sortData, hideData, user_id, page_name, ta ); } -export default AskForKeepData; \ No newline at end of file +export default AskForKeepData; diff --git a/src/core/components/PageTitle.jsx b/src/core/components/PageTitle.jsx index 605ad47..4c93098 100644 --- a/src/core/components/PageTitle.jsx +++ b/src/core/components/PageTitle.jsx @@ -4,9 +4,15 @@ import { Chip, Divider, Typography } from "@mui/material"; const PageTitle = ({ title }) => { return ( - {title}} /> + + + {title} + + } + /> + ); }; export default PageTitle; - diff --git a/src/core/components/SidebarMenu.jsx b/src/core/components/SidebarMenu.jsx index 736b032..a2c0531 100644 --- a/src/core/components/SidebarMenu.jsx +++ b/src/core/components/SidebarMenu.jsx @@ -35,48 +35,48 @@ function reducer(state, action) { return state.map((item) => action.id == item.id ? { - ...item, - showSubitems: !item.showSubitems, - } + ...item, + showSubitems: !item.showSubitems, + } : item ); case "COLLAPSE_SUB_ITEMS": return state.map((item) => { return item.hasSubitems ? { - ...item, - Subitems: item.Subitems.map((subitem) => - action.id === subitem.id - ? { - ...subitem, - showSubitems: !subitem.showSubitems, - } - : subitem - ), - } + ...item, + Subitems: item.Subitems.map((subitem) => + action.id === subitem.id + ? { + ...subitem, + showSubitems: !subitem.showSubitems, + } + : subitem + ), + } : item; }); case "COLLAPSE_SUB_SECOND_ITEMS": return state.map((item) => { return item.hasSubitems ? { - ...item, - Subitems: item.Subitems.map((subitem) => { - return subitem.hasSubitems - ? { - ...subitem, - Subitems: subitem.Subitems.map((secondSubitem) => - action.id === secondSubitem.id - ? { - ...secondSubitem, - showSubitems: !secondSubitem.showSubitems, - } - : secondSubitem - ), - } - : subitem; - }), - } + ...item, + Subitems: item.Subitems.map((subitem) => { + return subitem.hasSubitems + ? { + ...subitem, + Subitems: subitem.Subitems.map((secondSubitem) => + action.id === secondSubitem.id + ? { + ...secondSubitem, + showSubitems: !secondSubitem.showSubitems, + } + : secondSubitem + ), + } + : subitem; + }), + } : item; }); case "SELECTED": diff --git a/src/core/components/StyledForm.jsx b/src/core/components/StyledForm.jsx index 4513129..accf0ab 100644 --- a/src/core/components/StyledForm.jsx +++ b/src/core/components/StyledForm.jsx @@ -1,5 +1,5 @@ import { styled } from "@mui/material"; -const StyledForm = styled('form')``; +const StyledForm = styled("form")``; export default StyledForm; diff --git a/src/core/utils/cacheRtl.js b/src/core/utils/cacheRtl.js index 6cf5267..a646aa5 100644 --- a/src/core/utils/cacheRtl.js +++ b/src/core/utils/cacheRtl.js @@ -4,7 +4,7 @@ import { prefixer } from "stylis"; import stylisRTLPlugin from "stylis-plugin-rtl"; import { CacheProvider } from "@emotion/react"; -const isBrowser = typeof document !== 'undefined'; +const isBrowser = typeof document !== "undefined"; const createEmotionCache = () => { let insertionPoint; diff --git a/src/core/utils/errorResponse.js b/src/core/utils/errorResponse.js index 9eae51c..c71bfed 100644 --- a/src/core/utils/errorResponse.js +++ b/src/core/utils/errorResponse.js @@ -19,7 +19,7 @@ const errorServer = (response, notification, toastContainer) => { const errorClient = (response, notification, toastContainer, logout) => { switch (response.status) { case 401: - logout() + logout(); if (notification) errorUnauthorizedToast(toastContainer); break; case 422: diff --git a/src/core/utils/flattenArrayOfObjects.js b/src/core/utils/flattenArrayOfObjects.js index ec3cc23..e4d5051 100644 --- a/src/core/utils/flattenArrayOfObjects.js +++ b/src/core/utils/flattenArrayOfObjects.js @@ -7,4 +7,3 @@ export const flattenArrayOfObjects = (array, key) => { return acc; }, []); }; - diff --git a/src/core/utils/flattenObjectOfObjects.jsx b/src/core/utils/flattenObjectOfObjects.jsx index 3fdac84..fb03576 100644 --- a/src/core/utils/flattenObjectOfObjects.jsx +++ b/src/core/utils/flattenObjectOfObjects.jsx @@ -9,4 +9,4 @@ export const flattenObjectOfObjects = (obj, res = {}) => { } } return res; -}; \ No newline at end of file +}; diff --git a/src/lib/contexts/DataTable.js b/src/lib/contexts/DataTable.js index 789df28..ff3439c 100644 --- a/src/lib/contexts/DataTable.js +++ b/src/lib/contexts/DataTable.js @@ -23,7 +23,7 @@ const DataTableProvider = ({ children, user_id, page_name, table_name, columns } const filterValues = flatColumns.reduce((acc, column) => { if (!column.enableColumnFilter) return acc; const storeFilter = settingStore?.[user_id]?.[page_name]?.[table_name]?.["filters"]?.find( - (filter) => filter.id === column.id, + (filter) => filter.id === column.id ); if (column.datatype === "array") { acc[column.id] = { @@ -100,7 +100,7 @@ const DataTableProvider = ({ children, user_id, page_name, table_name, columns } position: "bottom-left", draggable: true, autoClose: false, - }, + } ); } else { toast.update("keep_data", { diff --git a/src/lib/contexts/auth.js b/src/lib/contexts/auth.js index 074c8db..0dfa41a 100644 --- a/src/lib/contexts/auth.js +++ b/src/lib/contexts/auth.js @@ -49,7 +49,7 @@ export const AuthProvider = ({ children }) => { clearUser(); changeAuthState(false); changeInitAuth(true); - } + }; const getUser = useCallback(async () => { try { @@ -77,7 +77,7 @@ export const AuthProvider = ({ children }) => { isAuth: state.isAuth, initAuthState: state.initAuthState, getUser, - logout + logout, }} > {children} diff --git a/src/lib/contexts/tableSetting.js b/src/lib/contexts/tableSetting.js index 0484511..55d4e29 100644 --- a/src/lib/contexts/tableSetting.js +++ b/src/lib/contexts/tableSetting.js @@ -130,4 +130,4 @@ export const TableSettingProvider = ({ children }) => { {children} ); -}; \ No newline at end of file +}; diff --git a/src/lib/hooks/useRequest.js b/src/lib/hooks/useRequest.js index 48a2080..eb30a18 100644 --- a/src/lib/hooks/useRequest.js +++ b/src/lib/hooks/useRequest.js @@ -16,7 +16,7 @@ const defaultOptions = { }; const useRequest = (initOptions) => { - const { logout } = useAuth() + const { logout } = useAuth(); const _options = Object.assign({}, defaultOptions, initOptions); @@ -38,7 +38,8 @@ const useRequest = (initOptions) => { errorResponse( error.response, mergedOptions.notification.show && mergedOptions.notification.failed, - "request_data", logout + "request_data", + logout ); } throw error; From 980a5248f4c135f5e1f8a1f0cb8515d5947d5723 Mon Sep 17 00:00:00 2001 From: Amirhossein Mahmoodi Date: Sun, 18 Aug 2024 13:19:58 +0330 Subject: [PATCH 2/2] add header menu --- .../headerWithSidebar/HeaderMenu/index.jsx | 53 +++++++++++- .../dashboard/headerWithSidebar/index.jsx | 3 +- src/core/utils/headerMenu.js | 80 +++++++++++++++++++ 3 files changed, 133 insertions(+), 3 deletions(-) create mode 100644 src/core/utils/headerMenu.js diff --git a/src/components/layouts/dashboard/headerWithSidebar/HeaderMenu/index.jsx b/src/components/layouts/dashboard/headerWithSidebar/HeaderMenu/index.jsx index c705242..5dcf168 100644 --- a/src/components/layouts/dashboard/headerWithSidebar/HeaderMenu/index.jsx +++ b/src/components/layouts/dashboard/headerWithSidebar/HeaderMenu/index.jsx @@ -1,4 +1,53 @@ -const HeaderMenu = () => { - return <>منو; +import { ExpandLess, ExpandMore, Link } from "@mui/icons-material"; +import { Button, Divider, ListItemIcon, ListItemText, Menu, MenuItem } from "@mui/material"; +import NextLink from "next/link"; +import { useState } from "react"; + +const HeaderMenu = ({ menu }) => { + const [anchorEl, setAnchorEl] = useState(null); + const open = Boolean(anchorEl); + + const handleClick = (event) => { + setAnchorEl(event.currentTarget); + }; + const handleClose = () => { + setAnchorEl(null); + }; + + return ( + <> + + + {menu.subMenu.map((subMenu, index) => ( + <> + {subMenu.map(sub => ( + + + + + + {sub.title} + + ))} + {menu.subMenu.length - 1 !== index && ( + + )} + + ))} + + + ); }; export default HeaderMenu; diff --git a/src/components/layouts/dashboard/headerWithSidebar/index.jsx b/src/components/layouts/dashboard/headerWithSidebar/index.jsx index 5190d9e..7ff7e4f 100644 --- a/src/components/layouts/dashboard/headerWithSidebar/index.jsx +++ b/src/components/layouts/dashboard/headerWithSidebar/index.jsx @@ -6,6 +6,7 @@ import { Box, Drawer, IconButton, Stack, styled, Toolbar, Typography } from "@mu import MuiAppBar from "@mui/material/AppBar"; import { useState } from "react"; import HeaderMenu from "./HeaderMenu"; +import { headerMenu } from "@/core/utils/headerMenu"; const drawerWidth = 300; @@ -75,7 +76,7 @@ const HeaderWithSidebar = ({ children }) => { - + {headerMenu.map(menu => )} diff --git a/src/core/utils/headerMenu.js b/src/core/utils/headerMenu.js new file mode 100644 index 0000000..4f42f34 --- /dev/null +++ b/src/core/utils/headerMenu.js @@ -0,0 +1,80 @@ +export const headerMenu = [ + { + title: 'تصادفات', + subMenu: [ + [ + { + title: 'تصادفات روزانه', + href: 'https://rms.witel.ir/v2/daily_accidents/create' + } + ] + ] + }, + { + title: 'گزارش های جامع', + subMenu: [ + [ + { + title: 'گزارش محوری', + href: 'https://rms.witel.ir/v2/axis_reports' + }, + { + title: 'هوش تجاری (‌BI)', + href: 'https://rms.witel.ir/v2/axis_reports' + } + ] + ] + }, + { + title: 'زیرساخت و ناوگان', + subMenu: [ + [ + { + title: 'پراکندگی بر روی نقشه راهدارخانه ها', + href: 'https://rms.witel.ir/v2/map?type=rahdar' + }, + { + title: 'راهدارخانه ها', + href: 'https://rms.witel.ir/v2/rahdari_points' + } + ], + [ + { + title: 'ممیزی ماشین آلات راهداری کشور', + href: 'https://rms.witel.ir/cmms-audit' + } + ] + ] + }, + { + title: 'سامانه های راهداری', + subMenu: [ + [ + { + title: 'تحقیق و توسعه', + href: 'https://rms.witel.ir/RandD' + }, + { + title: 'سامانه مدیریت یکپارچه زیرساخت های راه (PMS,BMS,SMS)', + href: 'http://roadams.rmto.ir' + }, + { + title: 'سامانه مدیریت ناوگان (FMS)', + href: 'http://fms.141.ir' + }, + { + title: 'سامانه جامع مدیریت سوانح و حوادث جاده ای', + href: 'https://items.rmto.ir' + }, + { + title: 'سامانه مدیریت نگهداری ماشین آلات (CMMS)', + href: 'https://cmms.rmto.ir/Login.aspx?ReturnUrl=%2f' + }, + { + title: 'درگاه کاتالوگ داده', + href: 'https://roadams.rmto.ir:8080' + } + ] + ] + } +] \ No newline at end of file