diff --git a/build20240919 v2.zip b/build20240919 v2.zip new file mode 100644 index 0000000..f2ff405 Binary files /dev/null and b/build20240919 v2.zip differ diff --git a/src/components/FiDataGrid.js b/src/components/FiDataGrid.js index ce268ba..13c259f 100644 --- a/src/components/FiDataGrid.js +++ b/src/components/FiDataGrid.js @@ -95,6 +95,9 @@ export function FiDataGrid({ rows, columns, sx, autoHeight, } if (_doLoad !== undefined && Object.keys(_doLoad).length==0 ){ setLoading(false) + if (applyGridOnReady !== undefined){ + applyGridOnReady(false) + } } }, [sx, hideFooterSelectedRowCount, rowModesModel, rows, columns, pageSizeOptions, autoHeight, editMode, filterItems, customPageSize]); diff --git a/src/pages/Announcement/Search/DataGrid.js b/src/pages/Announcement/Search/DataGrid.js index d125b80..0f7d1d9 100644 --- a/src/pages/Announcement/Search/DataGrid.js +++ b/src/pages/Announcement/Search/DataGrid.js @@ -10,7 +10,7 @@ import { clickableLink } from 'utils/CommonFunction'; import {GET_ANNOUNCE_LIST} from "utils/ApiPathConst"; // ==============================|| EVENT TABLE ||============================== // -export default function SearchPublicNoticeTable({ searchCriteria }) { +export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady }) { const navigate = useNavigate() @@ -73,6 +73,7 @@ export default function SearchPublicNoticeTable({ searchCriteria }) { customPageSize={10} getRowHeight={() => 'auto'} onRowDoubleClick={handleRowDoubleClick} + applyGridOnReady={applyGridOnReady} // doLoad={{ // url: GET_ANNOUNCE_LIST, // params: _searchCriteria, diff --git a/src/pages/Announcement/Search/SearchForm.js b/src/pages/Announcement/Search/SearchForm.js index 66a8bb7..759b676 100644 --- a/src/pages/Announcement/Search/SearchForm.js +++ b/src/pages/Announcement/Search/SearchForm.js @@ -18,7 +18,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const SearchPublicNoticeForm = ({ applySearch, searchCriteria}) => { +const SearchPublicNoticeForm = ({ applySearch, searchCriteria, onGridReady}) => { const navigate = useNavigate() const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); @@ -180,6 +180,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria}) => { diff --git a/src/pages/Announcement/Search/index.js b/src/pages/Announcement/Search/index.js index 91b6aae..75a88c4 100644 --- a/src/pages/Announcement/Search/index.js +++ b/src/pages/Announcement/Search/index.js @@ -33,15 +33,22 @@ const UserSearchPage_Individual = () => { dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 90)), }); const [onReady, setOnReady] = React.useState(false); + const [onGridReady, setGridOnReady] = React.useState(false); React.useEffect(() => { setOnReady(true); }, [searchCriteria]); function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + + return ( !onReady ? @@ -63,6 +70,7 @@ const UserSearchPage_Individual = () => { {/*row 2*/} @@ -73,7 +81,8 @@ const UserSearchPage_Individual = () => { sx={{ backgroundColor: '#fff' }} > diff --git a/src/pages/Announcement/Search_Public/DataGrid.js b/src/pages/Announcement/Search_Public/DataGrid.js index 9c12f7c..348e644 100644 --- a/src/pages/Announcement/Search_Public/DataGrid.js +++ b/src/pages/Announcement/Search_Public/DataGrid.js @@ -6,7 +6,7 @@ import { FormattedMessage, useIntl } from "react-intl"; import {GET_ANNOUNCE_LIST} from "utils/ApiPathConst"; // ==============================|| EVENT TABLE ||============================== // -export default function SearchPublicNoticeTable({ searchCriteria }) { +export default function SearchPublicNoticeTable({ searchCriteria, applyGridOnReady }) { const intl = useIntl(); const { locale } = intl; @@ -57,6 +57,7 @@ export default function SearchPublicNoticeTable({ searchCriteria }) { columns={columns} customPageSize={10} getRowHeight={() => 'auto'} + applyGridOnReady={applyGridOnReady} // doLoad={{ // url: GET_ANNOUNCE_LIST, // params: _searchCriteria diff --git a/src/pages/Announcement/Search_Public/SearchForm.js b/src/pages/Announcement/Search_Public/SearchForm.js index 044e5c6..9fd286c 100644 --- a/src/pages/Announcement/Search_Public/SearchForm.js +++ b/src/pages/Announcement/Search_Public/SearchForm.js @@ -19,7 +19,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { +const SearchPublicNoticeForm = ({ applySearch, searchCriteria, onGridReady }) => { // const navigate = useNavigate() const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom); @@ -186,6 +186,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { diff --git a/src/pages/Announcement/Search_Public/index.js b/src/pages/Announcement/Search_Public/index.js index 9752649..780d302 100644 --- a/src/pages/Announcement/Search_Public/index.js +++ b/src/pages/Announcement/Search_Public/index.js @@ -34,6 +34,7 @@ const UserSearchPage_Individual = () => { dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 90)), }); const [onReady, setOnReady] = React.useState(false); + const [onGridReady, setGridOnReady] = React.useState(false); React.useEffect(() => { setOnReady(true); @@ -41,9 +42,14 @@ const UserSearchPage_Individual = () => { function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + return ( !onReady ? @@ -65,6 +71,7 @@ const UserSearchPage_Individual = () => { {/*row 2*/} @@ -76,6 +83,7 @@ const UserSearchPage_Individual = () => { > diff --git a/src/pages/AuditLog/AuditLogSearchForm.js b/src/pages/AuditLog/AuditLogSearchForm.js index 52c7ec0..8236d9e 100644 --- a/src/pages/AuditLog/AuditLogSearchForm.js +++ b/src/pages/AuditLog/AuditLogSearchForm.js @@ -30,7 +30,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const AuditLogSearchForm = ({ applySearch, searchCriteria}) => { +const AuditLogSearchForm = ({ applySearch, searchCriteria, onGridReady}) => { // const navigate = useNavigate(); const [minDate, setMinDate] = React.useState(searchCriteria.modifiedFrom); @@ -210,6 +210,7 @@ const AuditLogSearchForm = ({ applySearch, searchCriteria}) => { diff --git a/src/pages/AuditLog/AuditLogTable.js b/src/pages/AuditLog/AuditLogTable.js index 89f14ff..d02defa 100644 --- a/src/pages/AuditLog/AuditLogTable.js +++ b/src/pages/AuditLog/AuditLogTable.js @@ -12,7 +12,7 @@ import { } from '@mui/material'; // ==============================|| EVENT TABLE ||============================== // -export default function AuditLogTable({searchCriteria}) { +export default function AuditLogTable({searchCriteria, applyGridOnReady}) { const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); useEffect(() => { @@ -87,6 +87,7 @@ export default function AuditLogTable({searchCriteria}) { columns={columns} customPageSize={10} getRowHeight={() => 'auto'} + applyGridOnReady={applyGridOnReady} // doLoad={{ // url: GET_AUDIT_LOG_LIST, // params: _searchCriteria diff --git a/src/pages/AuditLog/index.js b/src/pages/AuditLog/index.js index b0c1232..09716e1 100644 --- a/src/pages/AuditLog/index.js +++ b/src/pages/AuditLog/index.js @@ -8,6 +8,7 @@ import { import MainCard from "components/MainCard"; import { useEffect, useState } from "react"; import * as DateUtils from "utils/DateUtils"; +import * as React from "react"; import Loadable from 'components/Loadable'; import { lazy } from 'react'; @@ -33,15 +34,21 @@ const AuditLogPage = () => { modifiedFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), }); const [onReady, setOnReady] = useState(false); + const [onGridReady, setGridOnReady] = React.useState(false); useEffect(() => { setOnReady(true); }, [searchCriteria]); function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + return ( !onReady ? @@ -64,7 +71,7 @@ const AuditLogPage = () => { {/*row 2*/} @@ -75,6 +82,7 @@ const AuditLogPage = () => { > diff --git a/src/pages/DemandNote/Search/DataGrid.js b/src/pages/DemandNote/Search/DataGrid.js index 3993aed..a41c28f 100644 --- a/src/pages/DemandNote/Search/DataGrid.js +++ b/src/pages/DemandNote/Search/DataGrid.js @@ -28,7 +28,7 @@ import { ThemeProvider } from "@emotion/react"; import { isGrantedAny } from "auth/utils"; // ==============================|| EVENT TABLE ||============================== // -export default function SearchDemandNote({ applySearch, searchCriteria }) { +export default function SearchDemandNote({ applySearch, searchCriteria, applyGridOnReady }) { const [isConfirmPopUp, setConfirmPopUp] = useState(false); const [isRevokePopUp, setRevokePopUp] = useState(false); @@ -388,6 +388,7 @@ export default function SearchDemandNote({ applySearch, searchCriteria }) { customPageSize={100} getRowHeight={() => 'auto'} onRowDoubleClick={handleRowDoubleClick} + applyGridOnReady={applyGridOnReady} doLoad={useMemo(() => ({ url: DEMAND_NOTE_LIST_ALL, params: _searchCriteria, diff --git a/src/pages/DemandNote/Search/SearchForm.js b/src/pages/DemandNote/Search/SearchForm.js index 574b7c3..62f793d 100644 --- a/src/pages/DemandNote/Search/SearchForm.js +++ b/src/pages/DemandNote/Search/SearchForm.js @@ -21,7 +21,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issueComboData +const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issueComboData, onGridReady }) => { const [type, setType] = React.useState([]); @@ -411,6 +411,7 @@ const SearchDemandNoteForm = ({ applySearch, orgComboData, searchCriteria, issue diff --git a/src/pages/DemandNote/Search/index.js b/src/pages/DemandNote/Search/index.js index 10a8401..b67af6d 100644 --- a/src/pages/DemandNote/Search/index.js +++ b/src/pages/DemandNote/Search/index.js @@ -41,6 +41,7 @@ const UserSearchPage_Individual = () => { // dueDateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 14)), }); const [onReady, setOnReady] = React.useState(false); + const [onGridReady, setGridOnReady] = React.useState(false); React.useEffect(() => { getOrgCombo(); @@ -73,9 +74,14 @@ const UserSearchPage_Individual = () => { } function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + return ( !onReady ? @@ -101,7 +107,7 @@ const UserSearchPage_Individual = () => { orgComboData={orgCombo} issueComboData={issueCombo} searchCriteria={searchCriteria} - + onGridReady={onGridReady} /> {/*row 2*/} @@ -114,6 +120,7 @@ const UserSearchPage_Individual = () => { diff --git a/src/pages/DemandNote/Search_Public/DataGrid.js b/src/pages/DemandNote/Search_Public/DataGrid.js index d04f153..87f0bd8 100644 --- a/src/pages/DemandNote/Search_Public/DataGrid.js +++ b/src/pages/DemandNote/Search_Public/DataGrid.js @@ -15,7 +15,7 @@ import {useIntl} from "react-intl"; import {DEMAND_NOTE_LIST} from "utils/ApiPathConst"; // ==============================|| EVENT TABLE ||============================== // -export default function SearchDemandNote({ searchCriteria }) { +export default function SearchDemandNote({ searchCriteria, applyGridOnReady }) { const intl = useIntl(); const theme = useTheme(); @@ -97,10 +97,15 @@ export default function SearchDemandNote({ searchCriteria }) { columns={columns} customPageSize={10} getRowHeight={() => 'auto'} - doLoad={{ + applyGridOnReady={applyGridOnReady} + // doLoad={{ + // url: DEMAND_NOTE_LIST, + // params: _searchCriteria, + // }} + doLoad={React.useMemo(() => ({ url: DEMAND_NOTE_LIST, params: _searchCriteria, - }} + }), [_searchCriteria])} /> diff --git a/src/pages/DemandNote/Search_Public/SearchForm.js b/src/pages/DemandNote/Search_Public/SearchForm.js index 820dece..f6bd764 100644 --- a/src/pages/DemandNote/Search_Public/SearchForm.js +++ b/src/pages/DemandNote/Search_Public/SearchForm.js @@ -22,7 +22,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData +const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData, onGridReady }) => { const intl = useIntl(); @@ -289,6 +289,7 @@ const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData diff --git a/src/pages/DemandNote/Search_Public/index.js b/src/pages/DemandNote/Search_Public/index.js index 9e20089..47643cd 100644 --- a/src/pages/DemandNote/Search_Public/index.js +++ b/src/pages/DemandNote/Search_Public/index.js @@ -39,6 +39,7 @@ const SearchPage_DemandNote_Pub = () => { dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate() - 14)), }); const [onReady, setOnReady] = React.useState(false); + const [onGridReady, setGridOnReady] = React.useState(false); React.useEffect(() => { getOrgCombo(); @@ -72,9 +73,14 @@ const SearchPage_DemandNote_Pub = () => { function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + return ( !onReady ? @@ -100,6 +106,7 @@ const SearchPage_DemandNote_Pub = () => { orgComboData={orgCombo} issueComboData={issueCombo} searchCriteria={searchCriteria} + onGridReady={onGridReady} /> {/*row 2*/} @@ -110,7 +117,8 @@ const SearchPage_DemandNote_Pub = () => { sx={{ backgroundColor: '#fff' }} > diff --git a/src/pages/GFMIS/DataGrid.js b/src/pages/GFMIS/DataGrid.js index a271c16..40a0b24 100644 --- a/src/pages/GFMIS/DataGrid.js +++ b/src/pages/GFMIS/DataGrid.js @@ -6,7 +6,7 @@ import { useNavigate } from "react-router-dom"; import { FiDataGrid } from "components/FiDataGrid"; // ==============================|| EVENT TABLE ||============================== // -export default function SearchTable({ searchCriteria }) { +export default function SearchTable({ searchCriteria, applyGridOnReady }) { const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); const navigate = useNavigate() // const [rows, setRows] = React.useState([]); @@ -67,6 +67,7 @@ export default function SearchTable({ searchCriteria }) { columns={columns} customPageSize={10} onRowDoubleClick={handleEditClick} + applyGridOnReady={applyGridOnReady} doLoad={React.useMemo(() => ({ url: GFIMIS_LIST, params: _searchCriteria, diff --git a/src/pages/GFMIS/SearchForm.js b/src/pages/GFMIS/SearchForm.js index db163ae..44cc85a 100644 --- a/src/pages/GFMIS/SearchForm.js +++ b/src/pages/GFMIS/SearchForm.js @@ -21,7 +21,7 @@ import {DemoItem} from "@mui/x-date-pickers/internals/demo"; import {LocalizationProvider} from "@mui/x-date-pickers/LocalizationProvider"; import {AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs"; // ==============================|| 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); @@ -146,6 +146,7 @@ const SearchPublicNoticeForm = ({ applySearch, generateXML, searchCriteria }) => diff --git a/src/pages/GFMIS/index.js b/src/pages/GFMIS/index.js index 498b9a4..2620eb4 100644 --- a/src/pages/GFMIS/index.js +++ b/src/pages/GFMIS/index.js @@ -35,6 +35,7 @@ const Index = () => { // dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), }); const [onReady, setOnReady] = React.useState(false); + const [onGridReady, setGridOnReady] = React.useState(false); React.useEffect(() => { setOnReady(true); @@ -97,9 +98,14 @@ const Index = () => { function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + function generateXML(input) { downloadXML(input); } @@ -121,9 +127,10 @@ const Index = () => { {/*row 1*/} {/*row 2*/} @@ -135,6 +142,7 @@ const Index = () => { > diff --git a/src/pages/GazetteIssue/DataGrid.js b/src/pages/GazetteIssue/DataGrid.js index 6d38f90..9277dce 100644 --- a/src/pages/GazetteIssue/DataGrid.js +++ b/src/pages/GazetteIssue/DataGrid.js @@ -7,7 +7,7 @@ import {GET_ISSUE} from "utils/ApiPathConst"; // ==============================|| EVENT TABLE ||============================== // -export default function GazetteIssueTable({ searchCriteria }) { +export default function GazetteIssueTable({ searchCriteria, applyGridOnReady }) { const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); React.useEffect(() => { @@ -100,6 +100,7 @@ export default function GazetteIssueTable({ searchCriteria }) { customPageSize={10} // onRowDoubleClick={handleRowDoubleClick} getRowHeight={() => 'auto'} + applyGridOnReady={applyGridOnReady} // doLoad={{ // url: GET_ISSUE, // params: _searchCriteria, diff --git a/src/pages/GazetteIssue/SearchForm.js b/src/pages/GazetteIssue/SearchForm.js index 48d5af6..7d53fee 100644 --- a/src/pages/GazetteIssue/SearchForm.js +++ b/src/pages/GazetteIssue/SearchForm.js @@ -16,7 +16,7 @@ import {ThemeProvider} from "@emotion/react"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const SearchGazetteIssueForm = ({ applySearch, comboData}) => { +const SearchGazetteIssueForm = ({ applySearch, comboData, onGridReady}) => { const [selectedYear, setSelectedYear] = React.useState([]); // const [defaultYear, setDefaultYear] = React.useState(searchCriteria.year); const [comboList, setComboList] = React.useState([]); @@ -114,6 +114,7 @@ const SearchGazetteIssueForm = ({ applySearch, comboData}) => { diff --git a/src/pages/GazetteIssue/index.js b/src/pages/GazetteIssue/index.js index d11866f..6d5da21 100644 --- a/src/pages/GazetteIssue/index.js +++ b/src/pages/GazetteIssue/index.js @@ -38,6 +38,8 @@ const Index = () => { const [comboData, setComboData] = React.useState([]); const [holidayComboData, setHolidayComboData] = React.useState([]); const [onReady, setOnReady] = React.useState(false); + const [onGridReady, setGridOnReady] = React.useState(false); + const [onSearchReady, setOnSearchReady] = React.useState(false); const [onExportReady, setOnExportReady] = React.useState(false); const [searchCriteria, setSearchCriteria] = React.useState({ @@ -89,6 +91,7 @@ const Index = () => { } function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } @@ -96,6 +99,10 @@ const Index = () => { setExportCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + React.useEffect(() => { if (Object.keys(exportCriteria).length > 0) { // console.log(exportCriteria) @@ -219,6 +226,7 @@ const Index = () => { {/*row 2*/} @@ -230,7 +238,8 @@ const Index = () => { content={false} > diff --git a/src/pages/Holiday/DataGrid.js b/src/pages/Holiday/DataGrid.js index 77b3d02..ea99cfc 100644 --- a/src/pages/Holiday/DataGrid.js +++ b/src/pages/Holiday/DataGrid.js @@ -9,7 +9,7 @@ import { dateStr } from "utils/DateUtils"; // ==============================|| EVENT TABLE ||============================== // -export default function HolidayTable({ recordList }) { +export default function HolidayTable({ recordList, applyGridOnReady }) { const [rows, setRows] = React.useState(recordList); // const navigate = useNavigate() @@ -48,8 +48,13 @@ export default function HolidayTable({ recordList }) { rows={rows} columns={columns} customPageSize={20} + applyGridOnReady={applyGridOnReady} // onRowDoubleClick={handleRowDoubleClick} getRowHeight={() => 'auto'} + // doLoad={React.useMemo(() => ({ + // url: LIST_PROOF, + // params: _searchCriteria, + // }), [_searchCriteria])} /> ); diff --git a/src/pages/Holiday/SearchForm.js b/src/pages/Holiday/SearchForm.js index e4c767f..372d65d 100644 --- a/src/pages/Holiday/SearchForm.js +++ b/src/pages/Holiday/SearchForm.js @@ -16,7 +16,7 @@ import {ThemeProvider} from "@emotion/react"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const SearchHolidayForm = ({ applySearch, comboData}) => { +const SearchHolidayForm = ({ applySearch, comboData, onGridReady}) => { const [selectedYear, setSelectedYear] = React.useState([]); // const [defaultYear, setDefaultYear] = React.useState(searchCriteria.year); const [comboList, setComboList] = React.useState([]); @@ -114,6 +114,7 @@ const SearchHolidayForm = ({ applySearch, comboData}) => { diff --git a/src/pages/Holiday/index.js b/src/pages/Holiday/index.js index 9a7d59d..18bb388 100644 --- a/src/pages/Holiday/index.js +++ b/src/pages/Holiday/index.js @@ -41,6 +41,8 @@ const Index = () => { const [comboData, setComboData] = React.useState([]); const [onReady, setOnReady] = React.useState(false); const [onSearchReady, setOnSearchReady] = React.useState(false); + const [onGridReady, setGridOnReady] = React.useState(false); + // const navigate = useNavigate() const [searchCriteria, setSearchCriteria] = React.useState({ year: dateStr_Year(new Date()), @@ -97,9 +99,14 @@ const Index = () => { } function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + React.useEffect(() => { if (attachments.length > 0) { importHoliday(); @@ -222,6 +229,7 @@ const Index = () => { // generateXML={generateXML} searchCriteria={searchCriteria} comboData={comboData} + onGridReady={onGridReady} /> {/*row 2*/} @@ -234,6 +242,7 @@ const Index = () => { > diff --git a/src/pages/Organization/SearchPage/OrganizationSearchForm.js b/src/pages/Organization/SearchPage/OrganizationSearchForm.js index 9d81979..a514d72 100644 --- a/src/pages/Organization/SearchPage/OrganizationSearchForm.js +++ b/src/pages/Organization/SearchPage/OrganizationSearchForm.js @@ -19,7 +19,7 @@ import {ThemeProvider} from "@emotion/react"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const OrganizationSearchForm = ({ applySearch }) => { +const OrganizationSearchForm = ({ applySearch, onGridReady }) => { const [type, setType] = useState([]); const [creditorSelected, setCreditorSelected] = React.useState(ComboData.CreditorStatus[0]); @@ -167,6 +167,7 @@ const OrganizationSearchForm = ({ applySearch }) => { diff --git a/src/pages/Organization/SearchPage/OrganizationTable.js b/src/pages/Organization/SearchPage/OrganizationTable.js index 1bbdca4..81363c5 100644 --- a/src/pages/Organization/SearchPage/OrganizationTable.js +++ b/src/pages/Organization/SearchPage/OrganizationTable.js @@ -11,7 +11,7 @@ import { clickableLink} from 'utils/CommonFunction'; import {GET_ORG_PATH} from "utils/ApiPathConst"; // ==============================|| EVENT TABLE ||============================== // -export default function OrganizationTable({ searchCriteria }) { +export default function OrganizationTable({ searchCriteria, applyGridOnReady }) { const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); const navigate = useNavigate() @@ -113,6 +113,7 @@ export default function OrganizationTable({ searchCriteria }) { columns={columns} customPageSize={10} onRowDoubleClick={handleRowDoubleClick} + applyGridOnReady={applyGridOnReady} // doLoad={{ // url: GET_ORG_PATH, // params: _searchCriteria, diff --git a/src/pages/Organization/SearchPage/index.js b/src/pages/Organization/SearchPage/index.js index 06e2db8..844c1d0 100644 --- a/src/pages/Organization/SearchPage/index.js +++ b/src/pages/Organization/SearchPage/index.js @@ -32,15 +32,21 @@ const OrganizationSearchPage = () => { const [searchCriteria, setSearchCriteria] = useState({}); const [onReady, setOnReady] = useState(false); + const [onGridReady, setGridOnReady] = React.useState(false); useEffect(() => { setOnReady(true); }, [searchCriteria]); function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + return ( !onReady ? @@ -59,7 +65,10 @@ const OrganizationSearchPage = () => { {/*row 1*/} - + {/*row 2*/} @@ -69,6 +78,7 @@ const OrganizationSearchPage = () => { > diff --git a/src/pages/Proof/Search_GLD/SearchForm.js b/src/pages/Proof/Search_GLD/SearchForm.js index 642d267..3217c15 100644 --- a/src/pages/Proof/Search_GLD/SearchForm.js +++ b/src/pages/Proof/Search_GLD/SearchForm.js @@ -396,7 +396,7 @@ const SearchPublicNoticeForm = ({ applySearch, orgComboData, searchCriteria, iss variant="contained" type="submit" disabled={onGridReady} - > + > Submit diff --git a/src/pages/User/SearchPage/UserSearchForm.js b/src/pages/User/SearchPage/UserSearchForm.js index 17d7cfd..53f4b82 100644 --- a/src/pages/User/SearchPage/UserSearchForm.js +++ b/src/pages/User/SearchPage/UserSearchForm.js @@ -21,7 +21,7 @@ import { isGrantedAny } from "auth/utils"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const UserSearchForm = ({ applySearch }) => { +const UserSearchForm = ({ applySearch, onGridReady }) => { const navigate = useNavigate(); const [type, setType] = useState([]); @@ -182,6 +182,7 @@ const UserSearchForm = ({ applySearch }) => { diff --git a/src/pages/User/SearchPage/UserTable.js b/src/pages/User/SearchPage/UserTable.js index 8d58412..0762f7c 100644 --- a/src/pages/User/SearchPage/UserTable.js +++ b/src/pages/User/SearchPage/UserTable.js @@ -11,7 +11,7 @@ import { isGrantedAny } from "auth/utils"; import * as React from 'react'; // ==============================|| EVENT TABLE ||============================== // -export default function UserTable({searchCriteria}) { +export default function UserTable({searchCriteria, applyGridOnReady}) { const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); const [reloadTime, setReloadTime] = useState(new Date()); const theme = useTheme(); @@ -137,6 +137,7 @@ export default function UserTable({searchCriteria}) { customPageSize={10} onRowDoubleClick={handleRowDoubleClick} getRowHeight={() => 'auto'} + applyGridOnReady={applyGridOnReady} // doLoad={{ // url: GLD_USER_PATH, // params: _searchCriteria, diff --git a/src/pages/User/SearchPage/index.js b/src/pages/User/SearchPage/index.js index 81461b0..a99c021 100644 --- a/src/pages/User/SearchPage/index.js +++ b/src/pages/User/SearchPage/index.js @@ -29,6 +29,8 @@ const UserSettingPage = () => { // const [record, setRecord] = useState([]); const [searchCriteria, setSearchCriteria] = useState({}); const [onReady, setOnReady] = useState(false); + const [onGridReady, setGridOnReady] = useState(false); + //const [changelocked, setChangeLocked] = useState(false); // useLayoutEffect(() => { @@ -59,9 +61,14 @@ const UserSettingPage = () => { // } function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + return ( !onReady ? @@ -81,7 +88,10 @@ const UserSettingPage = () => { {/*row 1*/} - + {/*row 2*/} @@ -91,6 +101,7 @@ const UserSettingPage = () => { > diff --git a/src/pages/User/SearchPage_Individual/UserSearchForm_Individual.js b/src/pages/User/SearchPage_Individual/UserSearchForm_Individual.js index dc3f668..978d0b7 100644 --- a/src/pages/User/SearchPage_Individual/UserSearchForm_Individual.js +++ b/src/pages/User/SearchPage_Individual/UserSearchForm_Individual.js @@ -13,7 +13,7 @@ import {ThemeProvider} from "@emotion/react"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const UserSearchForm_Individual = ({ applySearch }) => { +const UserSearchForm_Individual = ({ applySearch, onGridReady }) => { const [type, setType] = useState([]); const [accountFilter, setAccountFilter] = useState("All"); @@ -163,7 +163,8 @@ const UserSearchForm_Individual = ({ applySearch }) => { diff --git a/src/pages/User/SearchPage_Individual/UserTable_Individual.js b/src/pages/User/SearchPage_Individual/UserTable_Individual.js index 74c5053..ad401b8 100644 --- a/src/pages/User/SearchPage_Individual/UserTable_Individual.js +++ b/src/pages/User/SearchPage_Individual/UserTable_Individual.js @@ -12,7 +12,7 @@ import { clickableLink} from 'utils/CommonFunction'; import * as React from 'react'; // ==============================|| EVENT TABLE ||============================== // -export default function UserTable_Individual({ searchCriteria }) { +export default function UserTable_Individual({ searchCriteria, applyGridOnReady }) { const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); const navigate = useNavigate() @@ -153,6 +153,7 @@ export default function UserTable_Individual({ searchCriteria }) { columns={columns} customPageSize={10} onRowDoubleClick={handleRowDoubleClick} + applyGridOnReady={applyGridOnReady} // doLoad={{ // url: GET_IND_USER_PATH, // params: _searchCriteria, diff --git a/src/pages/User/SearchPage_Individual/index.js b/src/pages/User/SearchPage_Individual/index.js index 24fd1d6..10bbc8c 100644 --- a/src/pages/User/SearchPage_Individual/index.js +++ b/src/pages/User/SearchPage_Individual/index.js @@ -25,15 +25,21 @@ const UserSearchPage_Individual = () => { const [searchCriteria, setSearchCriteria] = useState({}); const [onReady, setOnReady] = useState(false); + const [onGridReady, setGridOnReady] = useState(false); useEffect(() => { setOnReady(true); }, [searchCriteria]); function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + return ( !onReady ? @@ -55,7 +61,10 @@ const UserSearchPage_Individual = () => { {/*row 1*/} - + {/*row 2*/} @@ -65,6 +74,7 @@ const UserSearchPage_Individual = () => { > diff --git a/src/pages/User/SearchPage_Organization/UserSearchForm_Organization.js b/src/pages/User/SearchPage_Organization/UserSearchForm_Organization.js index 7bd4a3b..796bb0e 100644 --- a/src/pages/User/SearchPage_Organization/UserSearchForm_Organization.js +++ b/src/pages/User/SearchPage_Organization/UserSearchForm_Organization.js @@ -14,7 +14,7 @@ import {ThemeProvider} from "@emotion/react"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const UserSearchForm_Organization = ({applySearch}) => { +const UserSearchForm_Organization = ({applySearch, onGridReady}) => { const [type, setType] = useState([]); const [accountFilter, setAccountFilter] = useState("All"); @@ -190,7 +190,8 @@ const UserSearchForm_Organization = ({applySearch}) => { diff --git a/src/pages/User/SearchPage_Organization/UserTable_Organization.js b/src/pages/User/SearchPage_Organization/UserTable_Organization.js index c7ff0e6..270a42d 100644 --- a/src/pages/User/SearchPage_Organization/UserTable_Organization.js +++ b/src/pages/User/SearchPage_Organization/UserTable_Organization.js @@ -15,7 +15,7 @@ import { clickableLink} from 'utils/CommonFunction'; import * as React from 'react'; // ==============================|| EVENT TABLE ||============================== // -export default function UserTable_Organization({searchCriteria}) { +export default function UserTable_Organization({searchCriteria, applyGridOnReady}) { const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); const navigate = useNavigate() @@ -147,6 +147,7 @@ export default function UserTable_Organization({searchCriteria}) { columns={columns} customPageSize={10} onRowDoubleClick={handleRowDoubleClick} + applyGridOnReady={applyGridOnReady} // doLoad={{ // url: GET_ORG_USER_PATH, // params: _searchCriteria, diff --git a/src/pages/User/SearchPage_Organization/index.js b/src/pages/User/SearchPage_Organization/index.js index 456b3b1..381a97e 100644 --- a/src/pages/User/SearchPage_Organization/index.js +++ b/src/pages/User/SearchPage_Organization/index.js @@ -26,6 +26,7 @@ const UserSearchPage_Organization = () => { const [searchCriteria, setSearchCriteria] = useState({}); const [onReady, setOnReady] = useState(false); + const [onGridReady, setGridOnReady] = useState(false); useEffect(() => { @@ -33,9 +34,14 @@ const UserSearchPage_Organization = () => { }, [searchCriteria]); function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + return ( !onReady ? @@ -54,7 +60,10 @@ const UserSearchPage_Organization = () => { {/*row 1*/} - + {/*row 2*/} @@ -63,7 +72,8 @@ const UserSearchPage_Organization = () => { content={false} > diff --git a/src/pages/pnspsUserGroupSearchPage/UserGroupSearchForm.js b/src/pages/pnspsUserGroupSearchPage/UserGroupSearchForm.js index 3866d42..073e14f 100644 --- a/src/pages/pnspsUserGroupSearchPage/UserGroupSearchForm.js +++ b/src/pages/pnspsUserGroupSearchPage/UserGroupSearchForm.js @@ -14,7 +14,7 @@ import { ThemeProvider } from "@emotion/react"; import { isGrantedAny } from "auth/utils"; // ==============================|| DASHBOARD - DEFAULT ||============================== // -const UserGroupSearchForm = ({ applySearch }) => { +const UserGroupSearchForm = ({ applySearch, onGridReady }) => { const navigate = useNavigate(); const { reset, register, handleSubmit } = useForm() @@ -112,10 +112,11 @@ const UserGroupSearchForm = ({ applySearch }) => { diff --git a/src/pages/pnspsUserGroupSearchPage/UserGroupTable.js b/src/pages/pnspsUserGroupSearchPage/UserGroupTable.js index a3f322c..b8eb711 100644 --- a/src/pages/pnspsUserGroupSearchPage/UserGroupTable.js +++ b/src/pages/pnspsUserGroupSearchPage/UserGroupTable.js @@ -11,7 +11,7 @@ import { clickableLink} from 'utils/CommonFunction'; import * as React from 'react'; // ==============================|| EVENT TABLE ||============================== // -export default function UserGroupTable({searchCriteria}) { +export default function UserGroupTable({searchCriteria, applyGridOnReady}) { const [_searchCriteria, set_searchCriteria] = useState(searchCriteria); const navigate = useNavigate() @@ -70,6 +70,7 @@ export default function UserGroupTable({searchCriteria}) { customPageSize={10} pageSizeOptions={[10, 15, 20]} onRowDoubleClick={handleRowDoubleClick} + applyGridOnReady={applyGridOnReady} // doLoad={{ // url: GET_GROUP_LIST_PATH, // params: _searchCriteria, diff --git a/src/pages/pnspsUserGroupSearchPage/index.js b/src/pages/pnspsUserGroupSearchPage/index.js index 4aeba06..15588c8 100644 --- a/src/pages/pnspsUserGroupSearchPage/index.js +++ b/src/pages/pnspsUserGroupSearchPage/index.js @@ -34,15 +34,21 @@ const BackgroundHead = { const UserGroupSearchPanel = () => { const [searchCriteria, setSearchCriteria] = useState({}); const [onReady, setOnReady] = useState(false); + const [onGridReady, setGridOnReady] = useState(false); useEffect(() => { setOnReady(true); }, [searchCriteria]); function applySearch(input) { + setGridOnReady(true) setSearchCriteria(input); } + function applyGridOnReady(input) { + setGridOnReady(input); + } + return ( !onReady ? @@ -64,7 +70,10 @@ const UserGroupSearchPanel = () => { {/*row 1*/} - + {/*row 2*/} @@ -74,6 +83,7 @@ const UserGroupSearchPanel = () => { >