diff --git a/src/pages/GFMIS/DataGrid.js b/src/pages/GFMIS/DataGrid.js index 40a0b24..635b98a 100644 --- a/src/pages/GFMIS/DataGrid.js +++ b/src/pages/GFMIS/DataGrid.js @@ -6,8 +6,8 @@ import { useNavigate } from "react-router-dom"; import { FiDataGrid } from "components/FiDataGrid"; // ==============================|| EVENT TABLE ||============================== // -export default function SearchTable({ searchCriteria, applyGridOnReady }) { - const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria); +export default function SearchTable({ previewSearchCriteria, onPreviewGridOnReady,selectedIds = []}) { + const [_searchCriteria, set_searchCriteria] = React.useState(previewSearchCriteria); const navigate = useNavigate() // const [rows, setRows] = React.useState([]); @@ -28,8 +28,8 @@ export default function SearchTable({ searchCriteria, applyGridOnReady }) { } React.useEffect(() => { - set_searchCriteria(searchCriteria); - }, [searchCriteria]); + set_searchCriteria(previewSearchCriteria); + }, [previewSearchCriteria]); const handleEditClick = (params) => () => { navigate('/paymentPage/details/' + params.row.id); @@ -67,14 +67,12 @@ export default function SearchTable({ searchCriteria, applyGridOnReady }) { columns={columns} customPageSize={10} onRowDoubleClick={handleEditClick} - applyGridOnReady={applyGridOnReady} + applyGridOnReady={onPreviewGridOnReady} doLoad={React.useMemo(() => ({ url: GFIMIS_LIST, - params: _searchCriteria, - callback: function () { - // setRows(responseData?.records); - } + params: { ..._searchCriteria, paymentId: selectedIds.join(',') } }), [_searchCriteria])} + /> ); diff --git a/src/pages/GFMIS/SearchForm.js b/src/pages/GFMIS/SearchForm.js index ebd9401..f8bb6d7 100644 --- a/src/pages/GFMIS/SearchForm.js +++ b/src/pages/GFMIS/SearchForm.js @@ -203,7 +203,7 @@ const SearchPublicNoticeForm = ({ applySearch, generateXML, searchCriteria, onGr type="submit" disabled={onGridReady} > - Preview + Search diff --git a/src/pages/GFMIS/index.js b/src/pages/GFMIS/index.js index 8d97f08..f45b4d8 100644 --- a/src/pages/GFMIS/index.js +++ b/src/pages/GFMIS/index.js @@ -43,8 +43,14 @@ const Index = () => { dateTo: DateUtils.dateValue(new Date()), dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), }); + const [previewSearchCriteria, setPreviewSearchCriteria] = React.useState({ + dateTo: DateUtils.dateValue(new Date()), + dateFrom: DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)), + }); const [onReady, setOnReady] = React.useState(false); const [onGridReady, setGridOnReady] = React.useState(false); + const [isPreviewLoading, setIsPreviewLoading] = React.useState(false); + const [isPopUp, setIsPopUp] = React.useState(false); const [downloadInput, setDownloadInput] = React.useState(); const [selectedIds, setSelectedIds] = React.useState([]); @@ -130,6 +136,20 @@ const Index = () => { setInputDate(input.dateFrom) } + function previewSearch() { + // trigger reload even if criteria object is identical + const withToken = { ...searchCriteria, __ts: Date.now() }; + setIsPopUp(false); + setIsPreviewLoading(true); + setPreviewSearchCriteria(withToken); + } + + function onPreviewGridOnReady(isLoading) { + // FiDataGrid calls this with true/false + setIsPreviewLoading(isLoading); + } + + function applyGridOnReady(input) { setGridOnReady(input); } @@ -162,6 +182,7 @@ const Index = () => { onGridReady={onGridReady} selectedIds={selectedIds} /> + {/*row 2*/} @@ -179,6 +200,16 @@ const Index = () => { /> + + + + { sx={{width: "-webkit-fill-available"}} > +