import Link from "next/link"; import { useRouter } from "next/router"; import { useState, useEffect, useRef } from "react"; import { useDispatch, useSelector, shallowEqual, connect } from "react-redux"; import useTranslation from "next-translate/useTranslation"; import jsonpath from "jsonpath"; import _ from "lodash"; import transLookup from "../../data/lookuptranslations.json"; import LoadingOverlay from "react-loading-overlay"; import { getLinkedCases } from "../../actions"; import { setCurrentLinkedCases, setCurrentReference, } from "../../store/currentView/action"; import { getFormCollectionByID } from "../utils"; import Pinswg_advertsid from "./summaryTypes/pinswg_advertsid"; import Pinswg_callinss77id from "./summaryTypes/pinswg_callinss77id"; import Pinswg_commonlandid from "./summaryTypes/pinswg_commonlandid"; import Pinswg_communityinfrastructurelevyid from "./summaryTypes/pinswg_communityinfrastructurelevyid"; import Pinswg_compulsorypurchaseordersid from "./summaryTypes/pinswg_compulsorypurchaseordersid"; import Pinswg_dnsid from "./summaryTypes/pinswg_dnsid"; import Pinswg_electricityactid from "./summaryTypes/pinswg_electricityactid"; import Pinswg_enforcementlistedbuildingconseid from "./summaryTypes/pinswg_enforcementlistedbuildingconseid"; import Pinswg_enforcementnoticeappeals174id from "./summaryTypes/pinswg_enforcementnoticeappeals174id"; import Pinswg_environmentalpermittingid from "./summaryTypes/pinswg_environmentalpermittingid"; import Pinswg_harbourrevisionorderid from "./summaryTypes/pinswg_harbourrevisionorderid"; import Pinswg_hedgeshedgerowstreepreservatioid from "./summaryTypes/pinswg_hedgeshedgerowstreepreservatioid"; import Pinswg_householderappealhasid from "./summaryTypes/pinswg_householderappealhasid"; import Pinswg_lawfuldevelopmentcertificatappid from "./summaryTypes/pinswg_lawfuldevelopmentcertificatappid"; import Pinswg_ldpid from "./summaryTypes/pinswg_ldpid"; import Pinswg_listedbuildingandconservationrid from "./summaryTypes/pinswg_listedbuildingandconservationrid"; import Pinswg_maintenanceoflands217id from "./summaryTypes/pinswg_maintenanceoflands217id"; import Pinswg_miscellaneouscasewordid from "./summaryTypes/pinswg_miscellaneouscasewordid"; import Pinswg_nonvalidationid from "./summaryTypes/pinswg_nonvalidationid"; import Pinswg_planningappeals78id from "./summaryTypes/pinswg_planningappeals78id"; import Pinswg_planningconditionss73s79id from "./summaryTypes/pinswg_planningconditionss73s79id"; import Pinswg_planningobligationappeals106id from "./summaryTypes/pinswg_planningobligationappeals106id"; import Pinswg_rowid from "./summaryTypes/pinswg_rowid"; import Pinswg_transportandworkactid from "./summaryTypes/pinswg_transportandworkactid"; import Pinswg_wayleaveid from "./summaryTypes/pinswg_wayleaveid"; const CaseSummary = (props) => { let { t } = useTranslation(); const router = useRouter(); const { locale } = router; const { appealTypeID, incidentid, caseReference, myCases, myRepresentations, watchedCases, awaitingSubmission, searchResultsObj, searchDetailsObj, currentType, setCurrentLinkedCases, linkedCasesReference, setCurrentReference, } = props; const noRepresentationLink = ["/case", "/dnsdetails"]; let setCaseQueryObj = props[currentType]; let setCaseDetailsObj = props[currentType + "Details"]; var casesObj = {}; currentType == "searchResultsObj" ? (casesObj = jsonpath.query( searchResultsObj, '$..[?(@.title=="' + caseReference + '")]' )) : (casesObj = jsonpath.query( setCaseQueryObj, '$..[?(@.reference=="' + caseReference + '")]' )); casesObj = Object.assign({}, ...casesObj); var detailsObj = {}; currentType == "searchResultsObj" ? (detailsObj = jsonpath.query( searchDetailsObj, '$..[?(@.pinswg_name=="' + caseReference + '")]' )) : (detailsObj = jsonpath.query( setCaseDetailsObj, '$..[?(@.pinswg_name=="' + caseReference + '")]' )); detailsObj = detailsObj[0]; let showDetails = typeof detailsObj != "undefined" ? true : false; let showDetailsBlock = showDetails == true ? (

{t("case:summary-reference-label")}:{" "} {currentType == "searchResultsObj" ? detailsObj.pinswg_name : casesObj.reference}

{t("case:summary-applicant-label")}
{detailsObj[ "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" ] || "not entered"}
{_.has(detailsObj, "pinswg_agentcontactname") ? (
{t("case:summary-agent-label")}
{_.has( detailsObj, "pinswg_agentcontactname" ) ? detailsObj.pinswg_agentcontactname : ""}
) : ( "" )}
{t("case:summary-site-address-label")}
{_.has( detailsObj, "pinswg_siteaddressline1" ) ? detailsObj.pinswg_siteaddressline1 : ""} {_.has( detailsObj, "pinswg_siteaddressline1" ) && detailsObj.pinswg_siteaddressline1 != null &&
} {_.has( detailsObj, "pinswg_siteaddressline2" ) ? detailsObj.pinswg_siteaddressline2 : ""} {_.has( detailsObj, "pinswg_siteaddressline2" ) && detailsObj.pinswg_siteaddressline2 != null &&
} {_.has(detailsObj, "pinswg_siteaddresstown") ? detailsObj.pinswg_siteaddresstown : ""} {_.has( detailsObj, "pinswg_siteaddresstown" ) && detailsObj.pinswg_siteaddresstown != null &&
} {_.has( detailsObj, "pinswg_siteaddresscounty" ) ? detailsObj.pinswg_siteaddresscounty : ""} {_.has( detailsObj, "pinswg_siteaddresscounty" ) && detailsObj.pinswg_siteaddresscounty != null &&
} {_.has( detailsObj, "pinswg_siteaddresspostcode" ) ? detailsObj.pinswg_siteaddresspostcode : ""}
{noRepresentationLink.includes(router.pathname) == true ? ( "" ) : ( {t( "case:summary-make-representation-label" )} )} {/* { //spinnerState(); router.back(); }} className="govuk-button govuk-button--secondary" > {t("case:summary-back-button-label")} */}
{showSummary(casesObj, detailsObj)}
) : ( <>

Not details currently held

{noRepresentationLink.includes(router.pathname) == true ? ( "" ) : ( {t( "case:summary-make-representation-label" )} )} { // spinnerState(); router.back(); }} className="govuk-button govuk-button--secondary" > {t("case:summary-back-button-label")}
); function showSummary(casesObj, detailsObj) { let appealIDObj = getFormCollectionByID(appealTypeID).PrimaryIdAttribute; switch (appealIDObj) { case "pinswg_advertsid": return ( ); break; case "pinswg_callinss77id": return ( ); break; case "pinswg_commonlandid": return ( ); break; case "pinswg_communityinfrastructurelevyid": return ( ); break; case "pinswg_compulsorypurchaseordersid": return ( ); break; case "pinswg_dnsid": return ( ); break; case "pinswg_electricityactid": return ( ); break; case "pinswg_enforcementlistedbuildingconseid": return ( ); break; case "pinswg_enforcementnoticeappeals174id": return ( ); break; case "pinswg_environmentalpermittingid": return ( ); break; case "pinswg_harbourrevisionorderid": return ( ); break; case "pinswg_hedgeshedgerowstreepreservatioid": return ( ); break; case "pinswg_householderappealhasid": return ( ); break; case "pinswg_lawfuldevelopmentcertificatappid": return ( ); break; case "pinswg_ldpid": return ( ); break; case "pinswg_listedbuildingandconservationrid": return ( ); break; case "pinswg_maintenanceoflands217id": return ( ); break; case "pinswg_miscellaneouscasewordid": return ( ); break; case "pinswg_nonvalidationid": return ( ); break; case "pinswg_planningappeals78id": return ( ); break; case "pinswg_planningconditionss73s79id": return ( ); break; case "pinswg_planningobligationappeals106id": return ( ); break; case "pinswg_rowid": return ( ); break; case "pinswg_transportandworkactid": return ( ); break; case "pinswg_wayleaveid": return ( ); break; } } useEffect(() => { const linkCaseObj = async () => { let docObj = await getLinkedCases(incidentid).then((data) => { //console.log(data); setCurrentLinkedCases(data); return data; }); return linkCaseObj; }; const linkedCases = linkCaseObj(); }, [incidentid, setCurrentLinkedCases]); // const [showSpinnerState, setShowSpinnerState] = useState(false); // let spinnerState = () => { // showSpinnerState == true // ? setShowSpinnerState(false) // : setShowSpinnerState(true); // }; function formatDates(dateObj) { var dateObj = new Date(dateObj); var dd = String(dateObj.getDate()).padStart(2, "0"); var mm = String(dateObj.getMonth() + 1).padStart(2, "0"); //January is 0! var yyyy = dateObj.getFullYear(); return dd + "/" + mm + "/" + yyyy; } function linkedCasesList(linkedCasesReference) { //console.log(linkedCasesReference); linkedCasesReference = linkedCasesReference.value || []; return ( <> ); } return ( <> {showDetailsBlock} {/* */} ); }; const mapStateToProps = (state) => { return { ...state, }; }; const mapDispatchToProps = (dispatch) => { return { setCurrentLinkedCases: (parentIncidentid) => { dispatch(setCurrentLinkedCases(parentIncidentid)); }, setCurrentReference: (currentReference) => { dispatch(setCurrentReference(currentReference)); }, }; }; export default connect(mapStateToProps, mapDispatchToProps)(CaseSummary);