Browse Source

Update Search Result, when there is filter result, reset the table page to 0

tags/Baseline_30082024_FRONTEND_UAT
MSI\2Fi 1 year ago
parent
commit
9ce3e2d551
3 changed files with 32 additions and 12 deletions
  1. +11
    -8
      src/components/CompanyHoliday/CompanyHoliday.tsx
  2. +16
    -3
      src/components/InvoiceSearch/InvoiceSearch.tsx
  3. +5
    -1
      src/components/SearchResults/SearchResults.tsx

+ 11
- 8
src/components/CompanyHoliday/CompanyHoliday.tsx View File

@@ -79,7 +79,6 @@ const CompanyHoliday: React.FC<Props> = ({ holidays, abilities }) => {
const onSubmit = useCallback<SubmitHandler<any>>( const onSubmit = useCallback<SubmitHandler<any>>(
async (data) => { async (data) => {
try { try {
// console.log(data);
setServerError(""); setServerError("");
submitDialog(async () => { submitDialog(async () => {
await saveCompanyHoliday(data); await saveCompanyHoliday(data);
@@ -121,8 +120,17 @@ const CompanyHoliday: React.FC<Props> = ({ holidays, abilities }) => {
}, },
}); });


function getHolidayButtonText(isEditable: boolean, isEdit: boolean) {
if (!isEditable) {
return "Bank Holiday";
} else if (isEdit) {
return "Edit Holiday";
} else {
return "Create Holiday";
}
}

return ( return (
<>
<FormProvider {...formProps}> <FormProvider {...formProps}>
<FullCalendar <FullCalendar
plugins={[dayGridPlugin, interactionPlugin, listPlugin]} plugins={[dayGridPlugin, interactionPlugin, listPlugin]}
@@ -146,11 +154,7 @@ const CompanyHoliday: React.FC<Props> = ({ holidays, abilities }) => {
open={maintainHoliday && open} open={maintainHoliday && open}
onClose={handleClose} onClose={handleClose}
title={ title={
!editable
? "Bank Holiday"
: isEdit
? "Edit Holiday"
: "Create Holiday"
getHolidayButtonText(editable, isEdit)
} }
content={dateContent} content={dateContent}
actions={ actions={
@@ -175,7 +179,6 @@ const CompanyHoliday: React.FC<Props> = ({ holidays, abilities }) => {
editable={editable} editable={editable}
/> />
</FormProvider> </FormProvider>
</>
); );
}; };




+ 16
- 3
src/components/InvoiceSearch/InvoiceSearch.tsx View File

@@ -6,7 +6,7 @@ import { useTranslation } from "react-i18next";
import SearchResults, { Column } from "../SearchResults"; import SearchResults, { Column } from "../SearchResults";
import EditNote from "@mui/icons-material/EditNote"; import EditNote from "@mui/icons-material/EditNote";
import { convertLocaleStringToNumber } from "@/app/utils/formatUtil" import { convertLocaleStringToNumber } from "@/app/utils/formatUtil"
import { Button, ButtonGroup, Stack, Tab, Tabs, TabsProps, Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions } from "@mui/material";
import { Button, ButtonGroup, Stack, Tab, Tabs, TabsProps, Dialog, DialogTitle, DialogContent, DialogContentText, DialogActions, TextField } from "@mui/material";
import FileUploadIcon from '@mui/icons-material/FileUpload'; import FileUploadIcon from '@mui/icons-material/FileUpload';
import { dateInRange, downloadFile } from "@/app/utils/commonUtil"; import { dateInRange, downloadFile } from "@/app/utils/commonUtil";
import { importInvoices, importIssuedInovice, importReceivedInovice, updateInvoice } from "@/app/api/invoices/actions"; import { importInvoices, importIssuedInovice, importReceivedInovice, updateInvoice } from "@/app/api/invoices/actions";
@@ -17,6 +17,9 @@ import { GridCellEditStartReasons, GridCellParams, GridColDef, GridEventListener
import { useGridApiRef } from "@mui/x-data-grid"; import { useGridApiRef } from "@mui/x-data-grid";
import StyledDataGrid from "../StyledDataGrid"; import StyledDataGrid from "../StyledDataGrid";
import { QrCodeScannerOutlined } from "@mui/icons-material"; import { QrCodeScannerOutlined } from "@mui/icons-material";
import { DatePicker, LocalizationProvider } from "@mui/x-date-pickers";
import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs";
import dayjs from "dayjs";


interface Props { interface Props {
issuedInvoice: issuedInvoiceList[]; issuedInvoice: issuedInvoiceList[];
@@ -263,10 +266,10 @@ const InvoiceSearch: React.FC<Props> = ({ issuedInvoice, receivedInvoice, invoic


const handleSaveDialog = async () => { const handleSaveDialog = async () => {
// setDialogOpen(false); // setDialogOpen(false);
const response = await updateInvoice(selectedRow[0])
await updateInvoice(selectedRow[0])
setDialogOpen(false); setDialogOpen(false);
successDialog(t("Update Success"), t).then(() => { successDialog(t("Update Success"), t).then(() => {
// window.location.reload()
window.location.reload()
}) })


// console.log(selectedRow[0]) // console.log(selectedRow[0])
@@ -322,6 +325,16 @@ const InvoiceSearch: React.FC<Props> = ({ issuedInvoice, receivedInvoice, invoic
headerName: t("Settle Date"), headerName: t("Settle Date"),
editable: true, editable: true,
flex: 0.4, flex: 0.4,
// renderCell: (params) => {
// console.log(params)
// return (
// <LocalizationProvider dateAdapter={AdapterDayjs}>
// <DatePicker
// value={dayjs(params.value)}
// />
// </LocalizationProvider>
// );
// }
}, },
{ field: "receivedAmount", { field: "receivedAmount",
headerName: t("Actual Received Amount (HKD)"), headerName: t("Actual Received Amount (HKD)"),


+ 5
- 1
src/components/SearchResults/SearchResults.tsx View File

@@ -1,6 +1,6 @@
"use client"; "use client";


import React from "react";
import React, { useEffect } from "react";
import Paper from "@mui/material/Paper"; import Paper from "@mui/material/Paper";
import Table from "@mui/material/Table"; import Table from "@mui/material/Table";
import TableBody from "@mui/material/TableBody"; import TableBody from "@mui/material/TableBody";
@@ -60,6 +60,10 @@ function SearchResults<T extends ResultWithId>({
const [rowsPerPage, setRowsPerPage] = React.useState(10); const [rowsPerPage, setRowsPerPage] = React.useState(10);
const { t } = useTranslation() const { t } = useTranslation()


useEffect(() => {
setPage(0);
}, [items]);

const handleChangePage: TablePaginationProps["onPageChange"] = ( const handleChangePage: TablePaginationProps["onPageChange"] = (
_event, _event,
newPage, newPage,


Loading…
Cancel
Save