// material-ui import {useState, useEffect} from 'react'; import { Button, Typography, useMediaQuery } from '@mui/material'; import * as DateUtils from "utils/DateUtils"; import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils"; import { useNavigate } from "react-router-dom"; import { FiDataGrid } from "components/FiDataGrid"; import { isORGLoggedIn, isDummyLoggedIn, } from "utils/Utils"; import {GET_PUBLIC_NOTICE_LIST} from "utils/ApiPathConst"; import {getModeIntl } from "utils/statusUtils/PublicNoteStatusUtils"; import { useTheme } from "@emotion/react"; import { FormattedMessage, useIntl } from "react-intl"; import * as React from 'react'; import { PRIMARY_TEXT_BUTTON_SX } from "themes/colorConst"; // ==============================|| EVENT TABLE ||============================== // export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady, applySearch }) { const navigate = useNavigate() const theme = useTheme(); const isMdOrLg = useMediaQuery(theme.breakpoints.up('md')); const intl = useIntl(); const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); useEffect(() => { set_searchCriteria(searchCriteria); }, [searchCriteria]); const handleDetailClick = (params) => () => { navigate('/publicNotice/' + params.id); }; const renderHeaderWithAria = (params) => ( {params.colDef.headerName} ); const columns = [ { id: 'appNo', field: 'appNo', headerName: intl.formatMessage({ id: 'applicationId' }), sortable: true, width: isMdOrLg ? 'auto' : 160, flex: isMdOrLg ? 1 : undefined, renderHeader: renderHeaderWithAria, renderCell: (params) => { return params.row.appNo + getModeIntl(params, intl); }, }, { id: 'created', field: 'created', headerName: intl.formatMessage({ id: 'submitDate' }), sortable: true, width: isMdOrLg ? 'auto' : 160, flex: isMdOrLg ? 1 : undefined, renderHeader: renderHeaderWithAria, valueGetter: (params) => { return DateUtils.datetimeStr(params?.value); } }, { id: 'remarks', field: 'remarks', headerName: isORGLoggedIn() ? intl.formatMessage({ id: 'gazetteCount2_1' }) : intl.formatMessage({ id: 'myRemarks' }), sortable: true, width: isMdOrLg ? 'auto' : 400, flex: isMdOrLg ? 3 : undefined, renderHeader: renderHeaderWithAria, renderCell: (params) => ( isORGLoggedIn() ? isDummyLoggedIn()?