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 { deleteAwaitingSubmissions, deleteWatchedCases, getAwaitingSubmissionProxy, getPortalModuleDetailsProxy, getWatchedCasesProxy, } from "../../actions"; import { setAwaitingSubmission, setAwaitingSubmissionDetails, } from "../../store/awaitingSubmission/action"; import { setCurrentReference } from "../../store/currentView/action"; import { setWatchedCases, setWatchedCasesDetails, } from "../../store/watchedCases/action"; import { getFormCollectionByID } from "../utils"; const TopThree = (props) => { let { t } = useTranslation(); const { showTopThree, showDetails, setCurrentReference, topThreeType, setWatchedCases, setWatchedCasesDetails, setAwaitingSubmission, setAwaitingSubmissionDetails, } = props; const router = useRouter(); const { locale } = router; let topthreeRow = []; let showTopThreeArr = showTopThree.value; Object.keys(showTopThreeArr).map((key, index) => { let createdDate = parseInt( showTopThreeArr[key].repfile_name.split("-")[3] ); showTopThreeArr[key].createdDate = createdDate; }); showTopThreeArr.sort(function compare(a, b) { console.log(a.createdDate, b.createdDate); var dateA = new Date(a.createdDate); var dateB = new Date(b.createdDate); return dateB - dateA; }); const deleteItem = (caseID, topThreeType) => { let cookies = parseCookies(); //console.log("sssss", caseID, topThreeType); topThreeType == "watchedCases" && deleteWatchedCases(caseID) .then((data) => data) .then(() => { getWatchedCasesProxy(cookies.pinsUser).then((data) => { setWatchedCases(data), getDetails(data, "myWatchedCases").then((data) => { setWatchedCasesDetails(data); }); }); }); topThreeType == "awaitingSubmission" && deleteAwaitingSubmissions(caseID) .then((data) => { return data; }) .then(() => { getAwaitingSubmissionProxy(cookies.pinsUser).then( (data) => { setAwaitingSubmission(data), getDetails(data, "awaitingSubmission").then( (data) => { // console.log( // "submission get details:", // data // ); setAwaitingSubmissionDetails(data); } ); } ); }); }; const getDetails = (resultsObj, detailsType) => { //console.log(resultsObj); let detailsArr = []; resultsObj = resultsObj.value; const detailsObj = resultsObj.map((searchDetail, index) => { if (searchDetail.pinswg_appealcasetype == null) { console.log( detailsType != "myWatchedCases" ? searchDetail.ticketnumber : searchDetail[ "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue" ] ); } else { detailsArr.push( getPortalModuleDetailsProxy( getFormCollectionByID( searchDetail.pinswg_appealcasetype ).LogicalCollectionName, detailsType != "myWatchedCases" ? searchDetail.ticketnumber : searchDetail[ "_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue" ] ) ); } }); //console.log(detailsArr); return Promise.all(detailsArr); }; const getIncidentId = (topThreeType, objArr) => { switch (topThreeType) { case "myCases": return objArr.incidentid; break; case "watchedCases": return objArr._pinswg_watchedcase_value; break; case "myRepresentations": return objArr.casereference; break; case "awaitingSubmission": return objArr.ticketnumber; break; default: // code block } }; const repRaisedDate = (datePart) => { var dateObj = new Date(parseInt(datePart.split("-")[3])); return dateObj.toLocaleString(); }; let topThreeOnlyArr = showTopThreeArr.slice(0, 3); Object.keys(topThreeOnlyArr).map((key, index) => { topthreeRow.push(