import { JSONPath as jsonpath } from "jsonpath-plus"; import useTranslation from "next-translate/useTranslation"; import Link from "next/link"; import { useRouter } from "next/router"; import { parseCookies } from "nookies"; import { connect } from "react-redux"; import { deleteAwaitingSubmissionsFromBlob, getAwaitingSubmissionFromBlobProxy, } from "../../actions"; import { getFormCollectionByID } from "../../components/utils"; import transLookup from "../../data/lookuptranslations.json"; import { setAwaitingSubmissionDetails, setAwaitingSubmissionFromBlob, } from "../../store/awaitingSubmission/action"; import { setCurrentReference, setCurrentView, } from "../../store/currentView/action"; const AwaitingSubmissionFromBlob = (props) => { let { t } = useTranslation(); const router = useRouter(); const { locale } = router; const { setCurrentView } = props; function sortByISODate(arr, dateKey) { return arr.sort((a, b) => new Date(b[dateKey]) - new Date(a[dateKey])); } function sortByField(arr, field, ascending = true) { return arr.sort((a, b) => { if (a[field] < b[field]) return ascending ? -1 : 1; if (a[field] > b[field]) return ascending ? 1 : -1; return 0; // Equal }); } function filterByExistingFieldValue(arr, filterArr, field) { const filterValues = filterArr.map((item) => item[field]); return arr.filter((item) => !filterValues.includes(item[field])); } let topthreeRowArr = []; let showTopThreeArr = props.awaitingSubmissionFromBlob.case; let showTopThreeArrDets = props.awaitingSubmissionFromBlob.value; showTopThreeArr = sortByField(showTopThreeArr, "ticketnumber"); showTopThreeArrDets = sortByField(showTopThreeArrDets, "pinswg_name"); let mergedArray = showTopThreeArr.map((item1) => { let item2 = showTopThreeArrDets.find( (item) => item.pinswg_name === item1.ticketnumber || item.appealComplete === item1.ticketnumber ); return { ...item1, ...item2 }; }); showTopThreeArr = mergedArray; showTopThreeArr = sortByISODate(showTopThreeArr, "createdon"); // showTopThreeArrDets = sortByISODate(showTopThreeArrDets, "createdon"); const raisedDate = (datePart) => { var dateObj = new Date(datePart); return dateObj.toLocaleString(); }; const deleteCaseItem = (containerID, caseID) => { let cookies = parseCookies(); console.log("sssss", containerID, caseID); deleteAwaitingSubmissionsFromBlob(containerID, caseID) .then((data) => { return data; }) .then(() => { getAwaitingSubmissionFromBlobProxy(containerID).then((data) => { props.setAwaitingSubmissionFromBlob(data); props.setAwaitingSubmissionDetails(data); }); }); }; let topThreeOnlyArr = showTopThreeArr.slice(0, 3); const TopThreeRow = () => { return (
{Object.keys(topThreeOnlyArr).map((key, index) => { let urlname = getFormCollectionByID( showTopThreeArr[key].pinswg_appealcasetype ).UrlName; return (
{t("myportal:temp-reference")}: {showTopThreeArr[key].hasOwnProperty( "appealComplete" ) ? ( { showTopThreeArr[index] .appealComplete } ) : ( { props.setCurrentReference({ "currentReference": showTopThreeArr[key] .ticketnumber, "currentType": "awaitingSubmission", "incidentid": showTopThreeArr[key] .incidentid, "appealType": showTopThreeArr[key] .pinswg_appealcasetype, }); }} > { showTopThreeArr[index] .ticketnumber } )} {!showTopThreeArr[key].hasOwnProperty( "appealComplete" ) && (
)}
{t("myportal:lpa-reference-label")}:{" "} { showTopThreeArr[key] .pinswg_lpaapplicationreference }
{t("myportal:appeal-type-label")}:{" "} {router.locale == "cy" ? jsonpath( '$..[?(@.value=="' + getFormCollectionByID( showTopThreeArr[key] .pinswg_appealcasetype ).value + '")].value_cy', transLookup ) : getFormCollectionByID( showTopThreeArr[key] .pinswg_appealcasetype ).value || ""}
{t("myportal:case-address")}:{" "} {_.isEmpty(showTopThreeArr) ? t("myportal:case-address-not-entered") : _.isEmpty(showTopThreeArr[index]) ? t("myportal:case-address-not-entered") : _.isEmpty(showTopThreeArr[index]) ? t("myportal:case-address-not-entered") : _.isEmpty( showTopThreeArr[index] .pinswg_siteaddressline1 ) ? t("myportal:case-address-not-entered") : showTopThreeArr[index] .pinswg_siteaddressline1 + (!_.isEmpty( showTopThreeArr[index] .pinswg_siteaddressline2 ) ? ", " + showTopThreeArr[index] .pinswg_siteaddressline2 : "") + (!_.isEmpty( showTopThreeArr[index] .pinswg_siteaddresstown ) ? ", " + showTopThreeArr[index] .pinswg_siteaddresstown : "")}
{showTopThreeArr[key].pinswg_appellantagent != null && (
{showTopThreeArr[key] .pinswg_appellantagent != 846040000 && ( {t("myportal:raised-by-label")}:{" "} )} {showTopThreeArr[key] .pinswg_appellantagent != 846040000 && (showTopThreeArr[key] .pinswg_agentcompanyname != null && showTopThreeArr[key] .pinswg_agentcompanyname + ", ") + showTopThreeArr[key] .pinswg_agentfirstname + " " + showTopThreeArr[key] .pinswg_agentlastname}
)} {showTopThreeArr[key].pinswg_appellantagent != 846040000 && (
{t("myportal:on-behalf-of-label")}:{" "} {showTopThreeArr[key] .pinswg_appellantfirstname + " " + showTopThreeArr[key] .pinswg_appellantlastname}
)}
{router.locale == "cy" ? "ACLl" : "LPA"} : {router.locale == "cy" ? jsonpath( '$..[?(@.value=="' + showTopThreeArr[key][ "pinswg_lpaname" ] + '")].value_cy', transLookup ) : showTopThreeArr[key][ "pinswg_lpaname" ] || ""}
{t("myportal:date-raised")}: {" "} {raisedDate(showTopThreeArr[key].createdon)}
{" "} {showTopThreeArr[key].hasOwnProperty( "appealComplete" ) && (
{" "} {t( "myportal:submission-processing-label" )} .....
)}
); })}
); }; return (

{t("myportal:awatitingsubmission-card-title")}

{props.awaitingSubmissionFromBlob["@odata.count"] > 1 && (
{ setCurrentView({ "viewName": "Awaiting Submission", "viewKey": "awaitingSubmissionDetails", }); }} > {t("myportal:viewall-link")}
)}
); }; const mapDispatchToProps = (dispatch) => { return { setCurrentView: (currentView) => { dispatch(setCurrentView(currentView)); }, setCurrentReference: (currentReference) => { dispatch(setCurrentReference(currentReference)); }, setAwaitingSubmissionFromBlob: (awaitingSubmission) => { dispatch(setAwaitingSubmissionFromBlob(awaitingSubmission)); }, setAwaitingSubmissionDetails: (awaitingSubmissionDetails) => { dispatch(setAwaitingSubmissionDetails(awaitingSubmissionDetails)); }, }; }; export default connect(null, mapDispatchToProps)(AwaitingSubmissionFromBlob);