// material-uisubDivision import { Button, // FormControlLabel, Grid, TextField, Typography } from '@mui/material'; import MainCard from "components/MainCard"; import { useForm } from "react-hook-form"; import { // useEffect, // useState } from "react"; import * as React from "react"; // import { useNavigate } from "react-router"; import {PNSPS_BUTTON_THEME} from "themes/buttonConst"; import {ThemeProvider} from "@emotion/react"; import * as DateUtils from "utils/DateUtils"; import * as UrlUtils from "utils/ApiPathConst"; import * as HttpUtils from "utils/HttpUtils"; import Loadable from 'components/Loadable'; const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); import {DatePicker} from "@mui/x-date-pickers/DatePicker"; import dayjs from "dayjs"; 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"; import { isGranted } from "auth/utils"; // ==============================|| DASHBOARD - DEFAULT ||============================== // const AuditLogSearchForm = ({ applySearch, searchCriteria, onGridReady}) => { // const navigate = useNavigate(); const [minDate, setMinDate] = React.useState(searchCriteria.modifiedFrom); const [maxDate, setMaxDate] = React.useState(searchCriteria.modifiedTo); const [fromDateValue, setFromDateValue] = React.useState("dd / mm / yyyy"); const [toDateValue, setToDateValue] = React.useState("dd / mm / yyyy"); const [onDownload, setOnDownload] = React.useState(false); const marginBottom = 2.5; const { reset, register, handleSubmit } = useForm() React.useEffect(() => { setFromDateValue(minDate); }, [minDate]); React.useEffect(() => { setToDateValue(maxDate); }, [maxDate]); const onSubmit = (data) => { let sentDateFrom = ""; let sentDateTo = ""; if (fromDateValue != "dd / mm / yyyy" && toDateValue != "dd / mm / yyyy") { sentDateFrom = DateUtils.dateValue(fromDateValue) sentDateTo = DateUtils.dateValue(toDateValue) } const temp = { username: data.userName, modifiedTo: sentDateTo, modifiedFrom: sentDateFrom, }; applySearch(temp); }; function resetForm() { reset(); } function exportExcel() { setOnDownload(true) HttpUtils.fileDownload({ url: UrlUtils.AUDIT_LOG_EXPORT, onResponse:()=>{ setOnDownload(false) }, onError:()=>{ setOnDownload(false) } }); } return (
{/*row 1*/} Search {/*row 2*/} setReceiptFromError(newError)} slotProps={{ field: { readOnly: true, }, // textField: { // helperText: receiptFromErrorMessage, // }, }} format="DD/MM/YYYY" label="Modified From" value={minDate === null ? null : dayjs(minDate)} maxDate={maxDate === null ? null : dayjs(maxDate)} onChange={(newValue) => { // console.log(newValue) if(newValue!=null){ setMinDate(newValue); } }} /> To setReceiptFromError(newError)} slotProps={{ field: { readOnly: true, }, // textField: { // helperText: receiptFromErrorMessage, // }, }} format="DD/MM/YYYY" label="Modified To" value={maxDate === null ? null : dayjs(maxDate)} minDate={minDate === null ? null : dayjs(minDate)} onChange={(newValue) => { // console.log(newValue) if(newValue!=null){ setMaxDate(newValue); } }} /> {/*last row*/} {isGranted("MAINTAIN_SETTING") ? {onDownload? : } : null }
); }; export default AuditLogSearchForm;