Browse Source

search button update

CR003
Alex Cheung 11 months ago
parent
commit
4952fcab16
42 changed files with 200 additions and 46 deletions
  1. BIN
      build20240919 v2.zip
  2. +3
    -0
      src/components/FiDataGrid.js
  3. +2
    -1
      src/pages/Announcement/Search/DataGrid.js
  4. +2
    -1
      src/pages/Announcement/Search/SearchForm.js
  5. +10
    -1
      src/pages/Announcement/Search/index.js
  6. +2
    -1
      src/pages/Announcement/Search_Public/DataGrid.js
  7. +2
    -1
      src/pages/Announcement/Search_Public/SearchForm.js
  8. +8
    -0
      src/pages/Announcement/Search_Public/index.js
  9. +2
    -1
      src/pages/AuditLog/AuditLogSearchForm.js
  10. +2
    -1
      src/pages/AuditLog/AuditLogTable.js
  11. +9
    -1
      src/pages/AuditLog/index.js
  12. +2
    -1
      src/pages/DemandNote/Search/DataGrid.js
  13. +2
    -1
      src/pages/DemandNote/Search/SearchForm.js
  14. +8
    -1
      src/pages/DemandNote/Search/index.js
  15. +8
    -3
      src/pages/DemandNote/Search_Public/DataGrid.js
  16. +2
    -1
      src/pages/DemandNote/Search_Public/SearchForm.js
  17. +9
    -1
      src/pages/DemandNote/Search_Public/index.js
  18. +2
    -1
      src/pages/GFMIS/DataGrid.js
  19. +2
    -1
      src/pages/GFMIS/SearchForm.js
  20. +11
    -3
      src/pages/GFMIS/index.js
  21. +2
    -1
      src/pages/GazetteIssue/DataGrid.js
  22. +2
    -1
      src/pages/GazetteIssue/SearchForm.js
  23. +10
    -1
      src/pages/GazetteIssue/index.js
  24. +6
    -1
      src/pages/Holiday/DataGrid.js
  25. +2
    -1
      src/pages/Holiday/SearchForm.js
  26. +9
    -0
      src/pages/Holiday/index.js
  27. +2
    -1
      src/pages/Organization/SearchPage/OrganizationSearchForm.js
  28. +2
    -1
      src/pages/Organization/SearchPage/OrganizationTable.js
  29. +11
    -1
      src/pages/Organization/SearchPage/index.js
  30. +1
    -1
      src/pages/Proof/Search_GLD/SearchForm.js
  31. +2
    -1
      src/pages/User/SearchPage/UserSearchForm.js
  32. +2
    -1
      src/pages/User/SearchPage/UserTable.js
  33. +12
    -1
      src/pages/User/SearchPage/index.js
  34. +3
    -2
      src/pages/User/SearchPage_Individual/UserSearchForm_Individual.js
  35. +2
    -1
      src/pages/User/SearchPage_Individual/UserTable_Individual.js
  36. +11
    -1
      src/pages/User/SearchPage_Individual/index.js
  37. +3
    -2
      src/pages/User/SearchPage_Organization/UserSearchForm_Organization.js
  38. +2
    -1
      src/pages/User/SearchPage_Organization/UserTable_Organization.js
  39. +12
    -2
      src/pages/User/SearchPage_Organization/index.js
  40. +3
    -2
      src/pages/pnspsUserGroupSearchPage/UserGroupSearchForm.js
  41. +2
    -1
      src/pages/pnspsUserGroupSearchPage/UserGroupTable.js
  42. +11
    -1
      src/pages/pnspsUserGroupSearchPage/index.js

BIN
build20240919 v2.zip View File


+ 3
- 0
src/components/FiDataGrid.js View File

@@ -95,6 +95,9 @@ export function FiDataGrid({ rows, columns, sx, autoHeight,
} }
if (_doLoad !== undefined && Object.keys(_doLoad).length==0 ){ if (_doLoad !== undefined && Object.keys(_doLoad).length==0 ){
setLoading(false) setLoading(false)
if (applyGridOnReady !== undefined){
applyGridOnReady(false)
}
} }
}, [sx, hideFooterSelectedRowCount, rowModesModel, rows, columns, pageSizeOptions, autoHeight, editMode, filterItems, customPageSize]); }, [sx, hideFooterSelectedRowCount, rowModesModel, rows, columns, pageSizeOptions, autoHeight, editMode, filterItems, customPageSize]);




+ 2
- 1
src/pages/Announcement/Search/DataGrid.js View File

@@ -10,7 +10,7 @@ import { clickableLink } from 'utils/CommonFunction';
import {GET_ANNOUNCE_LIST} from "utils/ApiPathConst"; import {GET_ANNOUNCE_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()


@@ -73,6 +73,7 @@ export default function SearchPublicNoticeTable({ searchCriteria }) {
customPageSize={10} customPageSize={10}
getRowHeight={() => 'auto'} getRowHeight={() => 'auto'}
onRowDoubleClick={handleRowDoubleClick} onRowDoubleClick={handleRowDoubleClick}
applyGridOnReady={applyGridOnReady}
// doLoad={{ // doLoad={{
// url: GET_ANNOUNCE_LIST, // url: GET_ANNOUNCE_LIST,
// params: _searchCriteria, // params: _searchCriteria,


+ 2
- 1
src/pages/Announcement/Search/SearchForm.js View File

@@ -18,7 +18,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 navigate = useNavigate() const navigate = useNavigate()


const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom);
@@ -180,6 +180,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria}) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
Submit Submit
</Button> </Button>


