Merge branch 'feature/remove_addition_column' into 'develop'
remove addition columns See merge request witel-front-end/rms!14
This commit is contained in:
@@ -1,12 +1,15 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import DialogTransition from "@/core/components/DialogTransition";
|
import DialogTransition from "@/core/components/DialogTransition";
|
||||||
import { AddCircle, Close } from "@mui/icons-material";
|
import { AddCircle, Close } from "@mui/icons-material";
|
||||||
import { Button, Dialog, DialogTitle, IconButton } from "@mui/material";
|
import { Button, Dialog, DialogTitle, IconButton, useMediaQuery } from "@mui/material";
|
||||||
import CreateOrUpdateForm from "../../Forms/CreateOrUpdate";
|
import CreateOrUpdateForm from "../../Forms/CreateOrUpdate";
|
||||||
import { SET_INQUIRE_PRIVACY_FENCING } from "@/core/utils/routes";
|
import { SET_INQUIRE_PRIVACY_FENCING } from "@/core/utils/routes";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
import { useTheme } from "@emotion/react";
|
||||||
|
|
||||||
const InquiryPrivacyFencingCreate = ({ mutate }) => {
|
const InquiryPrivacyFencingCreate = ({ mutate }) => {
|
||||||
|
const theme = useTheme();
|
||||||
|
const isMobile = useMediaQuery(theme.breakpoints.down("sm"));
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
|
|
||||||
const handleOpen = () => {
|
const handleOpen = () => {
|
||||||
@@ -19,11 +22,22 @@ const InquiryPrivacyFencingCreate = ({ mutate }) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Button variant="contained" color="primary2" startIcon={<AddCircle />} onClick={handleOpen}>
|
{isMobile ? (
|
||||||
ایجاد پاسخ به استعلام
|
<IconButton aria-label="ایجاد پاسخ به استعلام" color="primary" onClick={handleOpen}>
|
||||||
</Button>
|
<AddCircle sx={{ fontSize: "25px" }} />
|
||||||
|
</IconButton>
|
||||||
|
) : (
|
||||||
|
<Button
|
||||||
|
variant="contained"
|
||||||
|
color="primary"
|
||||||
|
startIcon={<AddCircle />}
|
||||||
|
onClick={handleOpen}
|
||||||
|
>
|
||||||
|
ایجاد پاسخ به استعلام
|
||||||
|
</Button>
|
||||||
|
)}
|
||||||
<Dialog open={open} fullScreen TransitionComponent={DialogTransition}>
|
<Dialog open={open} fullScreen TransitionComponent={DialogTransition}>
|
||||||
<DialogTitle sx={{ m: 0, p: 2, borderBottom: 1, borderColor: 'divider' }} id="create-dialog">
|
<DialogTitle sx={{ m: 0, p: 2, borderBottom: 1, borderColor: "divider" }} id="create-dialog">
|
||||||
ایجاد پاسخ به استعلام
|
ایجاد پاسخ به استعلام
|
||||||
</DialogTitle>
|
</DialogTitle>
|
||||||
<IconButton
|
<IconButton
|
||||||
|
|||||||
@@ -4,80 +4,12 @@ import { useMemo } from "react";
|
|||||||
import Toolbar from "@/components/dashboard/inquiryPrivacyFencing/Toolbar";
|
import Toolbar from "@/components/dashboard/inquiryPrivacyFencing/Toolbar";
|
||||||
import DataTable from "@/core/components/DataTable";
|
import DataTable from "@/core/components/DataTable";
|
||||||
import { GET_INQUIRY_PRIVACY_FENCING_ROUTE } from "@/core/utils/routes";
|
import { GET_INQUIRY_PRIVACY_FENCING_ROUTE } from "@/core/utils/routes";
|
||||||
|
import { Box } from "@mui/material";
|
||||||
|
import PageTitle from "@/core/components/PageTitle";
|
||||||
|
|
||||||
const InquiryPrivacyFencingPage = () => {
|
const InquiryPrivacyFencingPage = () => {
|
||||||
const columns = useMemo(
|
const columns = useMemo(
|
||||||
() => [
|
() => [
|
||||||
{
|
|
||||||
accessorKey: "fullname",
|
|
||||||
header: "نام کامل",
|
|
||||||
id: "fullname",
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
accessorKey: "first_name",
|
|
||||||
header: "اسم",
|
|
||||||
id: "first_name",
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
accessorKey: "part1",
|
|
||||||
header: "فامیل",
|
|
||||||
id: "part1",
|
|
||||||
enableColumnFilter: false,
|
|
||||||
datatype: "text",
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
accessorKey: "part1_1",
|
|
||||||
header: "part1_1",
|
|
||||||
id: "part1_1",
|
|
||||||
enableColumnFilter: false,
|
|
||||||
datatype: "text",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
accessorKey: "part1_2",
|
|
||||||
header: "part1_2",
|
|
||||||
id: "part1_2",
|
|
||||||
enableColumnFilter: false,
|
|
||||||
datatype: "text",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
accessorKey: "part2",
|
|
||||||
header: "part2",
|
|
||||||
id: "part2",
|
|
||||||
enableColumnFilter: false,
|
|
||||||
datatype: "text",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
accessorKey: "last_name",
|
|
||||||
header: "last_name",
|
|
||||||
id: "last_name",
|
|
||||||
enableColumnFilter: false,
|
|
||||||
datatype: "text",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
accessorKey: "something",
|
|
||||||
header: "something",
|
|
||||||
id: "something",
|
|
||||||
columns: [
|
|
||||||
{
|
|
||||||
accessorKey: "something1",
|
|
||||||
header: "something1",
|
|
||||||
id: "something1",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
accessorKey: "something2",
|
|
||||||
header: "something2",
|
|
||||||
id: "something2",
|
|
||||||
enableColumnFilter: false,
|
|
||||||
datatype: "text",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
accessorKey: "dabirkhaneh_number",
|
accessorKey: "dabirkhaneh_number",
|
||||||
header: "شماره دبیرخانه درخواست",
|
header: "شماره دبیرخانه درخواست",
|
||||||
@@ -85,7 +17,6 @@ const InquiryPrivacyFencingPage = () => {
|
|||||||
enableColumnFilter: false,
|
enableColumnFilter: false,
|
||||||
datatype: "text",
|
datatype: "text",
|
||||||
filterFn: "notEquals",
|
filterFn: "notEquals",
|
||||||
columnFilterModeOptions: ["equals", "notEquals", "contains"],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "marjae_pasokh",
|
accessorKey: "marjae_pasokh",
|
||||||
@@ -94,7 +25,6 @@ const InquiryPrivacyFencingPage = () => {
|
|||||||
enableColumnFilter: false,
|
enableColumnFilter: false,
|
||||||
datatype: "text",
|
datatype: "text",
|
||||||
filterFn: "equals",
|
filterFn: "equals",
|
||||||
columnFilterModeOptions: ["equals", "notEquals", "contains", "lessThan", "greaterThan", "fuzzy"],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "motaghazi_is_legal",
|
accessorKey: "motaghazi_is_legal",
|
||||||
@@ -269,7 +199,6 @@ const InquiryPrivacyFencingPage = () => {
|
|||||||
header: "ماه",
|
header: "ماه",
|
||||||
id: "max_month",
|
id: "max_month",
|
||||||
enableColumnFilter: false,
|
enableColumnFilter: false,
|
||||||
columnFilterModeOptions: ["equals", "notEquals", "contains"],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "max_day",
|
accessorKey: "max_day",
|
||||||
@@ -306,15 +235,21 @@ const InquiryPrivacyFencingPage = () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<DataTable
|
<>
|
||||||
need_filter={false}
|
<PageTitle title={"احداث و بهره برداری دیوارکشی و مستحدثات"} />
|
||||||
columns={columns}
|
<Box sx={{ p: 2, border: "1px solid #e1e1e1" }}>
|
||||||
table_url={GET_INQUIRY_PRIVACY_FENCING_ROUTE}
|
<DataTable
|
||||||
user_id={0}
|
table_title={"لیست استعلام ها"}
|
||||||
page_name={"inquiryPrivacyFencing"}
|
need_filter={false}
|
||||||
table_name={"inquiryPrivacyFencingList"}
|
columns={columns}
|
||||||
TableToolbar={Toolbar}
|
table_url={GET_INQUIRY_PRIVACY_FENCING_ROUTE}
|
||||||
/>
|
user_id={0}
|
||||||
|
page_name={"inquiryPrivacyFencing"}
|
||||||
|
table_name={"inquiryPrivacyFencingList"}
|
||||||
|
TableToolbar={Toolbar}
|
||||||
|
/>
|
||||||
|
</Box>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
export default InquiryPrivacyFencingPage;
|
export default InquiryPrivacyFencingPage;
|
||||||
|
|||||||
@@ -11,7 +11,17 @@ import { flattenObjectOfObjects } from "@/core/utils/flattenObjectOfObjects";
|
|||||||
const DataTable_Main = (props) => {
|
const DataTable_Main = (props) => {
|
||||||
const request = useRequest();
|
const request = useRequest();
|
||||||
const { filterData, sortData, setSortData, hideData } = useDataTable();
|
const { filterData, sortData, setSortData, hideData } = useDataTable();
|
||||||
const { need_filter, table_url, user_id, page_name, table_name, columns, initialStateProps, TableToolbar } = props;
|
const {
|
||||||
|
need_filter,
|
||||||
|
table_url,
|
||||||
|
user_id,
|
||||||
|
page_name,
|
||||||
|
table_name,
|
||||||
|
columns,
|
||||||
|
initialStateProps,
|
||||||
|
TableToolbar,
|
||||||
|
table_title,
|
||||||
|
} = props;
|
||||||
const flatColumns = flattenArrayOfObjects(columns, "columns");
|
const flatColumns = flattenArrayOfObjects(columns, "columns");
|
||||||
const [pagination, setPagination] = useState({ pageIndex: 0, pageSize: 10 });
|
const [pagination, setPagination] = useState({ pageIndex: 0, pageSize: 10 });
|
||||||
const flattenHideData = flattenObjectOfObjects(hideData);
|
const flattenHideData = flattenObjectOfObjects(hideData);
|
||||||
@@ -109,6 +119,7 @@ const DataTable_Main = (props) => {
|
|||||||
return (
|
return (
|
||||||
<DataTable_Paper
|
<DataTable_Paper
|
||||||
table={table}
|
table={table}
|
||||||
|
table_title={table_title}
|
||||||
need_filter={need_filter}
|
need_filter={need_filter}
|
||||||
mutate={mutate}
|
mutate={mutate}
|
||||||
table_url={table_url}
|
table_url={table_url}
|
||||||
|
|||||||
@@ -5,16 +5,17 @@ import DataTable_TopToolbar from "../toolbar/TopToolbar";
|
|||||||
import DataTable_TableContainer from "./TableContainer";
|
import DataTable_TableContainer from "./TableContainer";
|
||||||
|
|
||||||
const DataTable_Paper = ({
|
const DataTable_Paper = ({
|
||||||
table,
|
table,
|
||||||
table_name,
|
table_name,
|
||||||
columns,
|
columns,
|
||||||
user_id,
|
user_id,
|
||||||
page_name,
|
page_name,
|
||||||
mutate,
|
mutate,
|
||||||
need_filter,
|
need_filter,
|
||||||
table_url,
|
table_url,
|
||||||
...rest
|
table_title,
|
||||||
}) => {
|
...rest
|
||||||
|
}) => {
|
||||||
const {
|
const {
|
||||||
getState,
|
getState,
|
||||||
options: {
|
options: {
|
||||||
@@ -49,19 +50,19 @@ const DataTable_Paper = ({
|
|||||||
style={{
|
style={{
|
||||||
...(isFullScreen
|
...(isFullScreen
|
||||||
? {
|
? {
|
||||||
bottom: 0,
|
bottom: 0,
|
||||||
height: "100dvh",
|
height: "100dvh",
|
||||||
left: 0,
|
left: 0,
|
||||||
margin: 0,
|
margin: 0,
|
||||||
maxHeight: "100dvh",
|
maxHeight: "100dvh",
|
||||||
maxWidth: "100dvw",
|
maxWidth: "100dvw",
|
||||||
padding: 0,
|
padding: 0,
|
||||||
position: "fixed",
|
position: "fixed",
|
||||||
right: 0,
|
right: 0,
|
||||||
top: 0,
|
top: 0,
|
||||||
width: "100dvw",
|
width: "100dvw",
|
||||||
zIndex: 999,
|
zIndex: 999,
|
||||||
}
|
}
|
||||||
: {}),
|
: {}),
|
||||||
...paperProps?.style,
|
...paperProps?.style,
|
||||||
}}
|
}}
|
||||||
@@ -84,6 +85,7 @@ const DataTable_Paper = ({
|
|||||||
user_id={user_id}
|
user_id={user_id}
|
||||||
page_name={page_name}
|
page_name={page_name}
|
||||||
table_name={table_name}
|
table_name={table_name}
|
||||||
|
table_title={table_title}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
<DataTable_TableContainer table={table} />
|
<DataTable_TableContainer table={table} />
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { getCommonToolbarStyles, parseFromValuesOrFunc } from "@/core/utils/utils";
|
import { getCommonToolbarStyles, parseFromValuesOrFunc } from "@/core/utils/utils";
|
||||||
import { Box, useMediaQuery } from "@mui/material";
|
import { Box, Typography, useMediaQuery } from "@mui/material";
|
||||||
import DataTable_LinearProgressBar from "./LinearProgressBar";
|
import DataTable_LinearProgressBar from "./LinearProgressBar";
|
||||||
import DataTable_TablePagination from "./TablePagination";
|
import DataTable_TablePagination from "./TablePagination";
|
||||||
import FilterColumn from "@/core/components/DataTable/filter";
|
import FilterColumn from "@/core/components/DataTable/filter";
|
||||||
@@ -7,7 +7,17 @@ import UpdateTable from "@/core/components/DataTable/update/UpdateTable";
|
|||||||
import ResetStorage from "@/core/components/DataTable/reset/ResetStorage";
|
import ResetStorage from "@/core/components/DataTable/reset/ResetStorage";
|
||||||
import HideColumn from "@/core/components/DataTable/hide";
|
import HideColumn from "@/core/components/DataTable/hide";
|
||||||
|
|
||||||
const DataTable_TopToolbar = ({ mutate, need_filter, table, columns, table_url, user_id, page_name, table_name }) => {
|
const DataTable_TopToolbar = ({
|
||||||
|
mutate,
|
||||||
|
need_filter,
|
||||||
|
table,
|
||||||
|
columns,
|
||||||
|
table_url,
|
||||||
|
user_id,
|
||||||
|
page_name,
|
||||||
|
table_name,
|
||||||
|
table_title,
|
||||||
|
}) => {
|
||||||
const {
|
const {
|
||||||
getState,
|
getState,
|
||||||
options: {
|
options: {
|
||||||
@@ -47,11 +57,12 @@ const DataTable_TopToolbar = ({ mutate, need_filter, table, columns, table_url,
|
|||||||
>
|
>
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
alignItems: "flex-start",
|
flexWrap: { xs: "wrap", sm: "no-wrap" },
|
||||||
boxSizing: "border-box",
|
boxSizing: "border-box",
|
||||||
display: "flex",
|
display: "flex",
|
||||||
gap: "0.5rem",
|
gap: "0.5rem",
|
||||||
justifyContent: "space-between",
|
justifyContent: "space-between",
|
||||||
|
alignItems: "center",
|
||||||
py: "0.5rem",
|
py: "0.5rem",
|
||||||
position: stackAlertBanner ? "relative" : "absolute",
|
position: stackAlertBanner ? "relative" : "absolute",
|
||||||
right: 0,
|
right: 0,
|
||||||
@@ -59,15 +70,22 @@ const DataTable_TopToolbar = ({ mutate, need_filter, table, columns, table_url,
|
|||||||
width: "100%",
|
width: "100%",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{renderTopToolbarCustomActions?.({ table }) ?? <span />}
|
<Box sx={{
|
||||||
|
display: "flex",
|
||||||
|
alignItems: "center",
|
||||||
|
order: { xs: 2, sm: 1 },
|
||||||
|
}}>{renderTopToolbarCustomActions?.({ table })}</Box>
|
||||||
|
<Typography sx={{ textAlign: "center", order: { xs: 1, sm: 2 }, width: { xs: "100%", sm: "unset" } }}
|
||||||
|
fontWeight={600}>{table_title || ""}</Typography>
|
||||||
{enableToolbarInternalActions && (
|
{enableToolbarInternalActions && (
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
alignItems: "center",
|
|
||||||
display: "flex",
|
|
||||||
flexWrap: "wrap-reverse",
|
|
||||||
gap: "0.5rem",
|
gap: "0.5rem",
|
||||||
|
flexWrap: "wrap-reverse",
|
||||||
|
display: "flex",
|
||||||
|
alignItems: "center",
|
||||||
justifyContent: "flex-end",
|
justifyContent: "flex-end",
|
||||||
|
order: 3,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<ResetStorage user_id={user_id}
|
<ResetStorage user_id={user_id}
|
||||||
|
|||||||
12
src/core/components/PageTitle.jsx
Normal file
12
src/core/components/PageTitle.jsx
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import { Chip, Divider, Typography } from "@mui/material";
|
||||||
|
|
||||||
|
const PageTitle = ({ title }) => {
|
||||||
|
return (
|
||||||
|
<Divider sx={{ mb: 2 }}><Chip
|
||||||
|
label={<Typography fontSize={14} fontWeight={500}>{title}</Typography>} /></Divider>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
export default PageTitle;
|
||||||
|
|
||||||
Reference in New Issue
Block a user