From 885c9bdecd946ded8c40dfa758ec1bf454eff4cc Mon Sep 17 00:00:00 2001 From: Mohammad Jalali Date: Mon, 16 Sep 2024 16:44:59 +0330 Subject: [PATCH] complete all 4 pages with their table and make a adapter for datatable --- src/app/api/fake-data/route.js | 7 + .../assistant/zaminGov/TaskList.jsx | 130 ++++++++++++++++++ .../assistant/zaminGov/index.jsx | 2 + .../cityAdmin/zaminGov/TaskList.jsx | 130 ++++++++++++++++++ .../cityAdmin/zaminGov/index.jsx | 2 + .../generalManager/zaminGov/TaskList.jsx | 130 ++++++++++++++++++ .../generalManager/zaminGov/index.jsx | 2 + .../provinceAdmin/zaminGov/TaskList.jsx | 130 ++++++++++++++++++ .../provinceAdmin/zaminGov/index.jsx | 2 + src/core/components/DataTable/Main.js | 2 +- src/core/components/DataTableWithAuth.jsx | 13 ++ 11 files changed, 549 insertions(+), 1 deletion(-) create mode 100644 src/app/api/fake-data/route.js create mode 100644 src/components/dashboard/inquiryPrivacy/assistant/zaminGov/TaskList.jsx create mode 100644 src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/TaskList.jsx create mode 100644 src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/TaskList.jsx create mode 100644 src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/TaskList.jsx create mode 100644 src/core/components/DataTableWithAuth.jsx diff --git a/src/app/api/fake-data/route.js b/src/app/api/fake-data/route.js new file mode 100644 index 0000000..9b7ab03 --- /dev/null +++ b/src/app/api/fake-data/route.js @@ -0,0 +1,7 @@ +const data = [ + // put your fake data here +]; + +export async function GET() { + return Response.json({ data }); +} \ No newline at end of file diff --git a/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/TaskList.jsx b/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/TaskList.jsx new file mode 100644 index 0000000..b858b03 --- /dev/null +++ b/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/TaskList.jsx @@ -0,0 +1,130 @@ +"use client"; + +import { useMemo } from "react"; +import { Box, IconButton, Tooltip } from "@mui/material"; +import DataTableWithAuth from "@/core/components/DataTableWithAuth"; +import AssignmentIcon from "@mui/icons-material/Assignment"; + +const TaskList = () => { + const columns = useMemo( + () => [ + { + accessorKey: "aplication_number", + header: "شماره درخواست", + id: "aplication_number", + enableColumnFilter: false, + datatype: "text", + filterFn: "notEquals", + }, + { + accessorKey: "application_date", + header: "تاریخ درخواست", + id: "application_date", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "province", + header: "استان", + id: "province", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "city", + header: "شهر", + id: "city", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "county", + header: "بخش", + id: "county", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "village", + header: "روستا", + id: "village", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "land_area", + header: "مساحت زمین", + id: "land_area", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_area", + header: "مساحت طرح", + id: "design_area", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "organization", + header: "سازمان", + id: "organization", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_group", + header: "گروه طرح", + id: "design_group", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_title", + header: "عنوان طرح", + id: "design_title", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + ], + [], + ); + + return ( + <> + + ( + + console.log("next part")} + > + + + + )} + /> + + + ); +}; +export default TaskList; diff --git a/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/index.jsx b/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/index.jsx index ef86fbd..6de55e0 100644 --- a/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/index.jsx +++ b/src/components/dashboard/inquiryPrivacy/assistant/zaminGov/index.jsx @@ -2,11 +2,13 @@ import PageTitle from "@/core/components/PageTitle"; import { Stack } from "@mui/material"; +import TaskList from "./TaskList"; const AssistantZaminGovComponent = () => { return ( + ); }; diff --git a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/TaskList.jsx b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/TaskList.jsx new file mode 100644 index 0000000..6951ea6 --- /dev/null +++ b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/TaskList.jsx @@ -0,0 +1,130 @@ +"use client"; + +import { useMemo } from "react"; +import { Box, IconButton, Tooltip } from "@mui/material"; +import DataTableWithAuth from "@/core/components/DataTableWithAuth"; +import AssignmentIcon from "@mui/icons-material/Assignment"; + +const TaskList = () => { + const columns = useMemo( + () => [ + { + accessorKey: "aplication_number", + header: "شماره درخواست", + id: "aplication_number", + enableColumnFilter: false, + datatype: "text", + filterFn: "notEquals", + }, + { + accessorKey: "application_date", + header: "تاریخ درخواست", + id: "application_date", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "province", + header: "استان", + id: "province", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "city", + header: "شهر", + id: "city", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "county", + header: "بخش", + id: "county", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "village", + header: "روستا", + id: "village", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "land_area", + header: "مساحت زمین", + id: "land_area", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_area", + header: "مساحت طرح", + id: "design_area", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "organization", + header: "سازمان", + id: "organization", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_group", + header: "گروه طرح", + id: "design_group", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_title", + header: "عنوان طرح", + id: "design_title", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + ], + [], + ); + + return ( + <> + + ( + + console.log("next part")} + > + + + + )} + /> + + + ); +}; +export default TaskList; diff --git a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/index.jsx b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/index.jsx index 70d4323..29f2aeb 100644 --- a/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/index.jsx +++ b/src/components/dashboard/inquiryPrivacy/cityAdmin/zaminGov/index.jsx @@ -2,11 +2,13 @@ import PageTitle from "@/core/components/PageTitle"; 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 new file mode 100644 index 0000000..ee5e667 --- /dev/null +++ b/src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/TaskList.jsx @@ -0,0 +1,130 @@ +"use client"; + +import { useMemo } from "react"; +import { Box, IconButton, Tooltip } from "@mui/material"; +import DataTableWithAuth from "@/core/components/DataTableWithAuth"; +import AssignmentIcon from "@mui/icons-material/Assignment"; + +const TaskList = () => { + const columns = useMemo( + () => [ + { + accessorKey: "aplication_number", + header: "شماره درخواست", + id: "aplication_number", + enableColumnFilter: false, + datatype: "text", + filterFn: "notEquals", + }, + { + accessorKey: "application_date", + header: "تاریخ درخواست", + id: "application_date", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "province", + header: "استان", + id: "province", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "city", + header: "شهر", + id: "city", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "county", + header: "بخش", + id: "county", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "village", + header: "روستا", + id: "village", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "land_area", + header: "مساحت زمین", + id: "land_area", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_area", + header: "مساحت طرح", + id: "design_area", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "organization", + header: "سازمان", + id: "organization", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_group", + header: "گروه طرح", + id: "design_group", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_title", + header: "عنوان طرح", + id: "design_title", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + ], + [], + ); + + return ( + <> + + ( + + console.log("next part")} + > + + + + )} + /> + + + ); +}; +export default TaskList; diff --git a/src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/index.jsx b/src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/index.jsx index a57f26a..f348745 100644 --- a/src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/index.jsx +++ b/src/components/dashboard/inquiryPrivacy/generalManager/zaminGov/index.jsx @@ -2,11 +2,13 @@ import PageTitle from "@/core/components/PageTitle"; import { Stack } from "@mui/material"; +import TaskList from "./TaskList"; const GeneralManagerZaminGovComponent = () => { return ( + ); }; diff --git a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/TaskList.jsx b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/TaskList.jsx new file mode 100644 index 0000000..02b750e --- /dev/null +++ b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/TaskList.jsx @@ -0,0 +1,130 @@ +"use client"; + +import { useMemo } from "react"; +import { Box, IconButton, Tooltip } from "@mui/material"; +import DataTableWithAuth from "@/core/components/DataTableWithAuth"; +import AssignmentIcon from "@mui/icons-material/Assignment"; + +const TaskList = () => { + const columns = useMemo( + () => [ + { + accessorKey: "aplication_number", + header: "شماره درخواست", + id: "aplication_number", + enableColumnFilter: false, + datatype: "text", + filterFn: "notEquals", + }, + { + accessorKey: "application_date", + header: "تاریخ درخواست", + id: "application_date", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "province", + header: "استان", + id: "province", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "city", + header: "شهر", + id: "city", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "county", + header: "بخش", + id: "county", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "village", + header: "روستا", + id: "village", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "land_area", + header: "مساحت زمین", + id: "land_area", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_area", + header: "مساحت طرح", + id: "design_area", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "organization", + header: "سازمان", + id: "organization", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_group", + header: "گروه طرح", + id: "design_group", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + { + accessorKey: "design_title", + header: "عنوان طرح", + id: "design_title", + enableColumnFilter: false, + datatype: "text", + filterFn: "equals", + }, + ], + [], + ); + + return ( + <> + + ( + + console.log("next part")} + > + + + + )} + /> + + + ); +}; +export default TaskList; diff --git a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/index.jsx b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/index.jsx index 83e1a1c..a8609f8 100644 --- a/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/index.jsx +++ b/src/components/dashboard/inquiryPrivacy/provinceAdmin/zaminGov/index.jsx @@ -2,11 +2,13 @@ import PageTitle from "@/core/components/PageTitle"; import { Stack } from "@mui/material"; +import TaskList from "./TaskList"; const ProvinceAdminZaminGovComponent = () => { return ( + ); }; diff --git a/src/core/components/DataTable/Main.js b/src/core/components/DataTable/Main.js index 5aed12b..8a4c0a1 100644 --- a/src/core/components/DataTable/Main.js +++ b/src/core/components/DataTable/Main.js @@ -108,7 +108,7 @@ const DataTable_Main = (props) => { onSortingChange: onSortingChange, renderTopToolbarCustomActions: ({ table }) => ( <> - + {TableToolbar && } ), ...props, diff --git a/src/core/components/DataTableWithAuth.jsx b/src/core/components/DataTableWithAuth.jsx new file mode 100644 index 0000000..ee0a6c4 --- /dev/null +++ b/src/core/components/DataTableWithAuth.jsx @@ -0,0 +1,13 @@ +import DataTable from "@/core/components/DataTable"; +import { useAuth } from "@/lib/contexts/auth"; + +const DataTableWithAuth = (props) => { + const { user } = useAuth(); + return ( + + ); +}; +export default DataTableWithAuth;