import Link from "next/link"; import { useRouter } from "next/router"; import useTranslation from "next-translate/useTranslation"; import { setCurrentReference } from "../../store/currentView/action"; import { connect } from "react-redux"; import jsonpath from "jsonpath"; import _ from "lodash"; import transLookup from "../../data/lookuptranslations.json"; const DNSSearchResults = (props) => { const { searchString, searchResultsObj, searchDetailsObj, setCurrentReference, } = props; let { t } = useTranslation(); const router = useRouter(); const { locale } = router; var resultsArr = searchResultsObj.value || []; const ResultsView = (resultsArr) => { return (
{t("search:searchresults-case-reference-label")}
{t("search:searchresults-site-address-label")}
{t("search:searchresults-applicant-label")}
{t("search:searchresults-authority-label")}
{t("search:searchresults-status-label")}
{resultsArr.map((item, key) => { let detailsObj = jsonpath.query( searchDetailsObj, "$..value[?(@.pinswg_name=='" + item.title + "')]" ); detailsObj = detailsObj[0]; return (
{ setCurrentReference({ "currentReference": item.title, "currentType": "searchResultsObj", }); }} > {t( "search:searchresults-case-reference-label" )} : {item.title}
{t( "search:searchresults-site-address-label" )} : {_.has( detailsObj, "pinswg_siteaddressline1" ) ? detailsObj.pinswg_siteaddressline1 : ""}
{_.has( detailsObj, "pinswg_siteaddressline1" ) ? detailsObj.pinswg_siteaddressline2 : ""}
{_.has( detailsObj, "pinswg_siteaddressline1" ) ? detailsObj.pinswg_siteaddresstown : ""}
{_.has( detailsObj, "pinswg_siteaddressline1" ) ? detailsObj.pinswg_siteaddresscounty : ""}
{_.has( detailsObj, "pinswg_siteaddressline1" ) ? detailsObj.pinswg_siteaddresspostcode : ""}
{t( "search:searchresults-applicant-label" )} : {_.has(detailsObj, [ "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue", ]) ? detailsObj[ "_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue" ] : ""}
{t( "search:searchresults-authority-label" )} : {_.has(detailsObj, [ "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue", ]) ? router.locale == "cy" ? jsonpath.query( transLookup, '$..[?(@.value=="' + detailsObj[ "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" ] + '")].value_cy' ) : detailsObj[ "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue" ] || "N/A" : ""}
{t( "search:searchresults-status-label" )} : {router.locale == "cy" ? jsonpath.query( transLookup, '$..[?(@.value=="' + item[ "statuscode@OData.Community.Display.V1.FormattedValue" ] + '")].value_cy' ) : item[ "statuscode@OData.Community.Display.V1.FormattedValue" ] || "N/A"}
); })}
); }; return ( <>

{t("dnsCommon:service-name")}{" "} {t("dnsApplications:page-title")}

{t("dnsApplications:page-intro-paragraph-1")}

{resultsArr.length > 0 ? ( ResultsView(resultsArr) ) : (

There are no records

)} ); }; const mapDispatchToProps = (dispatch) => { return { setCurrentReference: (currentReference) => { dispatch(setCurrentReference(currentReference)); }, }; }; export default connect(null, mapDispatchToProps)(DNSSearchResults);