import DashboardLayouts from "@/layouts/dashboardLayouts"; import {Box, IconButton, Typography} from "@mui/material"; import ClearIcon from "@mui/icons-material/Clear"; import {useMemo} from "react"; import {GET_PROVINCE_MANAGER} from "@/core/data/apiRoutes"; import {useTranslations} from "next-intl"; import TableRowActions from "./TableRowActions"; import {LocalizationProvider, MobileDateTimePicker,} from "@mui/x-date-pickers"; import {AdapterDateFnsJalali} from "@mui/x-date-pickers/AdapterDateFnsJalali"; import moment from "jalali-moment"; import {faIR} from "@mui/x-date-pickers/locales"; import DataTable from "@/core/components/DataTable"; function DashboardProvinceManagerComponent() { const t = useTranslations(); const columns = useMemo( () => [ { accessorFn: (row) => row.id, id: "id", header: t("ProvinceManager.id"), enableColumnFilter: true, datatype: "numeric", filterFn: "equals", columnFilterModeOptions: [ "equals", "notEquals", "contains", "lessThan", "greaterThan", "between", ], Cell: ({renderedCellValue}) => ( {renderedCellValue} ), }, { accessorFn: (row) => row.name, id: "name", header: t("ProvinceManager.name"), enableColumnFilter: true, datatype: "text", filterFn: "contains", columnFilterModeOptions: ["contains", "equals", "notEquals"], Cell: ({renderedCellValue}) => ( {renderedCellValue} ), }, { accessorFn: (row) => row.national_id, id: "national_id", header: t("ProvinceManager.national_id"), enableColumnFilter: true, datatype: "numeric", filterFn: "equals", columnFilterModeOptions: [ "equals", "notEquals", "contains", "lessThan", "greaterThan", "between", ], Cell: ({renderedCellValue}) => ( {renderedCellValue} ), }, { accessorFn: (row) => row.phone_number, id: "phone_number", header: t("ProvinceManager.phone_number"), enableColumnFilter: true, datatype: "numeric", filterFn: "equals", columnFilterModeOptions: [ "equals", "notEquals", "contains", "lessThan", "greaterThan", "between", ], Cell: ({renderedCellValue}) => ( {renderedCellValue} ), }, { accessorFn: (row) => moment(row.created_at).locale("fa").format("HH:mm | yyyy/MM/DD"), id: "created_at", header: t("ProvinceManager.created_at"), enableColumnFilter: true, datatype: "date", filterFn: "lessThan", columnFilterModeOptions: ["lessThan", "greaterThan"], Cell: ({renderedCellValue}) => { return {renderedCellValue}; }, Header: ({column}) => {column.columnDef.header}, Filter: ({column}) => { const filterFnValue = column.columnDef._filterFn; return ( { const date = new Date(newValue); const formattedDate = moment(date) .locale("en") .format("YYYY-MM-DD HH:mm"); column.setFilterValue(formattedDate); }} slotProps={{ textField: { placeholder: "تاریخ خود را وارد کنید", helperText: `${t("filter_mode")}: ${t(filterFnValue)}`, sx: {minWidth: "120px"}, variant: "standard", }, }} value={ column.getFilterValue() ? new Date(column.getFilterValue()) : null } /> { column.setFilterValue(null); }} sx={{ color: column.getFilterValue() ? "rgba(0, 0, 0, 0.54)" : "#bfbfbf", }} > ); }, }, { accessorFn: (row) => moment(row.updated_at).locale("fa").format("HH:mm | yyyy/MM/DD"), id: "updated_at", header: t("ProvinceManager.updated_at"), enableColumnFilter: false, datatype: "numeric", Cell: ({renderedCellValue}) => ( {renderedCellValue} ), }, { accessorFn: (row) => row.navgan_id, id: "navgan_id", header: t("ProvinceManager.navgan_id"), enableColumnFilter: true, datatype: "numeric", filterFn: "equals", columnFilterModeOptions: [ "equals", "notEquals", "contains", "lessThan", "greaterThan", "between", ], Cell: ({renderedCellValue}) => ( {renderedCellValue} ), }, { accessorFn: (row) => row.vehicle_type, id: "vehicle_type", header: t("ProvinceManager.vehicle_type"), enableColumnFilter: true, datatype: "text", filterFn: "contains", columnFilterModeOptions: ["contains", "equals", "notEquals"], Cell: ({renderedCellValue}) => ( {renderedCellValue} ), }, { accessorFn: (row) => row.state_name, id: "state_id", header: t("ProvinceManager.state_name"), enableColumnFilter: false, datatype: "numeric", // filterFn: "equals", // filterSelectOptions: [ // ], // filterVariant: "select", Cell: ({renderedCellValue}) => ( {renderedCellValue} ), }, ], [] ); return ( ); } export default DashboardProvinceManagerComponent;