// material-ui
import {useMemo} from 'react';
import {
useMediaQuery,
} from '@mui/material';
import {
GridActionsCellItem,
} from "@mui/x-data-grid";
import * as Icon from 'utils/IconUtils';
import * as DateUtils from "utils/DateUtils";
import * as ProofStatus from "utils/statusUtils/ProofStatus";
import {FiDataGrid} from "components/FiDataGrid";
import * as FormatUtils from "utils/FormatUtils"
import * as HttpUtils from "utils/HttpUtils"
import {GET_PUBLIC_NOTICE_APPLY_DETAIL_PROOF,GEN_GAZETTE_PROOF } from "utils/ApiPathConst"
import {useTheme} from "@emotion/react";
import { clickableLink } from 'utils/CommonFunction';
// ==============================|| EVENT TABLE ||============================== //
export default function ProofTab({appId, setCount}) {
const theme = useTheme();
const isMdOrLg = useMediaQuery(theme.breakpoints.up('md'));
const onDownloadClick = (params) => () => {
HttpUtils.fileDownload({
url: GEN_GAZETTE_PROOF+"/"+params?.row?.id,
});
};
const renderHeaderWithAria = (params) => (
{params.colDef.headerName}
);
const columns = [
{
field: 'refNo',
headerName: 'Proof No.',
width: isMdOrLg ? 'auto' : 200,
flex: isMdOrLg ? 1 : undefined,
cellClassName: 'actions',
renderHeader: renderHeaderWithAria,
renderCell: (params) => {
return clickableLink('/proof/reply/' + params.row.id, params.row.refNo);
},
},
{
field: 'status',
headerName: 'Status',
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
renderHeader: renderHeaderWithAria,
renderCell: (params) => {
return ProofStatus.getStatus_Eng(params);
},
},
{
field: 'created',
headerName: 'Proof Issue Date',
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
renderHeader: renderHeaderWithAria,
valueGetter: (params) => {
return DateUtils.datetimeStr(params?.value);
}
},
{
field: 'replyDate',
headerName: 'Confirmed/Return Date',
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
renderHeader: renderHeaderWithAria,
valueGetter: (params) => {
return params?.value?DateUtils.datetimeStr(params?.value):"";
}
},
{
field: 'fee',
headerName: 'Fee',
width: isMdOrLg ? 'auto' : 160,
flex: isMdOrLg ? 1 : undefined,
renderHeader: renderHeaderWithAria,
valueGetter: (params) => {
return (params?.value)?"$ "+FormatUtils.currencyFormat(params?.value):"";
}
},
{
field: 'actions',
type: 'actions',
headerName: 'Proof Slip',
width: 100,
renderHeader: renderHeaderWithAria,
cellClassName: 'actions',
getActions: (params) => {
if(params.row.action == null) return[];
if(params.row.action != true) return[];
return [