+ 10
- 1
src/pages/Announcement/Search/index.js View File

@@ -33,15 +33,22 @@ const UserSearchPage_Individual = () => {
dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 90)), dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 90)),
}); });
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: '95vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> <Grid container sx={{ minHeight: '95vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center">
@@ -63,6 +70,7 @@ const UserSearchPage_Individual = () => {
<SearchForm <SearchForm
applySearch={applySearch} applySearch={applySearch}
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
onGridReady={onGridReady}
/> />
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
@@ -73,7 +81,8 @@ const UserSearchPage_Individual = () => {
sx={{ backgroundColor: '#fff' }} sx={{ backgroundColor: '#fff' }}
> >
<EventTable <EventTable
searchCriteria={searchCriteria}
searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 2
- 1
src/pages/Announcement/Search_Public/DataGrid.js View File

@@ -6,7 +6,7 @@ import { FormattedMessage, useIntl } from "react-intl";
import {GET_ANNOUNCE_LIST} from "utils/ApiPathConst"; import {GET_ANNOUNCE_LIST} from "utils/ApiPathConst";
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function SearchPublicNoticeTable({ searchCriteria }) {
export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady }) {


const intl = useIntl(); const intl = useIntl();
const { locale } = intl; const { locale } = intl;
@@ -57,6 +57,7 @@ export default function SearchPublicNoticeTable({ searchCriteria }) {
columns={columns} columns={columns}
customPageSize={10} customPageSize={10}
getRowHeight={() => 'auto'} getRowHeight={() => 'auto'}
applyGridOnReady={applyGridOnReady}
// doLoad={{ // doLoad={{
// url: GET_ANNOUNCE_LIST, // url: GET_ANNOUNCE_LIST,
// params: _searchCriteria // params: _searchCriteria


+ 2
- 1
src/pages/Announcement/Search_Public/SearchForm.js View File

@@ -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 navigate = useNavigate() // const navigate = useNavigate()


const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom);
@@ -186,6 +186,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
<FormattedMessage id="submit"></FormattedMessage> <FormattedMessage id="submit"></FormattedMessage>
</Button> </Button>


+ 8
- 0
src/pages/Announcement/Search_Public/index.js View File

@@ -34,6 +34,7 @@ const UserSearchPage_Individual = () => {
dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 90)), dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 90)),
}); });
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);
@@ -41,9 +42,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: '95vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center"> <Grid container sx={{ minHeight: '95vh', mb: 3 }} direction="column" justifyContent="center" alignItems="center">
@@ -65,6 +71,7 @@ const UserSearchPage_Individual = () => {
<SearchForm <SearchForm
applySearch={applySearch} applySearch={applySearch}
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
onGridReady={onGridReady}
/> />
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
@@ -76,6 +83,7 @@ const UserSearchPage_Individual = () => {
> >
<EventTable <EventTable
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 2
- 1
src/pages/AuditLog/AuditLogSearchForm.js View File

@@ -30,7 +30,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 AuditLogSearchForm = ({ applySearch, searchCriteria}) => {
const AuditLogSearchForm = ({ applySearch, searchCriteria, onGridReady}) => {
// const navigate = useNavigate(); // const navigate = useNavigate();


const [minDate, setMinDate] = React.useState(searchCriteria.modifiedFrom); const [minDate, setMinDate] = React.useState(searchCriteria.modifiedFrom);
@@ -210,6 +210,7 @@ const AuditLogSearchForm = ({ applySearch, searchCriteria}) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
Search Search
</Button> </Button>


+ 2
- 1
src/pages/AuditLog/AuditLogTable.js View File

@@ -12,7 +12,7 @@ import {
} from '@mui/material'; } from '@mui/material';
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function AuditLogTable({searchCriteria}) {
export default function AuditLogTable({searchCriteria, applyGridOnReady}) {
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);


useEffect(() => { useEffect(() => {
@@ -87,6 +87,7 @@ export default function AuditLogTable({searchCriteria}) {
columns={columns} columns={columns}
customPageSize={10} customPageSize={10}
getRowHeight={() => 'auto'} getRowHeight={() => 'auto'}
applyGridOnReady={applyGridOnReady}
// doLoad={{ // doLoad={{
// url: GET_AUDIT_LOG_LIST, // url: GET_AUDIT_LOG_LIST,
// params: _searchCriteria // params: _searchCriteria


+ 9
- 1
src/pages/AuditLog/index.js View File

@@ -8,6 +8,7 @@ import {
import MainCard from "components/MainCard"; import MainCard from "components/MainCard";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import * as DateUtils from "utils/DateUtils"; import * as DateUtils from "utils/DateUtils";
import * as React from "react";


import Loadable from 'components/Loadable'; import Loadable from 'components/Loadable';
import { lazy } from 'react'; import { lazy } from 'react';
@@ -33,15 +34,21 @@ const AuditLogPage = () => {
modifiedFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), modifiedFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)),
}); });
const [onReady, setOnReady] = useState(false); const [onReady, setOnReady] = useState(false);
const [onGridReady, setGridOnReady] = React.useState(false);


useEffect(() => { 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">
@@ -64,7 +71,7 @@ const AuditLogPage = () => {
<SearchForm <SearchForm
applySearch={applySearch} applySearch={applySearch}
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
onGridReady={onGridReady}
/> />
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
@@ -75,6 +82,7 @@ const AuditLogPage = () => {
> >
<EventTable <EventTable
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 2
- 1
src/pages/DemandNote/Search/DataGrid.js View File

@@ -28,7 +28,7 @@ import { ThemeProvider } from "@emotion/react";
import { isGrantedAny } from "auth/utils"; import { isGrantedAny } from "auth/utils";
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function SearchDemandNote({ applySearch, searchCriteria }) {
export default function SearchDemandNote({ applySearch, searchCriteria, applyGridOnReady }) {


const [isConfirmPopUp, setConfirmPopUp] = useState(false); const [isConfirmPopUp, setConfirmPopUp] = useState(false);
const [isRevokePopUp, setRevokePopUp] = useState(false); const [isRevokePopUp, setRevokePopUp] = useState(false);
@@ -388,6 +388,7 @@ export default function SearchDemandNote({ applySearch, searchCriteria }) {
customPageSize={100} customPageSize={100}
getRowHeight={() => 'auto'} getRowHeight={() => 'auto'}
onRowDoubleClick={handleRowDoubleClick} onRowDoubleClick={handleRowDoubleClick}
applyGridOnReady={applyGridOnReady}
doLoad={useMemo(() => ({ doLoad={useMemo(() => ({
url: DEMAND_NOTE_LIST_ALL, url: DEMAND_NOTE_LIST_ALL,
params: _searchCriteria, params: _searchCriteria,


+ 2
- 1
src/pages/DemandNote/Search/SearchForm.js View File

@@ -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 SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issueComboData
const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issueComboData, onGridReady
}) => { }) => {


const [type, setType] = React.useState([]); const [type, setType] = React.useState([]);
@@ -411,6 +411,7 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
Submit Submit
</Button> </Button>


+ 8
- 1
src/pages/DemandNote/Search/index.js View File

@@ -41,6 +41,7 @@ const UserSearchPage_Individual = () => {
// dueDateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 14)), // dueDateFrom: 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();
@@ -73,9 +74,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">
@@ -101,7 +107,7 @@ const UserSearchPage_Individual = () => {
orgComboData={orgCombo} orgComboData={orgCombo}
issueComboData={issueCombo} issueComboData={issueCombo}
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
onGridReady={onGridReady}
/> />
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
@@ -114,6 +120,7 @@ const UserSearchPage_Individual = () => {
<EventTable <EventTable
applySearch={applySearch} applySearch={applySearch}
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 8
- 3
src/pages/DemandNote/Search_Public/DataGrid.js View File

@@ -15,7 +15,7 @@ import {useIntl} from "react-intl";
import {DEMAND_NOTE_LIST} from "utils/ApiPathConst"; import {DEMAND_NOTE_LIST} from "utils/ApiPathConst";
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function SearchDemandNote({ searchCriteria }) {
export default function SearchDemandNote({ searchCriteria, applyGridOnReady }) {
const intl = useIntl(); const intl = useIntl();
const theme = useTheme(); const theme = useTheme();
@@ -97,10 +97,15 @@ export default function SearchDemandNote({ searchCriteria }) {
columns={columns} columns={columns}
customPageSize={10} customPageSize={10}
getRowHeight={() => 'auto'} getRowHeight={() => 'auto'}
doLoad={{
applyGridOnReady={applyGridOnReady}
// doLoad={{
// url: DEMAND_NOTE_LIST,
// params: _searchCriteria,
// }}
doLoad={React.useMemo(() => ({
url: DEMAND_NOTE_LIST, url: DEMAND_NOTE_LIST,
params: _searchCriteria, params: _searchCriteria,
}}
}), [_searchCriteria])}
/> />
</Box> </Box>
</div> </div>


+ 2
- 1
src/pages/DemandNote/Search_Public/SearchForm.js View File

@@ -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 SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData
const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData, onGridReady
}) => { }) => {


const intl = useIntl(); const intl = useIntl();
@@ -289,6 +289,7 @@ const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
<FormattedMessage id="submit" /> <FormattedMessage id="submit" />
</Button> </Button>


+ 9
- 1
src/pages/DemandNote/Search_Public/index.js View File

@@ -39,6 +39,7 @@ const SearchPage_DemandNote_Pub = () => {
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();
@@ -72,9 +73,14 @@ const SearchPage_DemandNote_Pub = () => {




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">
@@ -100,6 +106,7 @@ const SearchPage_DemandNote_Pub = () => {
orgComboData={orgCombo} orgComboData={orgCombo}
issueComboData={issueCombo} issueComboData={issueCombo}
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
onGridReady={onGridReady}
/> />
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
@@ -110,7 +117,8 @@ const SearchPage_DemandNote_Pub = () => {
sx={{ backgroundColor: '#fff' }} sx={{ backgroundColor: '#fff' }}
> >
<EventTable <EventTable
searchCriteria={searchCriteria}
searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 2
- 1
src/pages/GFMIS/DataGrid.js View File

@@ -6,7 +6,7 @@ import { useNavigate } from "react-router-dom";
import { FiDataGrid } from "components/FiDataGrid"; import { FiDataGrid } from "components/FiDataGrid";
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function SearchTable({ searchCriteria }) {
export default function SearchTable({ searchCriteria, applyGridOnReady }) {
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);
const navigate = useNavigate() const navigate = useNavigate()
// const [rows, setRows] = React.useState([]); // const [rows, setRows] = React.useState([]);
@@ -67,6 +67,7 @@ export default function SearchTable({ searchCriteria }) {
columns={columns} columns={columns}
customPageSize={10} customPageSize={10}
onRowDoubleClick={handleEditClick} onRowDoubleClick={handleEditClick}
applyGridOnReady={applyGridOnReady}
doLoad={React.useMemo(() => ({ doLoad={React.useMemo(() => ({
url: GFIMIS_LIST, url: GFIMIS_LIST,
params: _searchCriteria, params: _searchCriteria,


+ 2
- 1
src/pages/GFMIS/SearchForm.js View File

@@ -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, generateXML, searchCriteria }) => {
const SearchPublicNoticeForm = ({ applySearch, generateXML, searchCriteria, onGridReady }) => {


// const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); // const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom);
const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom);
@@ -146,6 +146,7 @@ const SearchPublicNoticeForm = ({ applySearch, generateXML, searchCriteria }) =>
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
Preview Preview
</Button> </Button>


+ 11
- 3
src/pages/GFMIS/index.js View File

@@ -35,6 +35,7 @@ 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);
@@ -97,9 +98,14 @@ const Index = () => {




function applySearch(input) { function applySearch(input) {
setGridOnReady(true)
setSearchCriteria(input); setSearchCriteria(input);
} }


function applyGridOnReady(input) {
setGridOnReady(input);
}

function generateXML(input) { function generateXML(input) {
downloadXML(input); downloadXML(input);
} }
@@ -121,9 +127,10 @@ 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}
generateXML={generateXML}
searchCriteria={searchCriteria}
applySearch={applySearch}
generateXML={generateXML}
searchCriteria={searchCriteria}
onGridReady={onGridReady}
/> />
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
@@ -135,6 +142,7 @@ const Index = () => {
> >
<EventTable <EventTable
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 2
- 1
src/pages/GazetteIssue/DataGrid.js View File

@@ -7,7 +7,7 @@ import {GET_ISSUE} from "utils/ApiPathConst";


// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function GazetteIssueTable({ searchCriteria }) {
export default function GazetteIssueTable({ searchCriteria, applyGridOnReady }) {
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);


React.useEffect(() => { React.useEffect(() => {
@@ -100,6 +100,7 @@ export default function GazetteIssueTable({ searchCriteria }) {
customPageSize={10} customPageSize={10}
// onRowDoubleClick={handleRowDoubleClick} // onRowDoubleClick={handleRowDoubleClick}
getRowHeight={() => 'auto'} getRowHeight={() => 'auto'}
applyGridOnReady={applyGridOnReady}
// doLoad={{ // doLoad={{
// url: GET_ISSUE, // url: GET_ISSUE,
// params: _searchCriteria, // params: _searchCriteria,


+ 2
- 1
src/pages/GazetteIssue/SearchForm.js View File

@@ -16,7 +16,7 @@ import {ThemeProvider} from "@emotion/react";
// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| DASHBOARD - DEFAULT ||============================== //




const SearchGazetteIssueForm = ({ applySearch, comboData}) => {
const SearchGazetteIssueForm = ({ applySearch, comboData, onGridReady}) => {
const [selectedYear, setSelectedYear] = React.useState([]); const [selectedYear, setSelectedYear] = React.useState([]);
// const [defaultYear, setDefaultYear] = React.useState(searchCriteria.year); // const [defaultYear, setDefaultYear] = React.useState(searchCriteria.year);
const [comboList, setComboList] = React.useState([]); const [comboList, setComboList] = React.useState([]);
@@ -114,6 +114,7 @@ const SearchGazetteIssueForm = ({ applySearch, comboData}) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
Search Search
</Button> </Button>


+ 10
- 1
src/pages/GazetteIssue/index.js View File

@@ -38,6 +38,8 @@ const Index = () => {
const [comboData, setComboData] = React.useState([]); const [comboData, setComboData] = React.useState([]);
const [holidayComboData, setHolidayComboData] = React.useState([]); const [holidayComboData, setHolidayComboData] = React.useState([]);
const [onReady, setOnReady] = React.useState(false); const [onReady, setOnReady] = React.useState(false);
const [onGridReady, setGridOnReady] = React.useState(false);

const [onSearchReady, setOnSearchReady] = React.useState(false); const [onSearchReady, setOnSearchReady] = React.useState(false);
const [onExportReady, setOnExportReady] = React.useState(false); const [onExportReady, setOnExportReady] = React.useState(false);
const [searchCriteria, setSearchCriteria] = React.useState({ const [searchCriteria, setSearchCriteria] = React.useState({
@@ -89,6 +91,7 @@ const Index = () => {
} }


function applySearch(input) { function applySearch(input) {
setGridOnReady(true)
setSearchCriteria(input); setSearchCriteria(input);
} }
@@ -96,6 +99,10 @@ const Index = () => {
setExportCriteria(input); setExportCriteria(input);
} }


function applyGridOnReady(input) {
setGridOnReady(input);
}

React.useEffect(() => { React.useEffect(() => {
if (Object.keys(exportCriteria).length > 0) { if (Object.keys(exportCriteria).length > 0) {
// console.log(exportCriteria) // console.log(exportCriteria)
@@ -219,6 +226,7 @@ const Index = () => {
<SearchForm <SearchForm
applySearch={applySearch} applySearch={applySearch}
comboData={comboData} comboData={comboData}
onGridReady={onGridReady}
/> />
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
@@ -230,7 +238,8 @@ const Index = () => {
content={false} content={false}
> >
<GazetteIssueTable <GazetteIssueTable
searchCriteria={searchCriteria}
searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 6
- 1
src/pages/Holiday/DataGrid.js View File

@@ -9,7 +9,7 @@ import { dateStr } from "utils/DateUtils";


// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function HolidayTable({ recordList }) {
export default function HolidayTable({ recordList, applyGridOnReady }) {
const [rows, setRows] = React.useState(recordList); const [rows, setRows] = React.useState(recordList);


// const navigate = useNavigate() // const navigate = useNavigate()
@@ -48,8 +48,13 @@ export default function HolidayTable({ recordList }) {
rows={rows} rows={rows}
columns={columns} columns={columns}
customPageSize={20} customPageSize={20}
applyGridOnReady={applyGridOnReady}
// onRowDoubleClick={handleRowDoubleClick} // onRowDoubleClick={handleRowDoubleClick}
getRowHeight={() => 'auto'} getRowHeight={() => 'auto'}
// doLoad={React.useMemo(() => ({
// url: LIST_PROOF,
// params: _searchCriteria,
// }), [_searchCriteria])}
/> />
</div> </div>
); );

+ 2
- 1
src/pages/Holiday/SearchForm.js View File

@@ -16,7 +16,7 @@ import {ThemeProvider} from "@emotion/react";
// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| DASHBOARD - DEFAULT ||============================== //




const SearchHolidayForm = ({ applySearch, comboData}) => {
const SearchHolidayForm = ({ applySearch, comboData, onGridReady}) => {
const [selectedYear, setSelectedYear] = React.useState([]); const [selectedYear, setSelectedYear] = React.useState([]);
// const [defaultYear, setDefaultYear] = React.useState(searchCriteria.year); // const [defaultYear, setDefaultYear] = React.useState(searchCriteria.year);
const [comboList, setComboList] = React.useState([]); const [comboList, setComboList] = React.useState([]);
@@ -114,6 +114,7 @@ const SearchHolidayForm = ({ applySearch, comboData}) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
Search Search
</Button> </Button>


+ 9
- 0
src/pages/Holiday/index.js View File

@@ -41,6 +41,8 @@ const Index = () => {
const [comboData, setComboData] = React.useState([]); const [comboData, setComboData] = React.useState([]);
const [onReady, setOnReady] = React.useState(false); const [onReady, setOnReady] = React.useState(false);
const [onSearchReady, setOnSearchReady] = React.useState(false); const [onSearchReady, setOnSearchReady] = React.useState(false);
const [onGridReady, setGridOnReady] = React.useState(false);

// const navigate = useNavigate() // const navigate = useNavigate()
const [searchCriteria, setSearchCriteria] = React.useState({ const [searchCriteria, setSearchCriteria] = React.useState({
year: dateStr_Year(new Date()), year: dateStr_Year(new Date()),
@@ -97,9 +99,14 @@ const Index = () => {
} }


function applySearch(input) { function applySearch(input) {
setGridOnReady(true)
setSearchCriteria(input); setSearchCriteria(input);
} }


function applyGridOnReady(input) {
setGridOnReady(input);
}

React.useEffect(() => { React.useEffect(() => {
if (attachments.length > 0) { if (attachments.length > 0) {
importHoliday(); importHoliday();
@@ -222,6 +229,7 @@ const Index = () => {
// generateXML={generateXML} // generateXML={generateXML}
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
comboData={comboData} comboData={comboData}
onGridReady={onGridReady}
/> />
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
@@ -234,6 +242,7 @@ const Index = () => {
> >
<HolidayTable <HolidayTable
recordList={record} recordList={record}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 2
- 1
src/pages/Organization/SearchPage/OrganizationSearchForm.js View File

@@ -19,7 +19,7 @@ import {ThemeProvider} from "@emotion/react";
// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| DASHBOARD - DEFAULT ||============================== //




const OrganizationSearchForm = ({ applySearch }) => {
const OrganizationSearchForm = ({ applySearch, onGridReady }) => {


const [type, setType] = useState([]); const [type, setType] = useState([]);
const [creditorSelected, setCreditorSelected] = React.useState(ComboData.CreditorStatus[0]); const [creditorSelected, setCreditorSelected] = React.useState(ComboData.CreditorStatus[0]);
@@ -167,6 +167,7 @@ const OrganizationSearchForm = ({ applySearch }) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
Submit Submit
</Button> </Button>


+ 2
- 1
src/pages/Organization/SearchPage/OrganizationTable.js View File

@@ -11,7 +11,7 @@ import { clickableLink} from 'utils/CommonFunction';
import {GET_ORG_PATH} from "utils/ApiPathConst"; import {GET_ORG_PATH} from "utils/ApiPathConst";
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function OrganizationTable({ searchCriteria }) {
export default function OrganizationTable({ searchCriteria, applyGridOnReady }) {
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);
const navigate = useNavigate() const navigate = useNavigate()


@@ -113,6 +113,7 @@ export default function OrganizationTable({ searchCriteria }) {
columns={columns} columns={columns}
customPageSize={10} customPageSize={10}
onRowDoubleClick={handleRowDoubleClick} onRowDoubleClick={handleRowDoubleClick}
applyGridOnReady={applyGridOnReady}
// doLoad={{ // doLoad={{
// url: GET_ORG_PATH, // url: GET_ORG_PATH,
// params: _searchCriteria, // params: _searchCriteria,


+ 11
- 1
src/pages/Organization/SearchPage/index.js View File

@@ -32,15 +32,21 @@ const OrganizationSearchPage = () => {


const [searchCriteria, setSearchCriteria] = useState({}); const [searchCriteria, setSearchCriteria] = useState({});
const [onReady, setOnReady] = useState(false); const [onReady, setOnReady] = useState(false);
const [onGridReady, setGridOnReady] = React.useState(false);


useEffect(() => { 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">
@@ -59,7 +65,10 @@ const OrganizationSearchPage = () => {
</Grid> </Grid>
{/*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 applySearch={applySearch} />
<SearchForm
applySearch={applySearch}
onGridReady={onGridReady}
/>
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
<Grid item xs={12} md={12} lg={12}> <Grid item xs={12} md={12} lg={12}>
@@ -69,6 +78,7 @@ const OrganizationSearchPage = () => {
> >
<EventTable <EventTable
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 1
- 1
src/pages/Proof/Search_GLD/SearchForm.js View File

@@ -396,7 +396,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady} disabled={onGridReady}
>
>
Submit Submit
</Button> </Button>
</Grid> </Grid>


+ 2
- 1
src/pages/User/SearchPage/UserSearchForm.js View File

@@ -21,7 +21,7 @@ import { isGrantedAny } from "auth/utils";
// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| DASHBOARD - DEFAULT ||============================== //




const UserSearchForm = ({ applySearch }) => {
const UserSearchForm = ({ applySearch, onGridReady }) => {
const navigate = useNavigate(); const navigate = useNavigate();


const [type, setType] = useState([]); const [type, setType] = useState([]);
@@ -182,6 +182,7 @@ const UserSearchForm = ({ applySearch }) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
> >
Search Search
</Button> </Button>


+ 2
- 1
src/pages/User/SearchPage/UserTable.js View File

@@ -11,7 +11,7 @@ import { isGrantedAny } from "auth/utils";
import * as React from 'react'; import * as React from 'react';
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function UserTable({searchCriteria}) {
export default function UserTable({searchCriteria, applyGridOnReady}) {
const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); const [_searchCriteria, set_searchCriteria] = useState(searchCriteria);
const [reloadTime, setReloadTime] = useState(new Date()); const [reloadTime, setReloadTime] = useState(new Date());
const theme = useTheme(); const theme = useTheme();
@@ -137,6 +137,7 @@ export default function UserTable({searchCriteria}) {
customPageSize={10} customPageSize={10}
onRowDoubleClick={handleRowDoubleClick} onRowDoubleClick={handleRowDoubleClick}
getRowHeight={() => 'auto'} getRowHeight={() => 'auto'}
applyGridOnReady={applyGridOnReady}
// doLoad={{ // doLoad={{
// url: GLD_USER_PATH, // url: GLD_USER_PATH,
// params: _searchCriteria, // params: _searchCriteria,


+ 12
- 1
src/pages/User/SearchPage/index.js View File

@@ -29,6 +29,8 @@ const UserSettingPage = () => {
// const [record, setRecord] = useState([]); // const [record, setRecord] = useState([]);
const [searchCriteria, setSearchCriteria] = useState({}); const [searchCriteria, setSearchCriteria] = useState({});
const [onReady, setOnReady] = useState(false); const [onReady, setOnReady] = useState(false);
const [onGridReady, setGridOnReady] = useState(false);

//const [changelocked, setChangeLocked] = useState(false); //const [changelocked, setChangeLocked] = useState(false);


// useLayoutEffect(() => { // useLayoutEffect(() => {
@@ -59,9 +61,14 @@ const UserSettingPage = () => {
// } // }


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">
@@ -81,7 +88,10 @@ const UserSettingPage = () => {


{/*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 applySearch={applySearch} />
<SearchForm
applySearch={applySearch}
onGridReady={onGridReady}
/>
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
<Grid item xs={12} md={12} lg={12}> <Grid item xs={12} md={12} lg={12}>
@@ -91,6 +101,7 @@ const UserSettingPage = () => {
> >
<EventTable <EventTable
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
// setChangeLocked={setChangeLocked} // setChangeLocked={setChangeLocked}
/> />
</MainCard> </MainCard>


+ 3
- 2
src/pages/User/SearchPage_Individual/UserSearchForm_Individual.js View File

@@ -13,7 +13,7 @@ import {ThemeProvider} from "@emotion/react";
// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| DASHBOARD - DEFAULT ||============================== //




const UserSearchForm_Individual = ({ applySearch }) => {
const UserSearchForm_Individual = ({ applySearch, onGridReady }) => {


const [type, setType] = useState([]); const [type, setType] = useState([]);
const [accountFilter, setAccountFilter] = useState("All"); const [accountFilter, setAccountFilter] = useState("All");
@@ -163,7 +163,8 @@ const UserSearchForm_Individual = ({ applySearch }) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
>
disabled={onGridReady}
>
Submit Submit
</Button> </Button>
</Grid> </Grid>


+ 2
- 1
src/pages/User/SearchPage_Individual/UserTable_Individual.js View File

@@ -12,7 +12,7 @@ import { clickableLink} from 'utils/CommonFunction';
import * as React from 'react'; import * as React from 'react';
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function UserTable_Individual({ searchCriteria }) {
export default function UserTable_Individual({ searchCriteria, applyGridOnReady }) {
const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); const [_searchCriteria, set_searchCriteria] = useState(searchCriteria);


const navigate = useNavigate() const navigate = useNavigate()
@@ -153,6 +153,7 @@ export default function UserTable_Individual({ searchCriteria }) {
columns={columns} columns={columns}
customPageSize={10} customPageSize={10}
onRowDoubleClick={handleRowDoubleClick} onRowDoubleClick={handleRowDoubleClick}
applyGridOnReady={applyGridOnReady}
// doLoad={{ // doLoad={{
// url: GET_IND_USER_PATH, // url: GET_IND_USER_PATH,
// params: _searchCriteria, // params: _searchCriteria,


+ 11
- 1
src/pages/User/SearchPage_Individual/index.js View File

@@ -25,15 +25,21 @@ const UserSearchPage_Individual = () => {


const [searchCriteria, setSearchCriteria] = useState({}); const [searchCriteria, setSearchCriteria] = useState({});
const [onReady, setOnReady] = useState(false); const [onReady, setOnReady] = useState(false);
const [onGridReady, setGridOnReady] = useState(false);


useEffect(() => { 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">
@@ -55,7 +61,10 @@ const UserSearchPage_Individual = () => {


{/*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 applySearch={applySearch} />
<SearchForm
applySearch={applySearch}
onGridReady={onGridReady}
/>
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
<Grid item xs={12} md={12} lg={12}> <Grid item xs={12} md={12} lg={12}>
@@ -65,6 +74,7 @@ const UserSearchPage_Individual = () => {
> >
<EventTable <EventTable
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 3
- 2
src/pages/User/SearchPage_Organization/UserSearchForm_Organization.js View File

@@ -14,7 +14,7 @@ import {ThemeProvider} from "@emotion/react";
// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| DASHBOARD - DEFAULT ||============================== //




const UserSearchForm_Organization = ({applySearch}) => {
const UserSearchForm_Organization = ({applySearch, onGridReady}) => {


const [type, setType] = useState([]); const [type, setType] = useState([]);
const [accountFilter, setAccountFilter] = useState("All"); const [accountFilter, setAccountFilter] = useState("All");
@@ -190,7 +190,8 @@ const UserSearchForm_Organization = ({applySearch}) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
>
disabled={onGridReady}
>
Submit Submit
</Button> </Button>
</Grid> </Grid>


+ 2
- 1
src/pages/User/SearchPage_Organization/UserTable_Organization.js View File

@@ -15,7 +15,7 @@ import { clickableLink} from 'utils/CommonFunction';
import * as React from 'react'; import * as React from 'react';
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function UserTable_Organization({searchCriteria}) {
export default function UserTable_Organization({searchCriteria, applyGridOnReady}) {
const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); const [_searchCriteria, set_searchCriteria] = useState(searchCriteria);


const navigate = useNavigate() const navigate = useNavigate()
@@ -147,6 +147,7 @@ export default function UserTable_Organization({searchCriteria}) {
columns={columns} columns={columns}
customPageSize={10} customPageSize={10}
onRowDoubleClick={handleRowDoubleClick} onRowDoubleClick={handleRowDoubleClick}
applyGridOnReady={applyGridOnReady}
// doLoad={{ // doLoad={{
// url: GET_ORG_USER_PATH, // url: GET_ORG_USER_PATH,
// params: _searchCriteria, // params: _searchCriteria,


+ 12
- 2
src/pages/User/SearchPage_Organization/index.js View File

@@ -26,6 +26,7 @@ const UserSearchPage_Organization = () => {


const [searchCriteria, setSearchCriteria] = useState({}); const [searchCriteria, setSearchCriteria] = useState({});
const [onReady, setOnReady] = useState(false); const [onReady, setOnReady] = useState(false);
const [onGridReady, setGridOnReady] = useState(false);




useEffect(() => { useEffect(() => {
@@ -33,9 +34,14 @@ const UserSearchPage_Organization = () => {
}, [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">
@@ -54,7 +60,10 @@ const UserSearchPage_Organization = () => {
</Grid> </Grid>
{/*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 applySearch={applySearch} />
<SearchForm
applySearch={applySearch}
onGridReady={onGridReady}
/>
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
<Grid item xs={12} md={12} lg={12}> <Grid item xs={12} md={12} lg={12}>
@@ -63,7 +72,8 @@ const UserSearchPage_Organization = () => {
content={false} content={false}
> >
<EventTable <EventTable
searchCriteria={searchCriteria}
searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 3
- 2
src/pages/pnspsUserGroupSearchPage/UserGroupSearchForm.js View File

@@ -14,7 +14,7 @@ import { ThemeProvider } from "@emotion/react";
import { isGrantedAny } from "auth/utils"; import { isGrantedAny } from "auth/utils";
// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| DASHBOARD - DEFAULT ||============================== //


const UserGroupSearchForm = ({ applySearch }) => {
const UserGroupSearchForm = ({ applySearch, onGridReady }) => {
const navigate = useNavigate(); const navigate = useNavigate();


const { reset, register, handleSubmit } = useForm() const { reset, register, handleSubmit } = useForm()
@@ -112,10 +112,11 @@ const UserGroupSearchForm = ({ applySearch }) => {
<Button <Button
variant="contained" variant="contained"
type="submit" type="submit"
disabled={onGridReady}
sx={{ sx={{
textTransform: 'capitalize', textTransform: 'capitalize',
alignItems: 'end' alignItems: 'end'
}}>
}}>
Search Search
</Button> </Button>
</Grid> </Grid>


+ 2
- 1
src/pages/pnspsUserGroupSearchPage/UserGroupTable.js View File

@@ -11,7 +11,7 @@ import { clickableLink} from 'utils/CommonFunction';
import * as React from 'react'; import * as React from 'react';
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function UserGroupTable({searchCriteria}) {
export default function UserGroupTable({searchCriteria, applyGridOnReady}) {
const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); const [_searchCriteria, set_searchCriteria] = useState(searchCriteria);
const navigate = useNavigate() const navigate = useNavigate()


@@ -70,6 +70,7 @@ export default function UserGroupTable({searchCriteria}) {
customPageSize={10} customPageSize={10}
pageSizeOptions={[10, 15, 20]} pageSizeOptions={[10, 15, 20]}
onRowDoubleClick={handleRowDoubleClick} onRowDoubleClick={handleRowDoubleClick}
applyGridOnReady={applyGridOnReady}
// doLoad={{ // doLoad={{
// url: GET_GROUP_LIST_PATH, // url: GET_GROUP_LIST_PATH,
// params: _searchCriteria, // params: _searchCriteria,


+ 11
- 1
src/pages/pnspsUserGroupSearchPage/index.js View File

@@ -34,15 +34,21 @@ const BackgroundHead = {
const UserGroupSearchPanel = () => { const UserGroupSearchPanel = () => {
const [searchCriteria, setSearchCriteria] = useState({}); const [searchCriteria, setSearchCriteria] = useState({});
const [onReady, setOnReady] = useState(false); const [onReady, setOnReady] = useState(false);
const [onGridReady, setGridOnReady] = useState(false);


useEffect(() => { 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">
@@ -64,7 +70,10 @@ const UserGroupSearchPanel = () => {


{/*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}}>
<UserGroupSearchForm applySearch={applySearch} />
<UserGroupSearchForm
applySearch={applySearch}
onGridReady={onGridReady}
/>
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
<Grid item xs={12} md={12} lg={12}> <Grid item xs={12} md={12} lg={12}>
@@ -74,6 +83,7 @@ const UserGroupSearchPanel = () => {
> >
<UserGroupTable <UserGroupTable
searchCriteria={searchCriteria} searchCriteria={searchCriteria}
applyGridOnReady={applyGridOnReady}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


Loading…
Cancel
Save