@@ -11,7 +11,7 @@ import { TablePagination, Typography } from '@mui/material'; | |||||
export function FiDataGrid({ rows, columns, sx, autoHeight, | export function FiDataGrid({ rows, columns, sx, autoHeight, | ||||
hideFooterSelectedRowCount, rowModesModel, editMode, | hideFooterSelectedRowCount, rowModesModel, editMode, | ||||
pageSizeOptions, filterItems, customPageSize, doLoad, ...props }) { | |||||
pageSizeOptions, filterItems, customPageSize, doLoad, applyGridOnReady, ...props }) { | |||||
const intl = useIntl(); | const intl = useIntl(); | ||||
const [_rows, set_rows] = useState([]); | const [_rows, set_rows] = useState([]); | ||||
const [_doLoad, set_doLoad] = useState({}); | const [_doLoad, set_doLoad] = useState({}); | ||||
@@ -135,6 +135,7 @@ export function FiDataGrid({ rows, columns, sx, autoHeight, | |||||
_doLoad.callback(responseData); | _doLoad.callback(responseData); | ||||
} | } | ||||
setLoading(false) | setLoading(false) | ||||
applyGridOnReady(false) | |||||
}, | }, | ||||
onError: function (error){ | onError: function (error){ | ||||
console.log(error) | console.log(error) | ||||
@@ -9,7 +9,7 @@ import { FiDataGrid } from "components/FiDataGrid"; | |||||
import { clickableLink } from 'utils/CommonFunction'; | import { clickableLink } from 'utils/CommonFunction'; | ||||
// ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
export default function SearchPaymentTable({ searchCriteria }) { | |||||
export default function SearchPaymentTable({ searchCriteria, applyGridOnReady }) { | |||||
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); | const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); | ||||
const navigate = useNavigate() | const navigate = useNavigate() | ||||
@@ -96,6 +96,7 @@ export default function SearchPaymentTable({ searchCriteria }) { | |||||
columns={columns} | columns={columns} | ||||
customPageSize={10} | customPageSize={10} | ||||
onRowDoubleClick={handleEditClick} | onRowDoubleClick={handleEditClick} | ||||
applyGridOnReady={applyGridOnReady} | |||||
// doLoad={{ | // doLoad={{ | ||||
// url:PAYMENT_LIST, | // url:PAYMENT_LIST, | ||||
// params:_searchCriteria, | // params:_searchCriteria, | ||||
@@ -19,7 +19,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; | |||||
import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | ||||
import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | ||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||||
const SearchPublicNoticeForm = ({ applySearch, searchCriteria, onGridReady }) => { | |||||
const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); | const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); | ||||
const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo); | const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo); | ||||
@@ -215,6 +215,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||||
<Button | <Button | ||||
variant="contained" | variant="contained" | ||||
type="submit" | type="submit" | ||||
disabled={onGridReady} | |||||
> | > | ||||
Submit | Submit | ||||
</Button> | </Button> | ||||
@@ -33,15 +33,21 @@ const Index = () => { | |||||
dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), | dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), | ||||
}); | }); | ||||
const [onReady, setOnReady] = React.useState(false); | const [onReady, setOnReady] = React.useState(false); | ||||
const [onGridReady, setGridOnReady] = React.useState(false); | |||||
React.useEffect(() => { | React.useEffect(() => { | ||||
setOnReady(true); | setOnReady(true); | ||||
}, [searchCriteria]); | }, [searchCriteria]); | ||||
function applySearch(input) { | function applySearch(input) { | ||||
setGridOnReady(true) | |||||
setSearchCriteria(input); | setSearchCriteria(input); | ||||
} | } | ||||
function applyGridOnReady(input) { | |||||
setGridOnReady(input); | |||||
} | |||||
return ( | return ( | ||||
!onReady ? | !onReady ? | ||||
<Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | <Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | ||||
@@ -63,8 +69,9 @@ const Index = () => { | |||||
{/*row 1*/} | {/*row 1*/} | ||||
<Grid item xs={12} md={12} lg={12} sx={{mb:-1}}> | <Grid item xs={12} md={12} lg={12} sx={{mb:-1}}> | ||||
<SearchForm | <SearchForm | ||||
applySearch={applySearch} | |||||
searchCriteria={searchCriteria} | |||||
applySearch={applySearch} | |||||
searchCriteria={searchCriteria} | |||||
onGridReady={onGridReady} | |||||
/> | /> | ||||
</Grid> | </Grid> | ||||
{/*row 2*/} | {/*row 2*/} | ||||
@@ -76,6 +83,7 @@ const Index = () => { | |||||
> | > | ||||
<EventTable | <EventTable | ||||
searchCriteria={searchCriteria} | searchCriteria={searchCriteria} | ||||
applyGridOnReady={applyGridOnReady} | |||||
/> | /> | ||||
</MainCard> | </MainCard> | ||||
</Grid> | </Grid> | ||||
@@ -14,7 +14,7 @@ import { clickableLink } from 'utils/CommonFunction'; | |||||
import {PAYMENT_LIST} from "utils/ApiPathConst"; | import {PAYMENT_LIST} from "utils/ApiPathConst"; | ||||
// ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
export default function SearchPublicNoticeTable({ searchCriteria }) { | |||||
export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady }) { | |||||
const navigate = useNavigate() | const navigate = useNavigate() | ||||
const theme = useTheme(); | const theme = useTheme(); | ||||
const isMdOrLg = useMediaQuery(theme.breakpoints.up('md')); | const isMdOrLg = useMediaQuery(theme.breakpoints.up('md')); | ||||
@@ -110,6 +110,7 @@ export default function SearchPublicNoticeTable({ searchCriteria }) { | |||||
columns={columns} | columns={columns} | ||||
customPageSize={10} | customPageSize={10} | ||||
onRowDoubleClick={handleEditDoubleClick} | onRowDoubleClick={handleEditDoubleClick} | ||||
applyGridOnReady={applyGridOnReady} | |||||
// doLoad={{ | // doLoad={{ | ||||
// url: PAYMENT_LIST, | // url: PAYMENT_LIST, | ||||
// params: _searchCriteria, | // params: _searchCriteria, | ||||
@@ -21,7 +21,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; | |||||
import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | ||||
import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | ||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||||
const SearchPublicNoticeForm = ({ applySearch, searchCriteria, onGridReady }) => { | |||||
const intl = useIntl(); | const intl = useIntl(); | ||||
const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); | const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); | ||||
const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo); | const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo); | ||||
@@ -240,6 +240,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { | |||||
variant="contained" | variant="contained" | ||||
type="submit" | type="submit" | ||||
aria-label={intl.formatMessage({id: 'submit'})} | aria-label={intl.formatMessage({id: 'submit'})} | ||||
disabled={onGridReady} | |||||
> | > | ||||
<FormattedMessage id="submit"/> | <FormattedMessage id="submit"/> | ||||
</Button> | </Button> | ||||
@@ -33,15 +33,21 @@ const Index = () => { | |||||
dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), | dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), | ||||
}); | }); | ||||
const [onReady, setOnReady] = React.useState(false); | const [onReady, setOnReady] = React.useState(false); | ||||
const [onGridReady, setGridOnReady] = React.useState(false); | |||||
React.useEffect(() => { | React.useEffect(() => { | ||||
setOnReady(true); | setOnReady(true); | ||||
}, [searchCriteria]); | }, [searchCriteria]); | ||||
function applySearch(input) { | function applySearch(input) { | ||||
setGridOnReady(true) | |||||
setSearchCriteria(input); | setSearchCriteria(input); | ||||
} | } | ||||
function applyGridOnReady(input) { | |||||
setGridOnReady(input); | |||||
} | |||||
return ( | return ( | ||||
!onReady ? | !onReady ? | ||||
<Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | <Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | ||||
@@ -63,8 +69,9 @@ const Index = () => { | |||||
{/*row 1*/} | {/*row 1*/} | ||||
<Grid item xs={12} md={12} lg={12}> | <Grid item xs={12} md={12} lg={12}> | ||||
<SearchForm | <SearchForm | ||||
applySearch={applySearch} | |||||
searchCriteria={searchCriteria} | |||||
applySearch={applySearch} | |||||
searchCriteria={searchCriteria} | |||||
onGridReady={onGridReady} | |||||
/> | /> | ||||
</Grid> | </Grid> | ||||
{/*row 2*/} | {/*row 2*/} | ||||
@@ -76,6 +83,7 @@ const Index = () => { | |||||
> | > | ||||
<EventTable | <EventTable | ||||
searchCriteria={searchCriteria} | searchCriteria={searchCriteria} | ||||
applyGridOnReady={applyGridOnReady} | |||||
/> | /> | ||||
</MainCard> | </MainCard> | ||||
</Grid> | </Grid> | ||||
@@ -9,7 +9,7 @@ import { FiDataGrid } from "components/FiDataGrid"; | |||||
import { clickableLink } from 'utils/CommonFunction'; | import { clickableLink } from 'utils/CommonFunction'; | ||||
// ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
export default function SearchPublicNoticeTable({searchCriteria}) { | |||||
export default function SearchPublicNoticeTable({searchCriteria, applyGridOnReady}) { | |||||
const navigate = useNavigate() | const navigate = useNavigate() | ||||
@@ -121,6 +121,7 @@ export default function SearchPublicNoticeTable({searchCriteria}) { | |||||
customPageSize={10} | customPageSize={10} | ||||
getRowHeight={() => 'auto'} | getRowHeight={() => 'auto'} | ||||
onRowDoubleClick={handleRowDoubleClick} | onRowDoubleClick={handleRowDoubleClick} | ||||
applyGridOnReady={applyGridOnReady} | |||||
// doLoad={{ | // doLoad={{ | ||||
// url: LIST_PROOF, | // url: LIST_PROOF, | ||||
// params: _searchCriteria, | // params: _searchCriteria, | ||||
@@ -21,7 +21,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; | |||||
import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | ||||
import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | ||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, issueComboData | |||||
const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, issueComboData, onGridReady | |||||
}) => { | }) => { | ||||
const [type, setType] = React.useState([]); | const [type, setType] = React.useState([]); | ||||
@@ -395,6 +395,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||||
<Button | <Button | ||||
variant="contained" | variant="contained" | ||||
type="submit" | type="submit" | ||||
disabled={onGridReady} | |||||
> | > | ||||
Submit | Submit | ||||
</Button> | </Button> | ||||
@@ -37,6 +37,7 @@ const UserSearchPage_Individual = () => { | |||||
dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 14)), | dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 14)), | ||||
}); | }); | ||||
const [onReady, setOnReady] = React.useState(false); | const [onReady, setOnReady] = React.useState(false); | ||||
const [onGridReady, setGridOnReady] = React.useState(false); | |||||
React.useEffect(() => { | React.useEffect(() => { | ||||
getOrgCombo(); | getOrgCombo(); | ||||
@@ -69,9 +70,14 @@ const UserSearchPage_Individual = () => { | |||||
} | } | ||||
function applySearch(input) { | function applySearch(input) { | ||||
setGridOnReady(true) | |||||
setSearchCriteria(input); | setSearchCriteria(input); | ||||
} | } | ||||
function applyGridOnReady(input) { | |||||
setGridOnReady(input); | |||||
} | |||||
return ( | return ( | ||||
!onReady ? | !onReady ? | ||||
<Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | <Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | ||||
@@ -95,6 +101,7 @@ const UserSearchPage_Individual = () => { | |||||
orgComboData={orgCombo} | orgComboData={orgCombo} | ||||
issueComboData={issueCombo} | issueComboData={issueCombo} | ||||
searchCriteria={searchCriteria} | searchCriteria={searchCriteria} | ||||
onGridReady={onGridReady} | |||||
/> | /> | ||||
</Grid> | </Grid> | ||||
{/*row 2*/} | {/*row 2*/} | ||||
@@ -107,6 +114,7 @@ const UserSearchPage_Individual = () => { | |||||
> | > | ||||
<EventTable | <EventTable | ||||
searchCriteria={searchCriteria} | searchCriteria={searchCriteria} | ||||
applyGridOnReady={applyGridOnReady} | |||||
/> | /> | ||||
</MainCard> | </MainCard> | ||||
</Grid> | </Grid> | ||||
@@ -17,7 +17,7 @@ import { useIntl } from "react-intl"; | |||||
import { clickableLink } from 'utils/CommonFunction'; | import { clickableLink } from 'utils/CommonFunction'; | ||||
// ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
export default function SearchPublicNoticeTable({ searchCriteria }) { | |||||
export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady }) { | |||||
const navigate = useNavigate() | const navigate = useNavigate() | ||||
const theme = useTheme(); | const theme = useTheme(); | ||||
@@ -191,6 +191,7 @@ export default function SearchPublicNoticeTable({ searchCriteria }) { | |||||
customPageSize={10} | customPageSize={10} | ||||
getRowHeight={() => "auto"} | getRowHeight={() => "auto"} | ||||
onRowDoubleClick={handleRowDoubleClick} | onRowDoubleClick={handleRowDoubleClick} | ||||
applyGridOnReady={applyGridOnReady} | |||||
doLoad={React.useMemo(() => ({ | doLoad={React.useMemo(() => ({ | ||||
url: LIST_PROOF, | url: LIST_PROOF, | ||||
params: _searchCriteria, | params: _searchCriteria, | ||||
@@ -22,7 +22,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; | |||||
import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | ||||
import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | ||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
const SearchPublicNoticeForm = ({ applySearch, searchCriteria, issueComboData | |||||
const SearchPublicNoticeForm = ({ applySearch, searchCriteria, issueComboData, onGridReady | |||||
}) => { | }) => { | ||||
const intl = useIntl(); | const intl = useIntl(); | ||||
const { locale } = intl; | const { locale } = intl; | ||||
@@ -360,6 +360,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria, issueComboData | |||||
variant="contained" | variant="contained" | ||||
type="submit" | type="submit" | ||||
aria-label={intl.formatMessage({id: 'submit'})} | aria-label={intl.formatMessage({id: 'submit'})} | ||||
disabled={onGridReady} | |||||
> | > | ||||
<FormattedMessage id="submit"/> | <FormattedMessage id="submit"/> | ||||
</Button> | </Button> | ||||
@@ -37,6 +37,7 @@ const UserSearchPage_Individual = () => { | |||||
dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), | dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), | ||||
}); | }); | ||||
const [onReady, setOnReady] = React.useState(false); | const [onReady, setOnReady] = React.useState(false); | ||||
const [onGridReady, setGridOnReady] = React.useState(false); | |||||
React.useEffect(() => { | React.useEffect(() => { | ||||
getIssueCombo(); | getIssueCombo(); | ||||
@@ -59,9 +60,14 @@ const UserSearchPage_Individual = () => { | |||||
function applySearch(input) { | function applySearch(input) { | ||||
setGridOnReady(true) | |||||
setSearchCriteria(input); | setSearchCriteria(input); | ||||
} | } | ||||
function applyGridOnReady(input) { | |||||
setGridOnReady(input); | |||||
} | |||||
return ( | return ( | ||||
!onReady ? | !onReady ? | ||||
<Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | <Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | ||||
@@ -83,9 +89,10 @@ const UserSearchPage_Individual = () => { | |||||
{/*row 1*/} | {/*row 1*/} | ||||
<Grid item xs={12} md={12} lg={12}> | <Grid item xs={12} md={12} lg={12}> | ||||
<SearchForm | <SearchForm | ||||
applySearch={applySearch} | |||||
issueComboData={issueCombo} | |||||
searchCriteria={searchCriteria} | |||||
applySearch={applySearch} | |||||
issueComboData={issueCombo} | |||||
searchCriteria={searchCriteria} | |||||
onGridReady={onGridReady} | |||||
/> | /> | ||||
</Grid> | </Grid> | ||||
{/*row 2*/} | {/*row 2*/} | ||||
@@ -96,7 +103,8 @@ const UserSearchPage_Individual = () => { | |||||
sx={{width: "-webkit-fill-available"}} | sx={{width: "-webkit-fill-available"}} | ||||
> | > | ||||
<EventTable | <EventTable | ||||
searchCriteria={searchCriteria} | |||||
searchCriteria={searchCriteria} | |||||
applyGridOnReady={applyGridOnReady} | |||||
/> | /> | ||||
</MainCard> | </MainCard> | ||||
</Grid> | </Grid> | ||||
@@ -20,7 +20,7 @@ import { FormattedMessage, useIntl } from "react-intl"; | |||||
import * as utils from "auth/utils" | import * as utils from "auth/utils" | ||||
// ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
export default function SearchPublicNoticeTable({ searchCriteria }) { | |||||
export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady }) { | |||||
const [rows, setRows] = React.useState([]); | const [rows, setRows] = React.useState([]); | ||||
const navigate = useNavigate() | const navigate = useNavigate() | ||||
@@ -184,11 +184,14 @@ export default function SearchPublicNoticeTable({ searchCriteria }) { | |||||
customPageSize={10} | customPageSize={10} | ||||
getRowHeight={() => 'auto'} | getRowHeight={() => 'auto'} | ||||
onRowDoubleClick={handleRowDoubleClick} | onRowDoubleClick={handleRowDoubleClick} | ||||
applyGridOnReady = {applyGridOnReady} | |||||
doLoad={React.useMemo(() => ({ | doLoad={React.useMemo(() => ({ | ||||
url: GET_PUBLIC_NOTICE_LIST, | url: GET_PUBLIC_NOTICE_LIST, | ||||
params: _searchCriteria, | params: _searchCriteria, | ||||
applyGridOnReady: applyGridOnReady, | |||||
callback: function (responseData) { | callback: function (responseData) { | ||||
setRows(responseData?.records); | setRows(responseData?.records); | ||||
// applyGridOnReady(false) | |||||
} | } | ||||
}), [_searchCriteria, reload])} | }), [_searchCriteria, reload])} | ||||
/> | /> | ||||
@@ -21,7 +21,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; | |||||
import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | ||||
import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | ||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, issueComboData | |||||
const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, issueComboData, onGridReady | |||||
}) => { | }) => { | ||||
const [type, setType] = React.useState([]); | const [type, setType] = React.useState([]); | ||||
@@ -375,6 +375,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||||
<Button | <Button | ||||
variant="contained" | variant="contained" | ||||
type="submit" | type="submit" | ||||
disabled={onGridReady} | |||||
> | > | ||||
Submit | Submit | ||||
</Button> | </Button> | ||||
@@ -36,7 +36,7 @@ const UserSearchPage_Individual = () => { | |||||
dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 14)) | dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 14)) | ||||
}); | }); | ||||
const [onReady, setOnReady] = React.useState(false); | const [onReady, setOnReady] = React.useState(false); | ||||
// const [onGridReady, setGridOnReady] = React.useState(false); | |||||
const [onGridReady, setGridOnReady] = React.useState(false); | |||||
React.useEffect(() => { | React.useEffect(() => { | ||||
getOrgCombo(); | getOrgCombo(); | ||||
@@ -68,14 +68,13 @@ const UserSearchPage_Individual = () => { | |||||
} | } | ||||
function applySearch(input) { | function applySearch(input) { | ||||
// setGridOnReady(false); | |||||
setGridOnReady(true); | |||||
setSearchCriteria(input); | setSearchCriteria(input); | ||||
} | } | ||||
// function setSearchReady(input) { | |||||
// setGridOnReady(input); | |||||
// } | |||||
function applyGridOnReady(input) { | |||||
setGridOnReady(input); | |||||
} | |||||
return ( | return ( | ||||
!onReady ? | !onReady ? | ||||
@@ -100,7 +99,7 @@ const UserSearchPage_Individual = () => { | |||||
orgComboData={orgCombo} | orgComboData={orgCombo} | ||||
issueComboData={issueCombo} | issueComboData={issueCombo} | ||||
searchCriteria={searchCriteria} | searchCriteria={searchCriteria} | ||||
// setSearchReady={setSearchReady} | |||||
onGridReady={onGridReady} | |||||
/> | /> | ||||
</Grid> | </Grid> | ||||
{/*row 2*/} | {/*row 2*/} | ||||
@@ -112,7 +111,7 @@ const UserSearchPage_Individual = () => { | |||||
> | > | ||||
<EventTable | <EventTable | ||||
searchCriteria={searchCriteria} | searchCriteria={searchCriteria} | ||||
// onGridReady={onGridReady} | |||||
applyGridOnReady={applyGridOnReady} | |||||
/> | /> | ||||
</MainCard> | </MainCard> | ||||
</Grid> | </Grid> | ||||
@@ -23,7 +23,7 @@ import { FormattedMessage, useIntl } from "react-intl"; | |||||
import * as utils from "auth/utils" | import * as utils from "auth/utils" | ||||
// ==============================|| EVENT TABLE ||============================== // | // ==============================|| EVENT TABLE ||============================== // | ||||
export default function SearchPublicNoticeTable({ searchCriteria }) { | |||||
export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady }) { | |||||
const [rows, setRows] = React.useState([]); | const [rows, setRows] = React.useState([]); | ||||
const navigate = useNavigate() | const navigate = useNavigate() | ||||
@@ -180,6 +180,7 @@ export default function SearchPublicNoticeTable({ searchCriteria }) { | |||||
customPageSize={10} | customPageSize={10} | ||||
getRowHeight={() => 'auto'} | getRowHeight={() => 'auto'} | ||||
onRowDoubleClick={handleRowDoubleClick} | onRowDoubleClick={handleRowDoubleClick} | ||||
applyGridOnReady={applyGridOnReady} | |||||
doLoad={React.useMemo(() => ({ | doLoad={React.useMemo(() => ({ | ||||
url: GET_PUBLIC_NOTICE_OFFLINE_PAYMENT_LIST, | url: GET_PUBLIC_NOTICE_OFFLINE_PAYMENT_LIST, | ||||
params: _searchCriteria, | params: _searchCriteria, | ||||
@@ -21,7 +21,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; | |||||
import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; | ||||
import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; | ||||
// ==============================|| DASHBOARD - DEFAULT ||============================== // | // ==============================|| DASHBOARD - DEFAULT ||============================== // | ||||
const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, issueComboData | |||||
const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, issueComboData, onGridReady | |||||
}) => { | }) => { | ||||
const [type, setType] = React.useState([]); | const [type, setType] = React.useState([]); | ||||
@@ -374,6 +374,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss | |||||
<Button | <Button | ||||
variant="contained" | variant="contained" | ||||
type="submit" | type="submit" | ||||
disabled={onGridReady} | |||||
> | > | ||||
Submit | Submit | ||||
</Button> | </Button> | ||||
@@ -36,6 +36,7 @@ const UserSearchPage_Individual = () => { | |||||
dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 14)) | dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 14)) | ||||
}); | }); | ||||
const [onReady, setOnReady] = React.useState(false); | const [onReady, setOnReady] = React.useState(false); | ||||
const [onGridReady, setGridOnReady] = React.useState(false); | |||||
React.useEffect(() => { | React.useEffect(() => { | ||||
getOrgCombo(); | getOrgCombo(); | ||||
@@ -67,9 +68,14 @@ const UserSearchPage_Individual = () => { | |||||
} | } | ||||
function applySearch(input) { | function applySearch(input) { | ||||
setGridOnReady(true) | |||||
setSearchCriteria(input); | setSearchCriteria(input); | ||||
} | } | ||||
function applyGridOnReady(input) { | |||||
setGridOnReady(input); | |||||
} | |||||
return ( | return ( | ||||
!onReady ? | !onReady ? | ||||
<Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | <Grid container sx={{ minHeight: '87vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> | ||||
@@ -93,6 +99,7 @@ const UserSearchPage_Individual = () => { | |||||
orgComboData={orgCombo} | orgComboData={orgCombo} | ||||
issueComboData={issueCombo} | issueComboData={issueCombo} | ||||
searchCriteria={searchCriteria} | searchCriteria={searchCriteria} | ||||
onGridReady={onGridReady} | |||||
/> | /> | ||||
</Grid> | </Grid> | ||||
{/*row 2*/} | {/*row 2*/} | ||||
@@ -104,6 +111,7 @@ const UserSearchPage_Individual = () => { | |||||
> | > | ||||
<EventTable | <EventTable | ||||
searchCriteria={searchCriteria} | searchCriteria={searchCriteria} | ||||
applyGridOnReady={applyGridOnReady} | |||||
/> | /> | ||||
</MainCard> | </MainCard> | ||||
</Grid> | </Grid> | ||||