// material-ui import { FormControl, Button, Grid, Typography, FormLabel, OutlinedInput, Stack, Dialog, DialogTitle, DialogContent, DialogActions, } from '@mui/material'; const MainCard = Loadable(lazy(() => import('components/MainCard'))); import { useForm } from "react-hook-form"; import { useEffect, useState } from "react"; import Loadable from 'components/Loadable'; import { lazy } from 'react'; const LoadingComponent = Loadable(lazy(() => import('../../extra-pages/LoadingComponent'))); import * as HttpUtils from "utils/HttpUtils" import * as StatusUtils from "utils/statusUtils/PublicNoteStatusUtils"; import DoneIcon from '@mui/icons-material/Done'; import CloseIcon from '@mui/icons-material/Close'; import EditNoteIcon from '@mui/icons-material/EditNote'; import DownloadIcon from '@mui/icons-material/Download'; import ReplayIcon from '@mui/icons-material/Replay'; import { notifyDownloadSuccess } from 'utils/CommonFunction'; // ==============================|| DASHBOARD - DEFAULT ||============================== // const ApplicationDetailCard = ( { applicationDetailData, setStatus, setUploadStatus } ) => { const [currentApplicationDetailData, setCurrentApplicationDetailData] = useState({}); const [companyName, setCompanyName] = useState({}); const [verified, setVerified] = useState(null); const [fileDetail, setfileDetail] = useState({}); const [onReady, setOnReady] = useState(false); const { register } = useForm() const [isWarningPopUp, setIsWarningPopUp] = useState(false); const [warningText, setWarningText] = useState(""); useEffect(() => { //if user data from parent are not null // console.log(applicationDetailData) if (Object.keys(applicationDetailData).length > 0) { loadApplicationDetail() } }, [applicationDetailData]); useEffect(() => { //if state data are ready and assign to different field // console.log(currentApplicationDetailData) if (Object.keys(currentApplicationDetailData).length > 0) { setOnReady(true); } }, [currentApplicationDetailData]); const loadApplicationDetail = () => { setCurrentApplicationDetailData(applicationDetailData.data); setCompanyName(applicationDetailData.companyName); setVerified(applicationDetailData.userData.verifiedBy ? true : false) setfileDetail(applicationDetailData.fileDetail); // setReload(false) } const onDownloadClick = () => () => { HttpUtils.fileDownload({ fileId: fileDetail.id, skey: fileDetail.skey, filename: fileDetail.filename, }); notifyDownloadSuccess() setUploadStatus(true) }; const reSubmitClick = () => () => { setStatus("resubmit") }; const notAcceptedClick = () => () => { setStatus("notAccepted") }; const complatedClick = () => () => { setStatus("complete") }; const withdrawnClick = () => () => { setStatus("withdraw") }; const onProofClick = () => { if (applicationDetailData.data.groupNo) { window.open("/proof/create/" + currentApplicationDetailData.id, "_blank", "noreferrer"); window.addEventListener("focus", onFocus) }else{ setWarningText("Please generate Gazette Code before Create Proof."); setIsWarningPopUp(true); } } const onFocus = () => { location.reload(); window.removeEventListener("focus", onFocus) } return ( !onReady ? : {verified && currentApplicationDetailData.status != "notAccepted" ? {currentApplicationDetailData.status == "reviewed" ? : null } {currentApplicationDetailData.status == "submitted" || currentApplicationDetailData.status == "reviewed" ? <> : currentApplicationDetailData.status == "paid" ? <> : null } : null } Application Details
Application No: Status: {StatusUtils.getStatusByTextEng(currentApplicationDetailData.status)} Applicant: {currentApplicationDetailData.orgId === null ? : } Contact Phone: Contect Person: Contact Fax: Manuscript File: {fileDetail.filename}
setIsWarningPopUp(false)} > Warning {warningText}
); }; export default ApplicationDetailCard;