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"}}
>
+