Merged PR 454: DNS specific results and details
Related work items: #6212
This commit is contained in:
@@ -130,6 +130,19 @@ export const getBasicSearch = (searchString) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getBasicDNSSearch = (searchString) => {
|
||||||
|
return axios
|
||||||
|
.get(
|
||||||
|
WEBAPI_URL +
|
||||||
|
"incidents?$select=_accountid_value,_customerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype eq 846040011&$count=true",
|
||||||
|
azureHeaders
|
||||||
|
)
|
||||||
|
.then((res) => res.data)
|
||||||
|
.catch((error) => {
|
||||||
|
console.log("thiserror", error);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export const getBasicSearchDetails = (appealType, caseReference) => {
|
export const getBasicSearchDetails = (appealType, caseReference) => {
|
||||||
return axios
|
return axios
|
||||||
.get(
|
.get(
|
||||||
@@ -146,6 +159,21 @@ export const getBasicSearchDetails = (appealType, caseReference) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getBasicDNSSearchDetails = (appealType, caseReference) => {
|
||||||
|
return axios
|
||||||
|
.get(
|
||||||
|
WEBAPI_URL +
|
||||||
|
"pinswg_dnses?$filter=pinswg_name eq '" +
|
||||||
|
caseReference +
|
||||||
|
"'&$count=true",
|
||||||
|
azureHeaders
|
||||||
|
)
|
||||||
|
.then((res) => res.data)
|
||||||
|
.catch((error) => {
|
||||||
|
console.log("thiserror", error);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export const getFormData = (whichForm) => {
|
export const getFormData = (whichForm) => {
|
||||||
//console.log("got to axios", whichForm);
|
//console.log("got to axios", whichForm);
|
||||||
//console.log("api_root: ", BASE_URL);
|
//console.log("api_root: ", BASE_URL);
|
||||||
|
|||||||
@@ -54,11 +54,11 @@ const Breadcrumbs = (props) => {
|
|||||||
<li className="govuk-breadcrumbs__list-item">
|
<li className="govuk-breadcrumbs__list-item">
|
||||||
<Link
|
<Link
|
||||||
href={
|
href={
|
||||||
router.pathname.includes("dns") ? "/dns" : "/"
|
router.pathname.includes("/dns/") ? "/dns" : "/"
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<a className="govuk-breadcrumbs__link">
|
<a className="govuk-breadcrumbs__link">
|
||||||
{router.pathname.includes("dns")
|
{router.pathname.includes("/dns/")
|
||||||
? t("dnsCommon:service-name")
|
? t("dnsCommon:service-name")
|
||||||
: t("common:service-name")}
|
: t("common:service-name")}
|
||||||
</a>
|
</a>
|
||||||
@@ -372,6 +372,15 @@ const Breadcrumbs = (props) => {
|
|||||||
) : (
|
) : (
|
||||||
""
|
""
|
||||||
)}
|
)}
|
||||||
|
{router.pathname == "/dnsapplications" ? (
|
||||||
|
<>
|
||||||
|
<li className="govuk-breadcrumbs__list-item">
|
||||||
|
{t("dnsCommon:service-name")}
|
||||||
|
</li>
|
||||||
|
</>
|
||||||
|
) : (
|
||||||
|
""
|
||||||
|
)}
|
||||||
{router.pathname == "/dns/application-process" ? (
|
{router.pathname == "/dns/application-process" ? (
|
||||||
<>
|
<>
|
||||||
<li className="govuk-breadcrumbs__list-item">
|
<li className="govuk-breadcrumbs__list-item">
|
||||||
|
|||||||
+13
-11
@@ -21,6 +21,8 @@ const CaseSummary = (props) => {
|
|||||||
currentType,
|
currentType,
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
|
const noRepresentationLink = ["/case", "/dnsdetails"];
|
||||||
|
|
||||||
let setCaseQueryObj = props[currentType];
|
let setCaseQueryObj = props[currentType];
|
||||||
let setCaseDetailsObj = props[currentType + "Details"];
|
let setCaseDetailsObj = props[currentType + "Details"];
|
||||||
|
|
||||||
@@ -122,19 +124,19 @@ const CaseSummary = (props) => {
|
|||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
<div className="govuk-grid-column-full">
|
<div className="govuk-grid-column-full">
|
||||||
<div className="govuk-button-group">
|
<div className="govuk-button-group">
|
||||||
{router.pathname != "/case" ? (
|
{noRepresentationLink.includes(router.pathname) ==
|
||||||
<>
|
true ? (
|
||||||
<Link href="/representation">
|
|
||||||
<a className="govuk-button">
|
|
||||||
{t(
|
|
||||||
"case:summary-make-representation-label"
|
|
||||||
)}
|
|
||||||
</a>
|
|
||||||
</Link>
|
|
||||||
</>
|
|
||||||
) : (
|
|
||||||
""
|
""
|
||||||
|
) : (
|
||||||
|
<Link href="/representation">
|
||||||
|
<a className="govuk-button">
|
||||||
|
{t(
|
||||||
|
"case:summary-make-representation-label"
|
||||||
|
)}
|
||||||
|
</a>
|
||||||
|
</Link>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<a
|
<a
|
||||||
onClick={() => router.back()}
|
onClick={() => router.back()}
|
||||||
className="govuk-button govuk-button--secondary"
|
className="govuk-button govuk-button--secondary"
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
import Link from "next/link";
|
||||||
|
import { useRouter } from "next/router";
|
||||||
|
import { useContext } from "react";
|
||||||
|
import useTranslation from "next-translate/useTranslation";
|
||||||
|
import SearchForCase from "./search/searchforcase";
|
||||||
|
import DNSSearchResults from "./search/dnssearchresults";
|
||||||
|
|
||||||
|
export default function Search(props) {
|
||||||
|
const { searchString, searchResultsObj } = props;
|
||||||
|
let { t } = useTranslation();
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
const { locale } = router;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<main
|
||||||
|
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
|
||||||
|
id="main-content"
|
||||||
|
role="main"
|
||||||
|
>
|
||||||
|
<div className="govuk-grid-row">
|
||||||
|
<div className="govuk-grid-column-full">
|
||||||
|
<DNSSearchResults
|
||||||
|
searchString={searchString}
|
||||||
|
searchResultsObj={searchResultsObj.searchResultsObj}
|
||||||
|
searchDetailsObj={searchResultsObj.searchDetailsObj}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -21,6 +21,8 @@ const Header = (props) => {
|
|||||||
"/searchresults",
|
"/searchresults",
|
||||||
"/case",
|
"/case",
|
||||||
"advancedsearch",
|
"advancedsearch",
|
||||||
|
"/dnsapplications",
|
||||||
|
"/dnsdetails",
|
||||||
];
|
];
|
||||||
const hasContactLink = [
|
const hasContactLink = [
|
||||||
"/dns",
|
"/dns",
|
||||||
|
|||||||
@@ -17,9 +17,11 @@ export default function Dns() {
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="govuk-form-group">
|
<div className="govuk-form-group">
|
||||||
<button type="submit" className="govuk-button">
|
<Link href="/dnsapplications">
|
||||||
{t("home:dns-card-button")}
|
<a className="govuk-button">
|
||||||
</button>
|
{t("home:dns-card-button")}
|
||||||
|
</a>
|
||||||
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ export default function Home({ children, pages }) {
|
|||||||
<CaseSearch />
|
<CaseSearch />
|
||||||
<CaseComment />
|
<CaseComment />
|
||||||
<Dns />
|
<Dns />
|
||||||
<Login />
|
{/* <Login /> */}
|
||||||
<Inspectorate />
|
<Inspectorate />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -65,7 +65,12 @@ let CompleteAppeal = (props) => {
|
|||||||
primaryAttribute,
|
primaryAttribute,
|
||||||
props.appealType.caseReference.ticketnumber
|
props.appealType.caseReference.ticketnumber
|
||||||
);
|
);
|
||||||
}, [props.appealType.caseReference, props.props.form.appealForm.values]);
|
}, [
|
||||||
|
props.appealType.caseReference,
|
||||||
|
props.props.form.appealForm.values,
|
||||||
|
props.appealType.appealLPA,
|
||||||
|
props.props.accountDetails.loggedinUserId,
|
||||||
|
]);
|
||||||
|
|
||||||
const getFormCollection = (formtype) => {
|
const getFormCollection = (formtype) => {
|
||||||
const collectionName = jsonpath.query(
|
const collectionName = jsonpath.query(
|
||||||
|
|||||||
@@ -0,0 +1,222 @@
|
|||||||
|
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 || [{}];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<div className="govuk-grid-row">
|
||||||
|
<div className="govuk-grid-column-two-thirds">
|
||||||
|
<h1 className="govuk-heading-l">
|
||||||
|
{t("dnsCommon:service-name")}{" "}
|
||||||
|
{t("dnsApplications:page-title")}
|
||||||
|
</h1>
|
||||||
|
<p className="govuk-body">
|
||||||
|
{t("dnsApplications:page-intro-paragraph-1")}
|
||||||
|
</p>
|
||||||
|
<ul className="govuk-list govuk-list--bullet">
|
||||||
|
<li> {t("dnsApplications:page-intro-list-item-1")}</li>
|
||||||
|
|
||||||
|
<li> {t("dnsApplications:page-intro-list-item-2")}</li>
|
||||||
|
|
||||||
|
<li> {t("dnsApplications:page-intro-list-item-3")}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="govuk-grid-row govuk-!-margin-top-9">
|
||||||
|
<div className="govuk-grid-column-full">
|
||||||
|
<dl className="govuk-summary-list govuk-!-margin-bottom-9 results">
|
||||||
|
<div className="govuk-summary-list__row results-headings">
|
||||||
|
<dd className="govuk-summary-list__key govuk-!-font-size-14 results_wider ">
|
||||||
|
{t("search:searchresults-case-reference-label")}
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__key govuk-!-font-size-14">
|
||||||
|
{t("search:searchresults-site-address-label")}
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__key govuk-!-font-size-14">
|
||||||
|
{t("search:searchresults-applicant-label")}
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__key govuk-!-font-size-14">
|
||||||
|
{t("search:searchresults-authority-label")}
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dd className="govuk-summary-list__key govuk-!-font-size-14">
|
||||||
|
{t("search:searchresults-status-label")}
|
||||||
|
</dd>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{resultsArr.map((item, key) => {
|
||||||
|
let detailsObj = jsonpath.query(
|
||||||
|
searchDetailsObj,
|
||||||
|
"$..value[?(@.pinswg_name=='" +
|
||||||
|
item.title +
|
||||||
|
"')]"
|
||||||
|
);
|
||||||
|
detailsObj = detailsObj[0];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className="govuk-summary-list__row"
|
||||||
|
key={key}
|
||||||
|
>
|
||||||
|
<dd className="govuk-summary-list__value govuk-!-font-size-14 ">
|
||||||
|
<Link href="/dnsdetails">
|
||||||
|
<a
|
||||||
|
onClick={() => {
|
||||||
|
setCurrentReference({
|
||||||
|
"currentReference":
|
||||||
|
item.title,
|
||||||
|
"currentType":
|
||||||
|
"searchResultsObj",
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t(
|
||||||
|
"search:searchresults-case-reference-label"
|
||||||
|
)}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
{item.title}
|
||||||
|
</a>
|
||||||
|
</Link>
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__value govuk-!-font-size-14">
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t(
|
||||||
|
"search:searchresults-site-address-label"
|
||||||
|
)}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_siteaddressline1"
|
||||||
|
)
|
||||||
|
? detailsObj.pinswg_siteaddressline1
|
||||||
|
: ""}
|
||||||
|
<br />
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_siteaddressline1"
|
||||||
|
)
|
||||||
|
? detailsObj.pinswg_siteaddressline2
|
||||||
|
: ""}
|
||||||
|
<br />
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_siteaddressline1"
|
||||||
|
)
|
||||||
|
? detailsObj.pinswg_siteaddresstown
|
||||||
|
: ""}
|
||||||
|
<br />
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_siteaddressline1"
|
||||||
|
)
|
||||||
|
? detailsObj.pinswg_siteaddresscounty
|
||||||
|
: ""}
|
||||||
|
<br />
|
||||||
|
{_.has(
|
||||||
|
detailsObj,
|
||||||
|
"pinswg_siteaddressline1"
|
||||||
|
)
|
||||||
|
? detailsObj.pinswg_siteaddresspostcode
|
||||||
|
: ""}
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__value govuk-!-font-size-14">
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t(
|
||||||
|
"search:searchresults-applicant-label"
|
||||||
|
)}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
{_.has(detailsObj, [
|
||||||
|
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue",
|
||||||
|
])
|
||||||
|
? detailsObj[
|
||||||
|
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
|
||||||
|
]
|
||||||
|
: ""}
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__value govuk-!-font-size-14">
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t(
|
||||||
|
"search:searchresults-authority-label"
|
||||||
|
)}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
{_.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"
|
||||||
|
: ""}
|
||||||
|
</dd>
|
||||||
|
<dd className="govuk-summary-list__value govuk-!-font-size-14">
|
||||||
|
<span className="results-visually-hidden">
|
||||||
|
{t(
|
||||||
|
"search:searchresults-status-label"
|
||||||
|
)}
|
||||||
|
:
|
||||||
|
</span>
|
||||||
|
|
||||||
|
{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"}
|
||||||
|
</dd>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</dl>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const mapDispatchToProps = (dispatch) => {
|
||||||
|
return {
|
||||||
|
setCurrentReference: (currentReference) => {
|
||||||
|
dispatch(setCurrentReference(currentReference));
|
||||||
|
},
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export default connect(null, mapDispatchToProps)(DNSSearchResults);
|
||||||
@@ -456,4 +456,4 @@
|
|||||||
"MetadataId": "6aedaab1-4a82-eb11-aac0-00224800be9c"
|
"MetadataId": "6aedaab1-4a82-eb11-aac0-00224800be9c"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -176,6 +176,11 @@
|
|||||||
"value": "Researching",
|
"value": "Researching",
|
||||||
"value_cy": "Ymchwilio",
|
"value_cy": "Ymchwilio",
|
||||||
"statuscode": 5
|
"statuscode": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": "Problem Solved",
|
||||||
|
"value_cy": "Datrys Problemau",
|
||||||
|
"statuscode": 6
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"pinswg_decision": [
|
"pinswg_decision": [
|
||||||
|
|||||||
@@ -64,6 +64,14 @@
|
|||||||
"/dns/application-view": [
|
"/dns/application-view": [
|
||||||
"dnsCommon",
|
"dnsCommon",
|
||||||
"dnsApplicationView"
|
"dnsApplicationView"
|
||||||
|
],
|
||||||
|
"/dnsapplications": [
|
||||||
|
"search",
|
||||||
|
"dnsCommon",
|
||||||
|
"dnsApplications"
|
||||||
|
],
|
||||||
|
"/dnsdetails": [
|
||||||
|
"case"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
import _ from "lodash";
|
||||||
|
import Head from "next/head";
|
||||||
|
import Header from "../components/header";
|
||||||
|
import Banner from "../components/banner";
|
||||||
|
import CookieBanner from "../components/cookieBanner";
|
||||||
|
import Breadcrumbs from "../components/breadcrumbs";
|
||||||
|
import DNSSearchResults from "../components/dnssearchresults";
|
||||||
|
import Footer from "../components/footer";
|
||||||
|
import Errorpage from "../components/errorpage";
|
||||||
|
import styles from "../styles/Home.module.css";
|
||||||
|
import { useSelector, shallowEqual, connect } from "react-redux";
|
||||||
|
import { wrapper } from "../store/store";
|
||||||
|
import Cookies from "cookies";
|
||||||
|
import { useRouter } from "next/router";
|
||||||
|
import useTranslation from "next-translate/useTranslation";
|
||||||
|
import jsonpath from "jsonpath";
|
||||||
|
import data from "../data/collections.json";
|
||||||
|
|
||||||
|
import { setSearch, getSearchObj } from "../store/search/action";
|
||||||
|
import {
|
||||||
|
setSearchResults,
|
||||||
|
setSearchDetails,
|
||||||
|
getSearchResultsObj,
|
||||||
|
} from "../store/searchOutput/action";
|
||||||
|
import { getBasicDNSSearch, getBasicSearchDetails } from "../actions";
|
||||||
|
|
||||||
|
const Home = (props) => {
|
||||||
|
const { footerLinks, pages } = props;
|
||||||
|
let { t, lang } = useTranslation();
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
const { locale } = router;
|
||||||
|
const { appealtypes } = router.query;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Head>
|
||||||
|
<title>
|
||||||
|
{t("search:page-title")} - {t("common:service-name")}
|
||||||
|
</title>
|
||||||
|
</Head>
|
||||||
|
<div id="page_wrapper">
|
||||||
|
<CookieBanner />
|
||||||
|
<Header courseName={t("common:service-name")} />
|
||||||
|
<div className="govuk-width-container">
|
||||||
|
<Banner />
|
||||||
|
<Breadcrumbs slug={appealtypes} />
|
||||||
|
<DNSSearchResults
|
||||||
|
searchString="DNS"
|
||||||
|
searchResultsObj={props.searchResultsObj}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<Footer footerLinks={footerLinks} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getServerSideProps = wrapper.getServerSideProps(
|
||||||
|
(store) =>
|
||||||
|
async ({ query, req, res }) => {
|
||||||
|
console.log("query-", query);
|
||||||
|
|
||||||
|
const searchResultsObj = await getBasicDNSSearch();
|
||||||
|
//console.log(searchResultsObj);
|
||||||
|
|
||||||
|
const searchDetailsObj = await getSearchDetails(searchResultsObj);
|
||||||
|
//console.log(searchDetailsObj);
|
||||||
|
store.dispatch(setSearchResults(searchResultsObj));
|
||||||
|
store.dispatch(setSearchDetails(searchDetailsObj));
|
||||||
|
store.dispatch(setSearch("DNS"));
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const getFormCollection = (formtype) => {
|
||||||
|
const collectionName = jsonpath.query(
|
||||||
|
data,
|
||||||
|
"$..[?(@.LogicalName=='" + formtype + "')].LogicalCollectionName"
|
||||||
|
);
|
||||||
|
//console.log(collectionName[0]);
|
||||||
|
return collectionName[0];
|
||||||
|
};
|
||||||
|
|
||||||
|
const getSearchDetails = (searchResultsObj) => {
|
||||||
|
//console.log(searchResultsObj);
|
||||||
|
|
||||||
|
let detailsArr = [];
|
||||||
|
searchResultsObj = searchResultsObj.value;
|
||||||
|
const detailsObj = searchResultsObj.map((searchDetail, index) => {
|
||||||
|
if (searchDetail.pinswg_appealcasetype == null) {
|
||||||
|
console.log(searchDetail.ticketnumber);
|
||||||
|
} else {
|
||||||
|
detailsArr.push(
|
||||||
|
getBasicSearchDetails(
|
||||||
|
getFormCollection(
|
||||||
|
"pinswg_" +
|
||||||
|
searchDetail[
|
||||||
|
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
|
||||||
|
]
|
||||||
|
.replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
|
||||||
|
.toLowerCase()
|
||||||
|
.slice(0, 39)
|
||||||
|
),
|
||||||
|
searchDetail.ticketnumber
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
//console.log(detailsArr);
|
||||||
|
return Promise.all(detailsArr);
|
||||||
|
};
|
||||||
|
|
||||||
|
const mapStateToProps = (state) => {
|
||||||
|
return {
|
||||||
|
currentView: state.currentView,
|
||||||
|
search: state.search,
|
||||||
|
searchResultsObj: state.searchResultsObj,
|
||||||
|
formData: state.formData,
|
||||||
|
appealType: state.appealType,
|
||||||
|
form: state.form,
|
||||||
|
myCases: state.myCases,
|
||||||
|
watchedCases: state.watchedCases,
|
||||||
|
myRepresentations: state.myRepresentations,
|
||||||
|
awaitingSubmission: state.awaitingSubmission,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export default connect(mapStateToProps)(Home);
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
import _ from "lodash";
|
||||||
|
import Head from "next/head";
|
||||||
|
import Header from "../components/header";
|
||||||
|
import Banner from "../components/banner";
|
||||||
|
import CookieBanner from "../components/cookieBanner";
|
||||||
|
import Breadcrumbs from "../components/breadcrumbs";
|
||||||
|
import CaseSummary from "../components/case";
|
||||||
|
import Footer from "../components/footer";
|
||||||
|
import Errorpage from "../components/errorpage";
|
||||||
|
import styles from "../styles/Home.module.css";
|
||||||
|
import { useSelector, shallowEqual, connect } from "react-redux";
|
||||||
|
import { wrapper } from "../store/store";
|
||||||
|
import Cookies from "cookies";
|
||||||
|
import { useRouter } from "next/router";
|
||||||
|
import useTranslation from "next-translate/useTranslation";
|
||||||
|
import Case from "../components/case";
|
||||||
|
|
||||||
|
const Home = (props) => {
|
||||||
|
const { footerLinks, pages } = props;
|
||||||
|
let { t, lang } = useTranslation();
|
||||||
|
|
||||||
|
const router = useRouter();
|
||||||
|
const { locale } = router;
|
||||||
|
const { appealtypes } = router.query;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Head>
|
||||||
|
<title>
|
||||||
|
{t("case:page-title")}:{" "}
|
||||||
|
{props.currentView.caseReference.currentReference}{" "}
|
||||||
|
{t("common:service-name")}
|
||||||
|
</title>
|
||||||
|
</Head>
|
||||||
|
<div id="page_wrapper">
|
||||||
|
<CookieBanner />
|
||||||
|
<Header courseName={t("common:service-name")} />
|
||||||
|
<div className="govuk-width-container">
|
||||||
|
<Banner />
|
||||||
|
<Breadcrumbs slug={appealtypes} props={props} />
|
||||||
|
<Case
|
||||||
|
props={props}
|
||||||
|
myCases={props.myCases.myCases}
|
||||||
|
myCasesDetails={props.myCases.myCasesDetails}
|
||||||
|
searchResultsObj={
|
||||||
|
props.searchResultsObj.searchResultsObj
|
||||||
|
}
|
||||||
|
searchDetailsObj={
|
||||||
|
props.searchResultsObj.searchDetailsObj
|
||||||
|
}
|
||||||
|
myRepresentations={
|
||||||
|
props.myRepresentations.myRepresentations
|
||||||
|
}
|
||||||
|
watchedCases={props.watchedCases.watchedCases}
|
||||||
|
awaitingSubmission={
|
||||||
|
props.awaitingSubmission.awaitingSubmission
|
||||||
|
}
|
||||||
|
caseReference={
|
||||||
|
props.currentView.caseReference.currentReference
|
||||||
|
}
|
||||||
|
currentType={
|
||||||
|
props.currentView.caseReference.currentType
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<Footer footerLinks={footerLinks} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const mapStateToProps = (state) => {
|
||||||
|
//console.log(state);
|
||||||
|
|
||||||
|
return {
|
||||||
|
currentView: state.currentView,
|
||||||
|
search: state.search,
|
||||||
|
searchResultsObj: state.searchResultsObj,
|
||||||
|
formData: state.formData,
|
||||||
|
appealType: state.appealType,
|
||||||
|
form: state.form,
|
||||||
|
myCases: state.myCases,
|
||||||
|
watchedCases: state.watchedCases,
|
||||||
|
myRepresentations: state.myRepresentations,
|
||||||
|
awaitingSubmission: state.awaitingSubmission,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export default connect(mapStateToProps)(Home);
|
||||||
Reference in New Issue
Block a user