Merge from git

This commit is contained in:
2021-11-01 11:21:39 +00:00
parent adcff32d73
commit d94b3b3e5a
210 changed files with 69742 additions and 3359 deletions
+33
View File
@@ -0,0 +1,33 @@
// dev
//RELAY_ROOT = https://dev-pedw-ns.servicebus.windows.net/dev-pedw-hc/
//RELAYURI = "dev-pedw-ns.servicebus.windows.net"
//RELAYPATH = "dev-pedw-hc"
//SASKEY = "Ml0Y/S/nfRcmIrHFRkO4jNm2J3iH52TSxPiak7+E1+Y="
//SASKEYNAME = "devpedwnspolicy"
PORT= "3000"
DEFAULT_DOMAIN = "localhost"
I18N_DOMAIN = "cymru.local"
//I18N_DOMAIN ="dev-gwaithcynllunio.gwasanaeth.llyw.cymru"
//I18N_DOMAIN ="stage-gwaithcynllunio.gwasanaeth.llyw.cymru"
//I18N_DOMAIN ="pp-gwaithcynllunio.gwasanaeth.llyw.cymru"
//I18N_DOMAIN ="gwaithcynllunio.gwasanaeth.llyw.cymru"
//test
RELAY_ROOT = https://test-pedw-ns.servicebus.windows.net/test-pedw-hc/
RELAYURI = "test-pedw-ns.servicebus.windows.net"
RELAYPATH = "test-pedw-hc"
SASKEY = "kTLrs9UHwuW9Msc9uNfjf+89qLYT6ly80lK0zdTYJW4="
SASKEYNAME = "testpedwhcpolicy"
//preprod
//RELAY_ROOT = https://pp-pedw-ns.servicebus.windows.net/pp-pedw-hc/
//RELAYURI = "pp-pedw-ns.servicebus.windows.net"
//RELAYPATH = "pp-pedw-hc"
//SASKEY = "JzrOYfMTsGBD1cZHH2nkzqsbfDCqg0brO6jyiIDNVPo="
//SASKEYNAME = "pppedwnspolicy"
GOOGLE_TAG_MANAGER = GTM-T78CBC3
-51
View File
@@ -1,54 +1,3 @@
# These are some examples of commonly ignored file patterns.
# You should customize this list as applicable to your project.
# Learn more about .gitignore:
# https://www.atlassian.com/git/tutorials/saving-changes/gitignore
# Node artifact files
node_modules/
dist/
# Compiled Java class files
*.class
# Compiled Python bytecode
*.py[cod]
# Log files
*.log
# Package files
*.jar
# Maven
target/
dist/
# JetBrains IDE
.idea/
# Unit test reports
TEST*.xml
# Generated by MacOS
.DS_Store
# Generated by Windows
Thumbs.db
# Applications
*.app
*.exe
*.war
# Large media files
*.mp4
*.tiff
*.avi
*.flv
*.mov
*.wmv
// .gitignore // .gitignore
# next.js build output # next.js build output
.next .next
+876 -328
View File
File diff suppressed because it is too large Load Diff
+59 -38
View File
@@ -24,6 +24,7 @@ const RenderTextfield = ({
input, input,
type, type,
errorMsg, errorMsg,
disabled,
meta: { touched, error }, meta: { touched, error },
...custom ...custom
}) => { }) => {
@@ -55,18 +56,23 @@ const RenderTextfield = ({
name={id} name={id}
id={id} id={id}
type={type} type={type}
disabled={disabled ? true : false}
/> />
</div> </div>
</> </>
); );
}; };
const PersonalDetails = (props) => { let PersonalDetails = (props) => {
const { const {
handleSubmit, handleSubmit,
value, value,
setPersonalDetailsComplete, setPersonalDetailsComplete,
setAccountUpdatedComplete, setAccountUpdatedComplete,
load,
pristine,
reset,
submitting,
} = props; } = props;
let { t, lang } = useTranslation(); let { t, lang } = useTranslation();
@@ -126,17 +132,18 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="email" name="emailaddress1"
id="email" id="emailaddress1"
component={RenderTextfield} component={RenderTextfield}
type="email" type="email"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
validate={[required, email]} validate={[required, email]}
label="Email address" label="Email address"
disabled
/> />
<Field <Field
name="telephone" name="telephone1"
id="telephone" id="telephone1"
component={RenderTextfield} component={RenderTextfield}
type="number" type="number"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
@@ -145,8 +152,8 @@ const PersonalDetails = (props) => {
/> />
<Field <Field
name="companygroup" name="company"
id="companygroup" id="company"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
@@ -162,8 +169,8 @@ const PersonalDetails = (props) => {
</legend> </legend>
<Field <Field
name="addressline1" name="address1_line1"
id="addressline1" id="address1_line1"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
@@ -172,8 +179,8 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="addressline2" name="address1_line2"
id="addressline2" id="address1_line2"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
@@ -181,8 +188,8 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="towncity" name="address1_city"
id="towncity" id="address1_city"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-10" className="govuk-input govuk-input--width-10"
@@ -191,8 +198,8 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="county" name="address1_county"
id="county" id="address1_county"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-10" className="govuk-input govuk-input--width-10"
@@ -201,8 +208,8 @@ const PersonalDetails = (props) => {
errorMsg="Is required" errorMsg="Is required"
/> />
<Field <Field
name="postcode" name="address1_postalcode"
id="postcode" id="address1_postalcode"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-5" className="govuk-input govuk-input--width-5"
@@ -235,7 +242,7 @@ const PersonalDetails = (props) => {
</> </>
) )
) : ( ) : (
<PersonalDetailsComplete /> <PersonalDetailsComplete props={props} />
)} )}
</> </>
); );
@@ -262,23 +269,37 @@ const mapDispatchToProps = (dispatch) => {
const selector = formValueSelector("personalDetailsForm"); // <-- same as form name const selector = formValueSelector("personalDetailsForm"); // <-- same as form name
export default connect( // export default connect(
mapStateToProps, // mapStateToProps,
mapDispatchToProps // mapDispatchToProps
//, (state) => ({ // //, (state) => ({
// initialValues: state.accountDetails.accountDetails.data, // // initialValues: state.accountDetails.accountDetails.data,
// // search: state.search, // // // search: state.search,
// searchResultsObj: state.searchResultsObj, // // searchResultsObj: state.searchResultsObj,
// formData: state.formData, // // formData: state.formData,
// appealType: state.appealType, // // appealType: state.appealType,
// accountDetails: state.accountDetails, // // accountDetails: state.accountDetails,
// form: state.form, // // form: state.form,
// pull initial values from account reducer // // pull initial values from account reducer
//}) // //})
)( // )(
reduxForm({ // reduxForm({
form: "personalDetailsForm", // form: "personalDetailsForm",
enableReinitialize: true, // this is needed!! // enableReinitialize: true, // this is needed!!
destroyOnUnmount: false, // destroyOnUnmount: false,
})(PersonalDetails) // })(PersonalDetails)
); // );
// Decorate with reduxForm(). It will read the initialValues prop provided by connect()
PersonalDetails = reduxForm({
form: "personalDetailsForm",
enableReinitialize: true, // this is needed!!
destroyOnUnmount: false,
})(PersonalDetails);
// You have to connect() to any reducers that you wish to connect to yourself
PersonalDetails = connect((state) => ({
initialValues: state.accountDetails.accountDetails, // pull initial values from account reducer
}))(PersonalDetails);
export default PersonalDetails;
+8 -8
View File
@@ -80,7 +80,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.email .emailaddress1
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -104,7 +104,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.telephone .telephone1
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -127,7 +127,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.companygroup .company
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -155,7 +155,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.addressline1 .address1_line1
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -179,7 +179,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.addressline2 .address1_line2
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -203,7 +203,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.towncity .address1_city
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -227,7 +227,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.county .address1_county
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -251,7 +251,7 @@ const BuildCheckPersonalDetails = (props) => {
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.personalDetailsForm.values props.props.props.form.personalDetailsForm.values
.postcode .address1_postalcode
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
+11 -2
View File
@@ -1,6 +1,6 @@
import _ from "lodash"; import _ from "lodash";
import Link from "next/link"; import Link from "next/link";
import React, { useState } from "react"; import React, { useState, useEffect } from "react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import { import {
@@ -17,6 +17,7 @@ import {
setRegisterFormComplete, setRegisterFormComplete,
setAccountCreatedComplete, setAccountCreatedComplete,
} from "react-redux"; } from "react-redux";
import { updateAccount } from "../../actions";
const PersonalDetailsComplete = (props) => { const PersonalDetailsComplete = (props) => {
const { const {
@@ -30,6 +31,12 @@ const PersonalDetailsComplete = (props) => {
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
useEffect(() => {
let contactid = props.accountDetails.loggedinUserId;
let updateBody = props.props.props.form.personalDetailsForm.values;
updateAccount(contactid, updateBody);
}, []);
return ( return (
<> <>
<p className="govuk-body">Your details have been updated</p> <p className="govuk-body">Your details have been updated</p>
@@ -41,7 +48,9 @@ const PersonalDetailsComplete = (props) => {
</p> </p>
<p className="govuk-body"> <p className="govuk-body">
<Link href="/myportal"> <Link
href={"/myportal?q=" + props.accountDetails.loggedinUserId}
>
<a className="govuk-link">Return to My Portal</a> <a className="govuk-link">Return to My Portal</a>
</Link> </Link>
</p> </p>
+91 -41
View File
@@ -9,6 +9,7 @@ import {
getFormSubmitErrors, getFormSubmitErrors,
} from "redux-form"; } from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux"; import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import { setAccCr } from "../../store/accountDetails/action";
const RegisterFormCheck = (props) => { const RegisterFormCheck = (props) => {
const { const {
@@ -18,6 +19,7 @@ const RegisterFormCheck = (props) => {
value, value,
setRegisterFormComplete, setRegisterFormComplete,
setAccountCreatedComplete, setAccountCreatedComplete,
setAccCr,
} = props; } = props;
let { t, lang } = useTranslation(); let { t, lang } = useTranslation();
@@ -26,11 +28,16 @@ const RegisterFormCheck = (props) => {
return ( return (
<> <>
<p>Check that the details you entered are correct.</p> <p>{t("account:register-new-account-check-details-paragraph")}</p>
<h2 className="govuk-heading-m">About you</h2> <h2 className="govuk-heading-m">
{" "}
{t("account:register-new-account-sub-heading-1")}
</h2>
<dl className="govuk-summary-list govuk-!-margin-bottom-9"> <dl className="govuk-summary-list govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">First name</dt> <dt className="govuk-summary-list__key">
{t("account:register-new-account-first-name-label")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.accountRegisterForm.values props.props.props.form.accountRegisterForm.values
@@ -45,15 +52,19 @@ const RegisterFormCheck = (props) => {
setRegisterFormComplete(false); setRegisterFormComplete(false);
}} }}
> >
Change {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
first name {t(
"account:register-new-account-first-name-label"
)}
</span> </span>
</a> </a>
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Last name</dt> <dt className="govuk-summary-list__key">
{t("account:register-new-account-last-name-label")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.accountRegisterForm.values props.props.props.form.accountRegisterForm.values
@@ -68,20 +79,24 @@ const RegisterFormCheck = (props) => {
setRegisterFormComplete(false); setRegisterFormComplete(false);
}} }}
> >
Change {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
{" "} {t(
last name "account:register-new-account-last-name-label"
)}
</span> </span>
</a> </a>
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Email address</dt> <dt className="govuk-summary-list__key">
{t("account:register-new-account-email-address-label")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.accountRegisterForm.values props.props.props.form.accountRegisterForm.values
.email .emailaddress1
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -92,20 +107,25 @@ const RegisterFormCheck = (props) => {
setRegisterFormComplete(false); setRegisterFormComplete(false);
}} }}
> >
Change {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
{" "} {" "}
email address {t(
"account:register-new-account-email-address-label"
)}
</span> </span>
</a> </a>
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Telephone</dt> <dt className="govuk-summary-list__key">
{t("account:register-new-account-phone-label")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.accountRegisterForm.values props.props.props.form.accountRegisterForm.values
.telephone .telephone1
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -116,14 +136,15 @@ const RegisterFormCheck = (props) => {
setRegisterFormComplete(false); setRegisterFormComplete(false);
}} }}
> >
Change {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
telephone {t("account:register-new-account-phone-label")}
</span> </span>
</a> </a>
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> {/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Company/Group</dt> <dt className="govuk-summary-list__key">Company/Group</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
@@ -146,17 +167,21 @@ const RegisterFormCheck = (props) => {
</span> </span>
</a> </a>
</dd> </dd>
</div> </div> */}
</dl> </dl>
<dl className="govuk-summary-list govuk-!-margin-bottom-9"> <dl className="govuk-summary-list govuk-!-margin-bottom-9">
<h2 className="govuk-heading-m">Your address</h2> <h2 className="govuk-heading-m">
{t("account:register-new-account-sub-heading-2")}
</h2>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Address Line 1</dt> <dt className="govuk-summary-list__key">
{t("account:register-new-account-address-line-1-label")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.accountRegisterForm.values props.props.props.form.accountRegisterForm.values
.addressline1 .address1_line1
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -167,20 +192,25 @@ const RegisterFormCheck = (props) => {
setRegisterFormComplete(false); setRegisterFormComplete(false);
}} }}
> >
Change {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
{" "} {" "}
address line 1 {t(
"account:register-new-account-address-line-1-label"
)}
</span> </span>
</a> </a>
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Address line 2</dt> <dt className="govuk-summary-list__key">
{t("account:register-new-account-address-line-2-label")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.accountRegisterForm.values props.props.props.form.accountRegisterForm.values
.addressline2 .address1_line2
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -191,20 +221,25 @@ const RegisterFormCheck = (props) => {
setRegisterFormComplete(false); setRegisterFormComplete(false);
}} }}
> >
Change {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
{" "} {" "}
address line 2 {t(
"account:register-new-account-address-line-2-label"
)}
</span> </span>
</a> </a>
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Town/City</dt> <dt className="govuk-summary-list__key">
{t("account:register-new-account-town-label")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.accountRegisterForm.values props.props.props.form.accountRegisterForm.values
.towncity .address1_city
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -215,20 +250,24 @@ const RegisterFormCheck = (props) => {
setRegisterFormComplete(false); setRegisterFormComplete(false);
}} }}
> >
Change {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
{" "} {" "}
town/city {t("account:register-new-account-town-label")}
</span> </span>
</a> </a>
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">County</dt> <dt className="govuk-summary-list__key">
{" "}
{t("account:register-new-account-county-label")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.accountRegisterForm.values props.props.props.form.accountRegisterForm.values
.county .address1_county
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -239,20 +278,24 @@ const RegisterFormCheck = (props) => {
setRegisterFormComplete(false); setRegisterFormComplete(false);
}} }}
> >
Change {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
{" "} {" "}
county {t("account:register-new-account-county-label")}
</span> </span>
</a> </a>
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">Postcode</dt> <dt className="govuk-summary-list__key">
{" "}
{t("account:register-new-account-postcode-label")}
</dt>
<dd className="govuk-summary-list__value"> <dd className="govuk-summary-list__value">
{ {
props.props.props.form.accountRegisterForm.values props.props.props.form.accountRegisterForm.values
.postcode .address1_postalcode
} }
</dd> </dd>
<dd className="govuk-summary-list__actions"> <dd className="govuk-summary-list__actions">
@@ -263,10 +306,13 @@ const RegisterFormCheck = (props) => {
setRegisterFormComplete(false); setRegisterFormComplete(false);
}} }}
> >
Change {t("common:change-link-label")}
<span className="govuk-visually-hidden"> <span className="govuk-visually-hidden">
{" "} {" "}
postcode {t(
"account:register-new-account-postcode-label"
)}
</span> </span>
</a> </a>
</dd> </dd>
@@ -278,10 +324,11 @@ const RegisterFormCheck = (props) => {
className="govuk-button" className="govuk-button"
data-module="govuk-button" data-module="govuk-button"
onClick={() => { onClick={() => {
setAccCr(false);
setAccountCreatedComplete(true); setAccountCreatedComplete(true);
}} }}
> >
Continue {t("common:continue-button")}
</button> </button>
</div> </div>
</> </>
@@ -304,6 +351,9 @@ const mapDispatchToProps = (dispatch) => {
setCurrentSection: (currentSection) => { setCurrentSection: (currentSection) => {
dispatch(setCurrentSection(currentSection)); dispatch(setCurrentSection(currentSection));
}, },
setAccCr: (accState) => {
dispatch(setAccCr(accState));
},
}; };
}; };
+83 -17
View File
@@ -1,8 +1,10 @@
import _ from "lodash"; import _ from "lodash";
import Link from "next/link"; import Link from "next/link";
import React, { useState } from "react"; import React, { useEffect, useState } from "react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import { import {
Field, Field,
reduxForm, reduxForm,
@@ -18,6 +20,10 @@ import {
setAccountCreatedComplete, setAccountCreatedComplete,
} from "react-redux"; } from "react-redux";
import { setAccCr, setLogout } from "../../store/accountDetails/action";
import { getEmailAccountCheck, createAccount } from "../../actions";
const RegisterComplete = (props) => { const RegisterComplete = (props) => {
const { const {
footerLinks, footerLinks,
@@ -26,37 +32,94 @@ const RegisterComplete = (props) => {
value, value,
setRegisterFormComplete, setRegisterFormComplete,
setAccountCreatedComplete, setAccountCreatedComplete,
setAccCr,
} = props; } = props;
let { t, lang } = useTranslation(); let { t, lang } = useTranslation();
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
return ( const [accountCreated, setAccountCreated] = useState(false);
useEffect(() => {
let accountBody = props.props.props.form.accountRegisterForm.values;
let emailAddress =
props.props.props.form.accountRegisterForm.values.emailaddress1;
Object.assign(accountBody, {
"pinswg_typeofinvolvement": 846040001,
});
accountBody = _.omit(accountBody, ["custom_password_check"]);
let checkEmailObj = {};
switch (props.accountDetails.accCr) {
case "created":
case "exists":
break;
default:
let emailExists = getEmailAccountCheck(
accountBody.emailaddress1
).then((data) => {
data["@odata.count"] > 0
? setAccCr("exists")
: (checkEmailObj = createAccount(accountBody).then(
(data) => {
//console.log(data);
setAccCr("created");
}
));
});
break;
}
});
return props.accountDetails.accCr == "created" ? (
<> <>
<p className="govuk-body">We have sent you a confirmation email.</p>
<h2 className="govuk-heading-m">What happens next</h2>
<p className="govuk-body"> <p className="govuk-body">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi a {t("account:register-new-account-confirmation-email")}
metus non quam mollis egestas. Integer ac leo cursus, laoreet
nulla sed, tempus tellus. Mauris condimentum erat arcu.
</p> </p>
<h2 className="govuk-heading-m">
{t("account:register-new-account-sub-heading-what-next")}
</h2>
<p className="govuk-body"> <p className="govuk-body">
Sed imperdiet dignissim ipsum. Orci varius natoque penatibus et {t("account:register-new-account-paragraph-what-next")}
magnis dis parturient montes, nascetur ridiculus mus. In id leo
in turpis aliquam venenatis ut non erat. Ut est arcu, luctus sit
amet pretium sed, iaculis non purus. Etiam dictum tortor commodo
luctus rhoncus.
</p> </p>
<p className="govuk-body"> <p className="govuk-body">
<Link href="/"> <Link href="/">
<a className="govuk-link">Login to My Portal</a> <a
className="govuk-link"
onClick={() => {
setLogout(), window.localStorage.clear();
}}
>
{t("account:register-new-account-my-portal-link")}
</a>
</Link> </Link>
</p> </p>
</> </>
) : (
<>
<h2 className="govuk-heading-m">
{t("account:register-new-account-account-failed")}
</h2>
<p className="govuk-body">
<a
onClick={() => {
setRegisterFormComplete(false),
setAccountCreatedComplete(false),
setAccCr("false");
}}
className="govuk-link"
>
Try registering again
</a>
</p>
</>
); );
}; };
@@ -73,8 +136,11 @@ const mapStateToProps = (state) => {
const mapDispatchToProps = (dispatch) => { const mapDispatchToProps = (dispatch) => {
return { return {
setCurrentSection: (currentSection) => { setAccCr: (accountCreated) => {
dispatch(setCurrentSection(currentSection)); dispatch(setAccCr(accountCreated));
},
setLogout: () => {
dispatch(setLogout());
}, },
}; };
}; };
+154 -63
View File
@@ -28,33 +28,34 @@ const RenderTextfield = ({
}) => { }) => {
return ( return (
<> <>
<div <div className="govuk-form-group ">
className={
touched && error
? "govuk-form-group govuk-form-group--error"
: "govuk-form-group "
}
>
<label className="govuk-label " htmlFor={id} id={id + "_label"}> <label className="govuk-label " htmlFor={id} id={id + "_label"}>
{label} {label}
</label> </label>
{touched && error && ( <div>
<span id={id + "-error"} className="govuk-error-message"> <input
<span className="govuk-visually-hidden">Error:</span>{" "} {...input}
{touched && className={className}
((error && ( name={name}
<span>{errorMsg ? errorMsg : error}</span> id={id}
)) || type={type}
(warning && <span>{warning}</span>))} />
</span> {touched && error && (
)} <span
<input id={id + "-error"}
{...input} className="govuk-error-message govuk-form-group--error"
className={className} >
name={name} <span className="govuk-visually-hidden">
id={id} Error:
type={type} </span>{" "}
/> {touched &&
((error && (
<span>{errorMsg ? errorMsg : error}</span>
)) ||
(warning && <span>{warning}</span>))}
</span>
)}
</div>
</div> </div>
</> </>
); );
@@ -63,6 +64,8 @@ const RenderTextfield = ({
const RegisterForm = (props) => { const RegisterForm = (props) => {
const { const {
handleSubmit, handleSubmit,
pristine,
valid,
value, value,
setRegisterFormComplete, setRegisterFormComplete,
setAccountCreatedComplete, setAccountCreatedComplete,
@@ -87,21 +90,51 @@ const RegisterForm = (props) => {
? "Invalid phone number" ? "Invalid phone number"
: undefined; : undefined;
const passwordsMatch = (value, allValues) =>
value !== allValues.pinswg_custom_password
? "Passwords don't match"
: undefined;
const minLength = (min) => (value) =>
value && value.length < min
? `Must be ${min} characters or more`
: undefined;
const minLength5 = minLength(5);
const [hasErrors, setHasErrors] = useState(""); const [hasErrors, setHasErrors] = useState("");
const onHandleSubmit = (values) => { const onHandleSubmit = (values) => {
//console.log(values);
setRegisterFormComplete(true); setRegisterFormComplete(true);
}; };
console.log(pristine);
return ( return (
<> <>
{!pristine && !valid && (
<div>
<span
id={"summary-error"}
className="govuk-error-message govuk-form-group--error-summary"
>
<span className="govuk-visually-hidden">Error:</span>{" "}
<span className="govuk-error-exclamation">
There are errors on this page. Please correct any
required fields and submit again.
</span>
</span>
</div>
)}
{props.accountCreatedComplete != true ? ( {props.accountCreatedComplete != true ? (
props.registerFormComplete == false ? ( props.registerFormComplete == false ? (
<form onSubmit={handleSubmit(onHandleSubmit)}> <form onSubmit={handleSubmit(onHandleSubmit)}>
<fieldset className="govuk-fieldset"> <fieldset className="govuk-fieldset">
<legend className="govuk-fieldset__legend govuk-fieldset__legend--m"> <legend className="govuk-fieldset__legend govuk-fieldset__legend--m">
<h2 className="govuk-fieldset__heading"> <h2 className="govuk-fieldset__heading">
About you {t(
"account:register-new-account-sub-heading-1"
)}
</h2> </h2>
</legend> </legend>
<Field <Field
@@ -111,8 +144,12 @@ const RegisterForm = (props) => {
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
validate={[required]} validate={[required]}
label="First name" label={t(
errorMsg="Is required" "account:register-new-account-first-name-label"
)}
errorMsg={t(
"account:register-new-account-first-name-label-errormsg"
)}
/> />
<Field <Field
name="lastname" name="lastname"
@@ -121,93 +158,143 @@ const RegisterForm = (props) => {
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
validate={[required]} validate={[required]}
label="Last name" label={t(
errorMsg="Is required" "account:register-new-account-last-name-label"
)}
errorMsg={t(
"account:register-new-account-last-name-label-errormsg"
)}
/> />
<Field <Field
name="email" name="emailaddress1"
id="email" id="emailaddress1"
component={RenderTextfield} component={RenderTextfield}
type="email" type="email"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
validate={[required, email]} validate={[required, email]}
label="Email address" label={t(
"account:register-new-account-email-address-label"
)}
/> />
<Field <Field
name="telephone" name="telephone1"
id="telephone" id="telephone1"
component={RenderTextfield} component={RenderTextfield}
type="number" type="number"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
validate={[required, phoneNumber]} validate={[required, phoneNumber]}
label="Telephone" label={t(
"account:register-new-account-phone-label"
)}
/> />
<Field <Field
name="companygroup" name="pinswg_custom_password"
id="companygroup" id="pinswg_custom_password"
component={RenderTextfield} component={RenderTextfield}
type="text" type="password"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
label="Company/Group" label={t(
errorMsg="Is required" "account:register-new-account-password-label"
)}
validate={[required, minLength5]}
errorMsg={t(
"account:register-new-account-password-label-errormsg"
)}
/>
<Field
name="custom_password_check"
id="custom_password_check"
component={RenderTextfield}
type="password"
className="govuk-input govuk-input--width-20"
label={t(
"account:register-new-account-confirm-password-label"
)}
validate={[
required,
passwordsMatch,
minLength5,
]}
errorMsg={t(
"account:register-new-account-confirm-password-label-errormsg"
)}
/> />
</fieldset> </fieldset>
<fieldset className="govuk-fieldset"> <fieldset className="govuk-fieldset">
<legend className="govuk-fieldset__legend govuk-fieldset__legend--m"> <legend className="govuk-fieldset__legend govuk-fieldset__legend--m">
<h2 className="govuk-fieldset__heading"> <h2 className="govuk-fieldset__heading">
What is your address? {t(
"account:register-new-account-sub-heading-2"
)}
</h2> </h2>
</legend> </legend>
<Field <Field
name="addressline1" name="address1_line1"
id="addressline1" id="address1_line1"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
label="Address line 1" label={t(
"account:register-new-account-address-line-1-label"
)}
validate={[required]} validate={[required]}
errorMsg="Is required" errorMsg={t(
"account:register-new-account-address-line-1-label-errormsg"
)}
/> />
<Field <Field
name="addressline2" name="address1_line2"
id="addressline2" id="address1_line2"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
label="Address line 2" label={t(
errorMsg="Is required" "account:register-new-account-address-line-2-label"
)}
/> />
<Field <Field
name="towncity" name="address1_city"
id="towncity" id="address1_city"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-10" className="govuk-input govuk-input--width-10"
label="Town/City" label={t(
"account:register-new-account-town-label"
)}
validate={[required]} validate={[required]}
errorMsg="Is required" errorMsg={t(
"account:register-new-account-town-label-errormsg"
)}
/> />
<Field <Field
name="county" name="address1_county"
id="county" id="address1_county"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-10" className="govuk-input govuk-input--width-10"
label="County" label={t(
"account:register-new-account-county-label"
)}
validate={[required]} validate={[required]}
errorMsg="Is required" errorMsg={t(
"account:register-new-account-county-label-errormsg"
)}
/> />
<Field <Field
name="postcode" name="address1_postalcode"
id="postcode" id="address1_postalcode"
component={RenderTextfield} component={RenderTextfield}
type="text" type="text"
className="govuk-input govuk-input--width-5" className="govuk-input govuk-input--width-5"
label="Postcode" label={t(
"account:register-new-account-postcode-label"
)}
validate={[required]} validate={[required]}
errorMsg="Is required" errorMsg={t(
"account:register-new-account-postcode-label-errormsg"
)}
/> />
</fieldset> </fieldset>
@@ -217,7 +304,7 @@ const RegisterForm = (props) => {
className="govuk-button" className="govuk-button"
data-module="govuk-button" data-module="govuk-button"
> >
Continue {t("common:continue-button")}
</button> </button>
</div> </div>
</form> </form>
@@ -229,7 +316,11 @@ const RegisterForm = (props) => {
/> />
) )
) : ( ) : (
<RegisterComplete /> <RegisterComplete
props={props}
setRegisterFormComplete={setRegisterFormComplete}
setAccountCreatedComplete={setAccountCreatedComplete}
/>
)} )}
</> </>
); );
+18 -8
View File
@@ -1,12 +1,22 @@
import Link from "next/link"; import Link from "next/link";
import useTranslation from "next-translate/useTranslation";
export default function Banner() { export default function Banner() {
return ( let { t, lang } = useTranslation();
<div className="govuk-phase-banner"> return (
<p className="govuk-phase-banner__content"> <div className="govuk-header phase_banner">
<span className="govuk-tag govuk-phase-banner__content__tag">beta</span> <div className="govuk-header__container govuk-width-container">
<span className="govuk-phase-banner__text">This is a new service</span> <div className="govuk-phase-banner">
</p> <p className="govuk-phase-banner__content">
</div> <span className="govuk-tag govuk-phase-banner__content__tag">
); beta
</span>
<span className="govuk-phase-banner__text">
{t("common:new-service-beta")}
</span>
</p>
</div>
</div>
</div>
);
} }
+551 -302
View File
@@ -1,8 +1,10 @@
import Link from "next/link"; import Link from "next/link";
import jsonpath from "jsonpath"; import jsonpath from "jsonpath";
import _ from "lodash"; import _ from "lodash";
import { useState } from "react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import LoadingOverlay from "react-loading-overlay";
const Breadcrumbs = (props) => { const Breadcrumbs = (props) => {
const { courseContent, slug, currentView } = props; const { courseContent, slug, currentView } = props;
@@ -36,309 +38,556 @@ const Breadcrumbs = (props) => {
} }
} }
return ( const [showSpinnerState, setShowSpinnerState] = useState(false);
<nav
aria-label={"Breadcrumb for " + _.startCase(_.toLower(appealType))}
role="navigation"
data-module="track-click"
>
<div className="govuk-breadcrumbs ">
<ol className="govuk-breadcrumbs__list">
<li className="govuk-breadcrumbs__list-item">
<Link href="http://www.gov.wales">
<a className="govuk-breadcrumbs__link">GOV.WALES</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.pathname.includes("dns") ? "/dns" : "/"
}
>
<a className="govuk-breadcrumbs__link">
{router.pathname.includes("dns")
? t("dnsCommon:service-name")
: t("common:service-name")}
</a>
</Link>
</li>
{router.pathname == "/myportal" ? (
<li className="govuk-breadcrumbs__list-item">
{t("myportal:page-title")}
</li>
) : (
""
)}
{router.pathname == "/searchresults" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
My Portal
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Search results
</li>
</>
) : (
""
)}
{router.pathname == "/newappeal" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
{t("newappeal:parent-page-title")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t("newappeal:page-title")}
</li>
</>
) : (
""
)}
{router.pathname == "/newappeal/selectappeal" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
{t("newappeal:parent-page-title")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
{t("newappeal:page-title")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Select Appeal
</li>
</>
) : (
""
)}
{router.pathname == "/viewall" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
My Portal
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Your cases
</li>
</>
) : (
""
)}
{router.pathname == "/myportal/viewall" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
My Portal
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{currentView.viewName}
</li>
</>
) : (
""
)}
{router.pathname == "/case" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
My Portal
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
<Link href="/viewall">
<a className="govuk-breadcrumbs__link">
Your cases{" "}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Case Reference:{" "}
{
props.props.currentView.caseReference
.currentReference
}
</li>
</>
) : (
""
)}
{router.pathname == "/representation" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
My Portal
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Make representation for:{" "}
{
props.props.currentView.caseReference
.currentReference
}
</li>
</>
) : (
""
)}
{router.pathname == "/account/personaldetails" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
My Portal
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Your account
</li>
</>
) : (
""
)}
{router.pathname == "/account/register" ? (
<>
<li className="govuk-breadcrumbs__list-item">
Register your account
</li>
</>
) : (
""
)}
{router.pathname == "/account/changepassword" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
My Portal
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Update your password
</li>
</>
) : (
""
)}
{router.pathname == "/dns" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/dns">
<a className="govuk-breadcrumbs__link">
{t("dnsCommon:service-name")}
</a>
</Link>
</li>
</>
) : (
""
)}
{router.pathname == "/dns/application-process" ? (
<>
<li className="govuk-breadcrumbs__list-item">
Guidance
</li>
</>
) : (
""
)}
{router.pathname == "/dns/help" ? (
<>
<li className="govuk-breadcrumbs__list-item">
Help
</li>
</>
) : (
""
)}
{router.pathname == "/dns/contact-us" ? (
<>
<li className="govuk-breadcrumbs__list-item">
Contact us
</li>
</>
) : (
""
)}
{router.pathname == "/dns/applications" ? (
<>
<li className="govuk-breadcrumbs__list-item">
{t("dnsApplications:page-title")}
</li>
</>
) : (
""
)}
{router.pathname == "/dns/application-view" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/dns/applications">
<a className="govuk-breadcrumbs__link">
{t(
"dnsApplicationView:page-parent-title"
)}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
TWA - Morlais Demonstration Zone
</li>
</>
) : (
""
)}
{!_.isEmpty(slug) ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link href="/myportal">
<a className="govuk-breadcrumbs__link">
My Portal
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
<Link href="/newappeal">
<a className="govuk-breadcrumbs__link">
New Appeal
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{props.formTitle}
</li>
</>
) : (
""
)}
<Breadcrumb /> let spinnerState = () => {
</ol> showSpinnerState == true
</div> ? setShowSpinnerState(false)
</nav> : setShowSpinnerState(true);
};
return (
<>
<nav
aria-label={
"Breadcrumb for " + _.startCase(_.toLower(appealType))
}
role="navigation"
data-module="track-click"
>
<div className="govuk-breadcrumbs ">
<ol className="govuk-breadcrumbs__list">
{/* <li className="govuk-breadcrumbs__list-item">
<Link href={t("common:gov-wales-link")}>
<a className="govuk-breadcrumbs__link">
{t("common:gov-wales-label")}
</a>
</Link>
</li> */}
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.pathname.includes("/dns/")
? "/dns"
: "/"
}
>
<a className="govuk-breadcrumbs__link">
{router.pathname.includes("/dns/")
? t("dnsCommon:service-name")
: t("common:service-name-breadcrumb")}
</a>
</Link>
</li>
{router.pathname == "/myportal" ? (
<li className="govuk-breadcrumbs__list-item">
{t("myportal:page-title")}
</li>
) : (
""
)}
{router.pathname == "/myportal/searchresults" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("common:breadcrumb-my-portal")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-search-results")}
</li>
</>
) : (
""
)}
{router.pathname ==
(router.locale == "cy"
? "/canlyniadauchwilio"
: "/searchresults") ? (
<>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-search-results")}
</li>
</>
) : (
""
)}
{router.pathname == "/advancedsearch" ? (
<>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-advanced-search")}
</li>
</>
) : (
""
)}
{router.pathname == "/advancedsearchresults" ? (
<>
{" "}
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale +
"/advancedsearch"
: "/advancedsearch"
}
>
<a className="govuk-breadcrumbs__link">
{t(
"common:breadcrumb-advanced-search"
)}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t(
"common:breadcrumb-advanced-search-results"
)}
</li>
</>
) : (
""
)}
{router.pathname == "/newappeal" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("newappeal:parent-page-title")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t("newappeal:page-title")}
</li>
</>
) : (
""
)}
{router.pathname == "/newappeal/selectappeal" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("newappeal:parent-page-title")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("newappeal:page-title")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Select Appeal
</li>
</>
) : (
""
)}
{router.pathname == "/viewall" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("common:breadcrumb-my-portal")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Your cases
</li>
</>
) : (
""
)}
{router.pathname == "/myportal/viewall" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("common:breadcrumb-my-portal")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{currentView.viewName}
</li>
</>
) : (
""
)}
{router.pathname == "/myportal/case" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("common:breadcrumb-my-portal")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/viewall"
: "/viewall"
}
>
<a className="govuk-breadcrumbs__link">
Your cases{" "}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "}
{
props.props.currentView.caseReference
.currentReference
}
</li>
</>
) : (
""
)}
{router.pathname == "/case" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale +
"/searchresults?q=" +
props.props.search
.searchString
: "/searchresults?q=" +
props.props.search
.searchString
}
>
<a
onClick={() => {
spinnerState();
router.back();
}}
className="govuk-breadcrumbs__link"
>
{t(
"common:breadcrumb-search-results"
)}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "}
{
props.props.currentView.caseReference
.currentReference
}
</li>
</>
) : (
""
)}
{router.pathname == "/myportal/representation" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("common:breadcrumb-my-portal")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Make representation for:{" "}
{
props.props.currentView.caseReference
.currentReference
}
</li>
</>
) : (
""
)}
{router.pathname == "/account/personaldetails" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("common:breadcrumb-my-portal")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Your account
</li>
</>
) : (
""
)}
{router.pathname == "/account/register" ? (
<>
<li className="govuk-breadcrumbs__list-item">
{t("account:register-new-account-heading")}
</li>
</>
) : (
""
)}
{router.pathname == "/account/changepassword" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("common:breadcrumb-my-portal")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
Update your password
</li>
</>
) : (
""
)}
{router.pathname == "/dns" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/dns"
: "/dns"
}
>
<a className="govuk-breadcrumbs__link">
{t("dnsCommon:service-name")}
</a>
</Link>
</li>
</>
) : (
""
)}
{router.pathname == "/dnsapplications" ? (
<>
<li className="govuk-breadcrumbs__list-item">
{t("dnsCommon:service-name")}
</li>
</>
) : (
""
)}
{router.pathname ==
(router.locale == "cy"
? "/manyliondns"
: "/dnsdetails") ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale == "en"
? router.locale +
"/dnsapplications"
: "/dnsapplications"
}
>
<a className="govuk-breadcrumbs__link">
{t("dnsCommon:service-name")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{t("common:breadcrumb-case-reference")}:{" "}
{
props.props.currentView.caseReference
.currentReference
}
</li>
</>
) : (
""
)}
{router.pathname == "/dns/application-process" ? (
<>
<li className="govuk-breadcrumbs__list-item">
Guidance
</li>
</>
) : (
""
)}
{router.pathname == "/dns/help" ? (
<>
<li className="govuk-breadcrumbs__list-item">
Help
</li>
</>
) : (
""
)}
{router.pathname == "/dns/contact-us" ? (
<>
<li className="govuk-breadcrumbs__list-item">
Contact us
</li>
</>
) : (
""
)}
{router.pathname == "/dns/applications" ? (
<>
<li className="govuk-breadcrumbs__list-item">
{t("dnsApplications:page-title")}
</li>
</>
) : (
""
)}
{router.pathname == "/dns/application-view" ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale +
"/dns/applications"
: "/dns/applications"
}
>
<a className="govuk-breadcrumbs__link">
{t(
"dnsApplicationView:page-parent-title"
)}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
TWA - Morlais Demonstration Zone
</li>
</>
) : (
""
)}
{router.pathname == "/help/cookies" ? (
<>
<li className="govuk-breadcrumbs__list-item">
{t("cookies:cookie-breadcrumb")}
</li>
</>
) : (
""
)}
{!_.isEmpty(slug) ? (
<>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale != "en"
? router.locale + "/myportal"
: "/myportal"
}
>
<a className="govuk-breadcrumbs__link">
{t("common:breadcrumb-my-portal")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
<Link
href={
router.locale == "cy"
? router.locale + "/apêlnewydd"
: "/newappeal"
}
>
<a className="govuk-breadcrumbs__link">
{t("common:breadcrumb-new-appeal")}
</a>
</Link>
</li>
<li className="govuk-breadcrumbs__list-item">
{props.formTitle}
</li>
</>
) : (
""
)}
<Breadcrumb />
</ol>
</div>
</nav>
<LoadingOverlay
active={showSpinnerState}
spinner
text={t("common:spinner-searching")}
/>
</>
); );
}; };
export default Breadcrumbs; export default Breadcrumbs;
+12 -1
View File
@@ -21,15 +21,26 @@ const CaseSummary = (props) => {
<div className="govuk-grid-column-full"> <div className="govuk-grid-column-full">
<Summary <Summary
myCases={props.myCases} myCases={props.myCases}
myCasesDetails={props.myCasesDetails}
myRepresentations={props.myRepresentations} myRepresentations={props.myRepresentations}
watchedCases={props.watchedCases} watchedCases={props.watchedCases}
awaitingSubmission={props.awaitingSubmission} awaitingSubmission={props.awaitingSubmission}
caseReference={props.caseReference} caseReference={props.caseReference}
currentType={props.currentType} currentType={props.currentType}
appealTypeID={props.appealTypeID}
searchResultsObj={props.searchResultsObj} searchResultsObj={props.searchResultsObj}
searchDetailsObj={props.searchDetailsObj}
searchString={props.searchString} searchString={props.searchString}
incidentid={props.incidentid}
/>
<Documents
incidentid={props.incidentid}
caseReference={props.caseReference}
searchResultsObj={props.searchResultsObj}
searchDetailsObj={props.searchDetailsObj}
documentDetailsObj={props.documentDetailsObj}
documentHistoryObj={props.documentHistoryObj}
/> />
<Documents />
</div> </div>
</div> </div>
</main> </main>
+386 -52
View File
@@ -1,65 +1,399 @@
import Link from "next/link"; import Link from "next/link";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import { useState, useEffect, useRef } from "react";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import transLookup from "../../data/lookuptranslations.json";
import PaginationControl from "./pagination";
import LoadingOverlay from "react-loading-overlay";
export default function CaseSummary() { import {
getBasicSearch,
getBasicSearchDetails,
getSearchDocumentDetails1,
getSearchDocumentHistory1,
getSearchDocumentHistory1Paged,
getSearchDocumentDetails1Paged,
getSASToken,
} from "../../actions";
import {
setSearchResults,
setSearchDetails,
setDocumentDetails,
setDocumentHistory,
getSearchResultsObj,
} from "../../store/searchOutput/action";
const DocumentDetails = (props) => {
let { t } = useTranslation(); let { t } = useTranslation();
const firstRender = useRef(false);
const {
incidentid,
caseReference,
searchResultsObj,
searchDetailsObj,
documentDetailsObj,
documentHistoryObj,
setDocumentDetails,
setDocumentHistory,
} = props;
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
return (
<div> var documentDetailsArr = documentDetailsObj || [];
<div className="govuk-grid-row">
<div className="govuk-grid-column-full"> const DocumentView = (documentDetailsArr) => {
<h2>Documents</h2> //console.log(documentDetailsArr);
<dl className="govuk-summary-list govuk-!-margin-bottom-9 results">
<div className="govuk-summary-list__row results-headings"> documentDetailsArr = documentDetailsArr.value;
<dd className="govuk-summary-list__key govuk-!-font-size-14 govuk-!-padding-left-2"> return (
{t("case:documents-name-label")} <>
</dd> <p>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> {documentDetailsObj["@odata.count"] > 1
{t("case:documents-doc-type-label")} ? t("case:documents-count-label-1")
</dd> : t("case:documents-count-label-1a")}{" "}
<dd className="govuk-summary-list__key govuk-!-font-size-14"> {documentDetailsObj["@odata.count"]}{" "}
{t("case:documents-date-published-label")} {documentDetailsObj["@odata.count"] > 1
</dd> ? t("case:documents-count-label-2")
<dd className="govuk-summary-list__key govuk-!-font-size-14"> : t("case:documents-count-label-2a")}
{t("case:documents-size-label")} </p>
</dd> <dl className="documentList govuk-summary-list govuk-!-margin-bottom-9 results">
</div> <div className="govuk-summary-list__row results-headings">
<div className="govuk-summary-list__row"> <dd className="govuk-summary-list__key govuk-!-font-size-16 ">
<dd className="govuk-summary-list__value govuk-!-font-size-14 govuk-!-padding-left-2"> {t("case:documents-name-label")}
<Link href="/case"> </dd>
<a> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("case:documents-doc-type-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("case:documents-date-published-label")}
</dd>
{/* <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("case:documents-size-label")}
</dd> */}
</div>
{documentDetailsArr.map((item) => {
let detailsObj = jsonpath.query(
item,
"$..[?(@._pinswg_documentids_value=='" +
incidentid +
"')]"
);
detailsObj = item;
if (typeof detailsObj != "undefined") {
var documentHistoryArr = documentHistoryObj || [];
return documentHistoryArr.map(
(historyItem, key) => {
let historyObj = jsonpath.query(
documentHistoryObj[key],
"$..value[?(@._pinswg_documentid_value=='" +
detailsObj.pinswg_documentid +
"')]"
);
historyObj = historyObj[0];
return !_.isEmpty(historyObj) ? (
<div
className="govuk-summary-list__row"
key={key}
>
<dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<a
href={
"/api/proxy/documents/download/" +
detailsObj.pinswg_isharedocumentreference
}
>
<span className="results-visually-hidden">
{t(
"case:documents-name-label"
)}
:
</span>
{_.has(historyObj, [
"_pinswg_documentid_value@OData.Community.Display.V1.FormattedValue",
])
? historyObj[
"_pinswg_documentid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</a>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">
{t(
"case:documents-doc-type-label"
)}
:
</span>
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_isharedocumentlocations@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">
{t(
"case:documents-date-published-label"
)}
:
</span>
{_.has(historyObj, [
"pinswg_publisheddate@OData.Community.Display.V1.FormattedValue",
])
? formatDates(
historyObj[
"pinswg_publisheddate@OData.Community.Display.V1.FormattedValue"
]
)
: ""}
</dd>
{/* <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t("case:documents-name-label")}: {t("case:documents-size-label")}:
</span> </span>
3272770 Appeal Decision.pdf 92
</a> </dd> */}
</Link> </div>
</dd> ) : (
<dd className="govuk-summary-list__value govuk-!-font-size-14"> ""
<span className="results-visually-hidden"> );
{t("case:documents-doc-type-label")}: }
</span> );
Outcome / Decision }
</dd> })}
<dd className="govuk-summary-list__value govuk-!-font-size-14"> </dl>
<span className="results-visually-hidden"> <PaginationControl
{t("case:documents-date-published-label")}: currentPage={currentPage}
</span> searchResultsObj={documentDetailsObj}
15/06/2021 spinnerState={spinnerState}
</dd> getDocumentResults={getDocumentResults}
<dd className="govuk-summary-list__value govuk-!-font-size-14"> />
<span className="results-visually-hidden"> </>
{t("case:documents-size-label")}: );
</span> };
92
</dd> useEffect(() => {
</div> const docDetailsObj = async () => {
</dl> let docObj = await getSearchDocumentDetails1(incidentid)
.then((data) => {
//console.log(data);
setDocumentDetails(data);
return data;
})
.then((data) => {
let historyObj = getDocumentHistory(data.value).then(
(result) => {
setDocumentHistory(result);
setDocumentSearchState(true);
return result;
}
);
return data;
});
return docObj;
};
const getDocumentHistory = async (searchDocumentDetailsObj) => {
let historyArr = [];
searchDocumentDetailsObj = searchDocumentDetailsObj || [];
const detailsObj = searchDocumentDetailsObj.map(
(historyDetail, index) => {
if (historyDetail.pinswg_publishtoweb != true) {
console.log(historyDetail.pinswg_documentid);
} else {
historyArr.push(
getSearchDocumentHistory1(
historyDetail.pinswg_documentid
)
);
}
}
);
return Promise.all(historyArr);
};
const searchDocumentResultsObj = docDetailsObj();
}, [incidentid, setDocumentHistory, setDocumentDetails]);
const getDocumentResults = (pageNumber) => {
//console.log(advancedSearch, searchString, pageNumber);
getSearchDocumentDetails1Paged(incidentid, pageNumber)
.then((data) => {
//console.log(data);
setDocumentDetails(data);
return data;
})
.then((data) => {
//console.log("getting details", data);
return getDocumentHistory(data.value).then((data) => {
setDocumentHistory(data);
setShowSpinnerState(false);
});
});
};
const getDocumentDetails = async () => {
let docObj = await getSearchDocumentDetails1Paged(
incidentid,
pageNumber
)
.then((data) => {
//console.log(data);
setDocumentDetails(data);
return data;
})
.then((data) => {
let historyObj = getDocumentHistory(
data.value,
pageNumber
).then((result) => {
setDocumentHistory(result);
return result;
});
return data;
});
return docObj;
};
const getDocumentHistory = async (searchDocumentDetailsObj, pageNumber) => {
let historyArr = [];
searchDocumentDetailsObj = searchDocumentDetailsObj || [];
const detailsObj = searchDocumentDetailsObj.map(
(historyDetail, index) => {
if (historyDetail.pinswg_publishtoweb != true) {
console.log(historyDetail.pinswg_documentid);
} else {
historyArr.push(
getSearchDocumentHistory1Paged(
historyDetail.pinswg_documentid,
pageNumber
)
);
}
}
);
return Promise.all(historyArr);
};
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;
}
const pagesCount = Math.ceil(documentDetailsObj["@odata.count"] / 10);
let currentPage = 0;
currentPage = decodeURI(documentDetailsObj["@odata.nextLink"]).split(
"skiptoken="
)[1];
currentPage =
typeof currentPage != "undefined"
? parseInt(
decodeURI(currentPage)
.split('pagenumber="')[1]
.slice(
0,
decodeURI(currentPage)
.split('pagenumber="')[1]
.indexOf('"')
) - 1
)
: pagesCount;
const [showSpinnerState, setShowSpinnerState] = useState(false);
let spinnerState = () => {
showSpinnerState == true
? setShowSpinnerState(false)
: setShowSpinnerState(true);
};
const [showDocumentSearchState, setDocumentSearchState] = useState(false);
let documentSearchState = () => {
showDocumentSearchState == true
? setDocumentSearchState(false)
: setDocumentSearchState(true);
};
return (
<>
<div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h2>{t("case:documents-heading-label")}</h2>
{_.isEmpty(documentHistoryObj) ? (
<div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds">
<h3>
{showDocumentSearchState == false
? t("case:documents-checking-label")
: t(
"case:documents-non-available-label"
)}
</h3>
</div>
</div>
) : (
DocumentView(documentDetailsArr)
)}
</div>
</div> </div>
</div> </div>
</div> <LoadingOverlay
active={showSpinnerState}
spinner
text={t("common:spinner-searching")}
/>
</>
); );
} };
const mapStateToProps = (state) => {
return {
...state,
};
};
const mapDispatchToProps = (dispatch) => {
return {
setDocumentDetails: (detailsObj) => {
dispatch(setDocumentDetails(detailsObj));
},
setDocumentHistory: (historyObj) => {
dispatch(setDocumentHistory(historyObj));
},
};
};
export default connect(mapStateToProps, mapDispatchToProps)(DocumentDetails);
+158
View File
@@ -0,0 +1,158 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
const PaginationControl = (props) => {
const {
searchString,
searchResultsObj,
currentPage,
spinnerState,
getDocumentResults,
} = props;
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const pagesCount = Math.ceil(searchResultsObj["@odata.count"] / 10);
const getRange = (start, end) => {
//console.log(start, end);
return Array(end - start + 1)
.fill()
.map((v, i) => i + start);
};
const paginationNumbers = (currentPage, pageCount) => {
//console.log(currentPage);
let delta;
if (pageCount <= 10) {
// delta === 7: [1 2 3 4 5 6 7]
delta = 10;
} else {
// delta === 2: [1 ... 4 5 6 ... 10]
// delta === 4: [1 2 3 4 5 ... 10]
delta = currentPage > 4 && currentPage < pageCount - 3 ? 4 : 6;
}
const range = {
start: Math.round(currentPage - delta / 2),
end: Math.round(currentPage + delta / 2),
};
if (range.start - 1 === 1 || range.end + 1 === pageCount) {
range.start += 1;
range.end += 1;
}
let pages =
currentPage > delta
? getRange(
Math.min(range.start, pageCount - delta),
Math.min(range.end, pageCount)
)
: getRange(1, Math.min(pageCount, delta + 1));
const withDots = (value, pair) =>
pages.length + 1 !== pageCount ? pair : [value];
if (pages[0] !== 1) {
pages = withDots(1, [1, "..."]).concat(pages);
}
if (pages[pages.length - 1] < pageCount) {
pages = pages.concat(withDots(pageCount, ["...", pageCount]));
}
//console.log(pages);
return pages;
};
const paginationArray = paginationNumbers(currentPage, pagesCount);
return (
<>
{pagesCount > 1 ? (
<div className="govuk-!-margin-bottom-7 ">
<div className="govuk-grid-row paginationWrapper">
<div className="govuk-grid-column-one-quarter paginationPrevious">
{currentPage != 1 ? (
<span
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem leftTextButton"
onClick={() => {
spinnerState(),
getDocumentResults(currentPage - 1);
}}
>
{t("common:previous-link-button")}
</span>
) : (
<span className="govuk-body leftTextButton govuk-!-font-weight-bold">
{t("common:previous-link-button")}
</span>
)}
</div>
<div className="govuk-grid-column-one-half paginationContainer">
{paginationArray.map((e, i) =>
currentPage == i + 1 ? (
<span
key={i}
className=" govuk-body govuk-!-padding-2 govuk-!-font-weight-bold "
>
{e}
</span>
) : e == "..." ? (
<span
key={i}
className=" govuk-body govuk-!-padding-2 govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem"
>
{e}
</span>
) : (
<span
className="govuk-body govuk-link govuk-!-padding-2 govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem"
key={i}
onClick={() => {
spinnerState();
console.log(i + 1);
getDocumentResults(i + 1);
}}
>
{e}
</span>
)
)}
</div>
<div className="govuk-grid-column-one-quarter paginationNext">
{currentPage != pagesCount ? (
<span
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem rightTextButton"
onClick={() => {
spinnerState(),
getDocumentResults(currentPage + 1);
}}
>
{t("common:next-link-button")}
</span>
) : (
<span className="govuk-body rightTextButton govuk-!-font-weight-bold">
{" "}
{t("common:next-link-button")}
</span>
)}
</div>
</div>
<div className="govuk-body-s mobilePageCount">
{t("common:pages-label")} {currentPage}{" "}
{t("common:of-label")} {pagesCount}
</div>
</div>
) : (
""
)}
</>
);
};
export default PaginationControl;
+1 -1
View File
@@ -93,7 +93,7 @@ let MakeRepresentation = (props) => {
? setRepresentationCapacity(false) ? setRepresentationCapacity(false)
: setRepresentationCapacity( : setRepresentationCapacity(
formObj["representationForm"].values.representationCapacity formObj["representationForm"].values.representationCapacity
.replace(/[\s\-\+\(\)\,\/]/g, "") .replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
.toLowerCase() .toLowerCase()
); );
+3 -3
View File
@@ -107,7 +107,7 @@ let MakeRepresentation = (props) => {
) )
? false ? false
: formObj["representationForm"].values.representationCapacity : formObj["representationForm"].values.representationCapacity
.replace(/[\s\-\+\(\)\,\/]/g, "") .replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
.toLowerCase(); .toLowerCase();
}; };
@@ -215,14 +215,14 @@ let MakeRepresentation = (props) => {
// console.log(_.isEmpty(currentView.representationCapacity)); // console.log(_.isEmpty(currentView.representationCapacity));
// console.log( // console.log(
// values.representationCapacity // values.representationCapacity
// .replace(/[\s\-\+\(\)\,\/]/g, "") // .replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
// .toLowerCase() == currentView.representationCapacity // .toLowerCase() == currentView.representationCapacity
// ); // );
_.isEmpty(currentView.representationCapacity) _.isEmpty(currentView.representationCapacity)
? setRepresentationCapacity( ? setRepresentationCapacity(
values.representationCapacity values.representationCapacity
.replace(/[\s\-\+\(\)\,\/]/g, "") .replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
.toLowerCase() .toLowerCase()
) )
: setRepresentationSubmit(true); : setRepresentationSubmit(true);
+621 -292
View File
@@ -1,8 +1,46 @@
import Link from "next/link"; import Link from "next/link";
import { useRouter } from "next/router"; 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 useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath"; import jsonpath from "jsonpath";
import _ from "lodash"; 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) => { const CaseSummary = (props) => {
let { t } = useTranslation(); let { t } = useTranslation();
@@ -10,21 +48,31 @@ const CaseSummary = (props) => {
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
const { const {
appealTypeID,
incidentid,
caseReference, caseReference,
myCases, myCases,
myRepresentations, myRepresentations,
watchedCases, watchedCases,
awaitingSubmission, awaitingSubmission,
searchResultsObj, searchResultsObj,
searchDetailsObj,
currentType, currentType,
setCurrentLinkedCases,
linkedCasesReference,
setCurrentReference,
} = props; } = props;
const noRepresentationLink = ["/case", "/dnsdetails"];
let setCaseQueryObj = props[currentType]; let setCaseQueryObj = props[currentType];
let setCaseDetailsObj = props[currentType + "Details"];
var casesObj = {}; var casesObj = {};
currentType == "searchResultsObj" currentType == "searchResultsObj"
? (casesObj = jsonpath.query( ? (casesObj = jsonpath.query(
setCaseQueryObj, searchResultsObj,
'$..[?(@.title=="' + caseReference + '")]' '$..[?(@.title=="' + caseReference + '")]'
)) ))
: (casesObj = jsonpath.query( : (casesObj = jsonpath.query(
@@ -34,298 +82,579 @@ const CaseSummary = (props) => {
casesObj = Object.assign({}, ...casesObj); 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 ? (
<div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7">
{t("case:summary-reference-label")}:{" "}
{currentType == "searchResultsObj"
? detailsObj.pinswg_name
: casesObj.reference}
</h1>
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-applicant-label")}
</dt>
<dd className="govuk-summary-list__value">
{detailsObj[
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
] || "not entered"}
</dd>
</div>
{_.has(detailsObj, "pinswg_agentcontactname") ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-agent-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_agentcontactname"
)
? detailsObj.pinswg_agentcontactname
: ""}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-site-address-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_siteaddressline1"
)
? detailsObj.pinswg_siteaddressline1
: ""}
{_.has(
detailsObj,
"pinswg_siteaddressline1"
) &&
detailsObj.pinswg_siteaddressline1 !=
null && <br />}
{_.has(
detailsObj,
"pinswg_siteaddressline2"
)
? detailsObj.pinswg_siteaddressline2
: ""}
{_.has(
detailsObj,
"pinswg_siteaddressline2"
) &&
detailsObj.pinswg_siteaddressline2 !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddresstown")
? detailsObj.pinswg_siteaddresstown
: ""}
{_.has(
detailsObj,
"pinswg_siteaddresstown"
) &&
detailsObj.pinswg_siteaddresstown !=
null && <br />}
{_.has(
detailsObj,
"pinswg_siteaddresscounty"
)
? detailsObj.pinswg_siteaddresscounty
: ""}
{_.has(
detailsObj,
"pinswg_siteaddresscounty"
) &&
detailsObj.pinswg_siteaddresscounty !=
null && <br />}
{_.has(
detailsObj,
"pinswg_siteaddresspostcode"
)
? detailsObj.pinswg_siteaddresspostcode
: ""}
</dd>
</div>
</dl>
</div>
</div>
{/* <div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{noRepresentationLink.includes(router.pathname) ==
true ? (
""
) : (
<Link href="/representation">
<a className="govuk-button">
{t(
"case:summary-make-representation-label"
)}
</a>
</Link>
)}
<a
onClick={() => {
spinnerState();
router.back();
}}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a>
</div>
</div>
</div> */}
{showSummary(casesObj, detailsObj)}
</div>
) : (
<>
<div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h1>Not details currently held</h1>
</div>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
{noRepresentationLink.includes(router.pathname) ==
true ? (
""
) : (
<Link href="/representation">
<a className="govuk-button">
{t(
"case:summary-make-representation-label"
)}
</a>
</Link>
)}
<a
onClick={() => {
spinnerState();
router.back();
}}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a>
</div>
</div>
</div>
</>
);
function showSummary(casesObj, detailsObj) {
let appealIDObj =
getFormCollectionByID(appealTypeID).PrimaryIdAttribute;
switch (appealIDObj) {
case "pinswg_advertsid":
return (
<Pinswg_advertsid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_callinss77id":
return (
<Pinswg_callinss77id
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_commonlandid":
return (
<Pinswg_commonlandid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_communityinfrastructurelevyid":
return (
<Pinswg_communityinfrastructurelevyid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_compulsorypurchaseordersid":
return (
<Pinswg_compulsorypurchaseordersid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_dnsid":
return (
<Pinswg_dnsid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_electricityactid":
return (
<Pinswg_electricityactid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_enforcementlistedbuildingconseid":
return (
<Pinswg_enforcementlistedbuildingconseid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_enforcementnoticeappeals174id":
return (
<Pinswg_enforcementnoticeappeals174id
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_environmentalpermittingid":
return (
<Pinswg_environmentalpermittingid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_harbourrevisionorderid":
return (
<Pinswg_harbourrevisionorderid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_hedgeshedgerowstreepreservatioid":
return (
<Pinswg_hedgeshedgerowstreepreservatioid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_householderappealhasid":
return (
<Pinswg_householderappealhasid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_lawfuldevelopmentcertificatappid":
return (
<Pinswg_lawfuldevelopmentcertificatappid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_ldpid":
return (
<Pinswg_ldpid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_listedbuildingandconservationrid":
return (
<Pinswg_listedbuildingandconservationrid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_maintenanceoflands217id":
return (
<Pinswg_maintenanceoflands217id
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_miscellaneouscasewordid":
return (
<Pinswg_miscellaneouscasewordid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_nonvalidationid":
return (
<Pinswg_nonvalidationid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_planningappeals78id":
return (
<Pinswg_planningappeals78id
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_planningconditionss73s79id":
return (
<Pinswg_planningconditionss73s79id
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_planningobligationappeals106id":
return (
<Pinswg_planningobligationappeals106id
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_rowid":
return (
<Pinswg_rowid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_transportandworkactid":
return (
<Pinswg_transportandworkactid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
break;
case "pinswg_wayleaveid":
return (
<Pinswg_wayleaveid
casesObj={casesObj}
detailsObj={detailsObj}
formatDates={formatDates}
linkedCasesList={linkedCasesList}
currentView={props.currentView}
/>
);
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 (
<>
<ul className="govuk-list govuk-!-font-size-14">
{linkedCasesReference.map((item, key) => {
return (
<li key={key}>
<Link
href={
router.locale == "cy"
? "/achos"
: "/case"
}
>
<a
onClick={() => {
setCurrentReference({
"currentReference": item.title,
"currentType":
"searchResultsObj",
"incidentid": item.incidentid,
});
}}
className=""
>
{item.title}
</a>
</Link>
</li>
);
// console.log(item.incidentid, item.title);
})}
</ul>
</>
);
}
return ( return (
<div> <>
<div className="govuk-grid-row"> {showDetailsBlock}
<div className="govuk-grid-column-full"> <LoadingOverlay
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7"> active={showSpinnerState}
Reference:{" "} spinner
{currentType == "searchResultsObj" text={t("common:spinner-searching")}
? casesObj.title />{" "}
: casesObj.reference} </>
</h1>
<dl className="govuk-summary-list govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-applicant-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.appellantApplicant || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-agent-label")}
</dt>
<dd className="govuk-summary-list__value">
Mr A Agent
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-site-address-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.address1 || ""}
<br />
{casesObj.town || ""}
<br />
{casesObj.postcode || ""}
</dd>
</div>
</dl>
</div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
<Link href="/representation">
<a className="govuk-button">
{t("case:summary-make-representation-label")}
</a>
</Link>
<a
onClick={() => router.back()}
className="govuk-button govuk-button--secondary"
>
{t("case:summary-back-button-label")}
</a>
</div>
</div>
</div>
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] || "N/A"}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.lpaname || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-summary-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDetails.caseSummary ||
""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-officer-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{casesObj.caseDetails.caseOfficer ||
""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDetails.procedure ||
""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDetails.decision ||
""}
<br />
<Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link>
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDetails
.caseLinkStatus || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDetails.linkedCases ||
""}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDates.start_date ||
"N/A"}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDates
.questionnaireDue || "N/A"}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDates.statementsDue ||
"N/A"}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDates
.interestedPartyCommentsdue ||
"N/A"}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDates
.appellantLPAFinalCommentsdue ||
"N/A"}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDates
.inquiryEvidenceDue || "N/A"}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDates.eventDate ||
"N/A"}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-decision-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{casesObj.caseDates.decisionDate ||
"N/A"}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
{/* <div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
<Link href="/advancedsearch">
<a className="govuk-button">
{t("case:summary-documents-button-label")}
</a>
</Link>
</div>
</div>
</div> */}
</div>
); );
}; };
export default CaseSummary; 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);
@@ -0,0 +1,357 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_advertsid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_advertsid;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_callinss77id = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_callinss77id;
@@ -0,0 +1,453 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_commonlandid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-relevant-authoritylabel"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
)
: detailsObj.pinswg_relevantauthorityname ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_commonlandid;
@@ -0,0 +1,356 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_communityinfrastructurelevyid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_communityinfrastructurelevyid;
@@ -0,0 +1,435 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_compulsorypurchaseordersid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-relevant-authoritylabel"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
)
: detailsObj.pinswg_relevantauthorityname ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_compulsorypurchaseordersid;
@@ -0,0 +1,811 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_dnsid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<>
{detailsObj.pinswg_projectdescription != null ||
detailsObj.pinswg_projectlocation != null ? (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-project-details-label")}
</h2>
<p className="govuk-body">
{detailsObj.pinswg_projectdescription != null
? router.locale == "cy"
? detailsObj.pinswg_projectdescription.split(
";"
)[1]
: detailsObj.pinswg_projectdescription.split(
";"
)[0]
: ""}
</p>
<p className="govuk-body">
{detailsObj.pinswg_projectlocation != null
? router.locale == "cy"
? detailsObj.pinswg_projectlocation.split(
";"
)[1]
: detailsObj.pinswg_projectlocation.split(
";"
)[0]
: ""}
</p>
</div>
</div>
</div>
) : (
""
)}
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-officer-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-recommendation-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_recommendation +
'")].value_cy'
)
: detailsObj.pinswg_recommendation ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-website-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_webaddress +
'")].value_cy'
)
: detailsObj.pinswg_webaddress ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-decision-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-accepted-as-valid"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_applicationacceptedasvalid"
)
? !_.isEmpty(
detailsObj.pinswg_applicationacceptedasvalid
)
? formatDates(
detailsObj.pinswg_applicationacceptedasvalid
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-rejected-as-invalid"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_applicationrejectedasinvalid"
)
? !_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid
)
? formatDates(
detailsObj.pinswg_applicationrejectedasinvalid
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-confirm-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_confirmrequesttovaryapplication"
)
? !_.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_confirmrequesttovaryapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-decisions"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofdecision"
)
? !_.isEmpty(
detailsObj.pinswg_dateofdecision
)
? formatDates(
detailsObj.pinswg_dateofdecision
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-request-to-vary"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofrequesttovarytheapplication"
)
? !_.isEmpty(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
? formatDates(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_dateofsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_dateofsubmissionofapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-project-published-to-website"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateprojectpublishedonwebsite"
)
? !_.isEmpty(
detailsObj.pinswg_dateprojectpublishedonwebsite
)
? formatDates(
detailsObj.pinswg_dateprojectpublishedonwebsite
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-deadline-for-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_deadlineforsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-end-of-representation-period"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_endofrepresentationperiod"
)
? !_.isEmpty(
detailsObj.pinswg_endofrepresentationperiod
)
? formatDates(
detailsObj.pinswg_endofrepresentationperiod
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inspector-report-submission-to-welsh-government"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_inspectorreportsubmittedtowelshgovernment"
)
? !_.isEmpty(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
? formatDates(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-procedure-confirmed"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_procedureconfirmed"
)
? !_.isEmpty(
detailsObj.pinswg_procedureconfirmed
)
? formatDates(
detailsObj.pinswg_procedureconfirmed
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-reject-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_rejectrequesttovaryapplication"
)
? !_.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_rejectrequesttovaryapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-report-due-by")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_reportdueby"
)
? !_.isEmpty(
detailsObj.pinswg_reportdueby
)
? formatDates(
detailsObj.pinswg_reportdueby
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-suspension-dates")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensiondates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensiondates
)
? formatDates(
detailsObj.pinswg_suspensiondates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-end-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensionenddates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensionenddates
)
? formatDates(
detailsObj.pinswg_suspensionenddates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-start-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensionstartdates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensionstartdates
)
? formatDates(
detailsObj.pinswg_suspensionstartdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-valid-notice-of-intention-to-submit-an-application"
)}
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_validnoticeofintentiontosubmitanapplicati"
)
? !_.isEmpty(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
? formatDates(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-withdrawn-date")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_withdrawndate"
)
? !_.isEmpty(
detailsObj.pinswg_withdrawndate
)
? formatDates(
detailsObj.pinswg_withdrawndate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-written-acceptance-of-notice"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_writtenacceptanceofnotification"
)
? !_.isEmpty(
detailsObj.pinswg_writtenacceptanceofnotification
)
? formatDates(
detailsObj.pinswg_writtenacceptanceofnotification
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
</>
);
};
export default Pinswg_dnsid;
@@ -0,0 +1,810 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_electricityactid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<>
{detailsObj.pinswg_projectdescription != null ||
detailsObj.pinswg_projectlocation != null ? (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-project-details-label")}
</h2>
<p className="govuk-body">
{detailsObj.pinswg_projectdescription != null
? router.locale == "cy"
? detailsObj.pinswg_projectdescription.split(
";"
)[1]
: detailsObj.pinswg_projectdescription.split(
";"
)[0]
: ""}
</p>
<p className="govuk-body">
{detailsObj.pinswg_projectlocation != null
? router.locale == "cy"
? detailsObj.pinswg_projectlocation.split(
";"
)[1]
: detailsObj.pinswg_projectlocation.split(
";"
)[0]
: ""}
</p>
</div>
</div>
</div>
) : (
""
)}
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-officer-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-recommendation-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_recommendation +
'")].value_cy'
)
: detailsObj.pinswg_recommendation ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-website-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_webaddress +
'")].value_cy'
)
: detailsObj.pinswg_webaddress ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-decision-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-accepted-as-valid"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_applicationacceptedasvalid"
)
? !_.isEmpty(
detailsObj.pinswg_applicationacceptedasvalid
)
? formatDates(
detailsObj.pinswg_applicationacceptedasvalid
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-rejected-as-invalid"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_applicationrejectedasinvalid"
)
? !_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid
)
? formatDates(
detailsObj.pinswg_applicationrejectedasinvalid
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-confirm-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_confirmrequesttovaryapplication"
)
? !_.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_confirmrequesttovaryapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-decisions"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofdecision"
)
? !_.isEmpty(
detailsObj.pinswg_dateofdecision
)
? formatDates(
detailsObj.pinswg_dateofdecision
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-request-to-vary"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofrequesttovarytheapplication"
)
? !_.isEmpty(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
? formatDates(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_dateofsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_dateofsubmissionofapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-project-published-to-website"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateprojectpublishedonwebsite"
)
? !_.isEmpty(
detailsObj.pinswg_dateprojectpublishedonwebsite
)
? formatDates(
detailsObj.pinswg_dateprojectpublishedonwebsite
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-deadline-for-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_deadlineforsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-end-of-representation-period"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_endofrepresentationperiod"
)
? !_.isEmpty(
detailsObj.pinswg_endofrepresentationperiod
)
? formatDates(
detailsObj.pinswg_endofrepresentationperiod
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inspector-report-submission-to-welsh-government"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_inspectorreportsubmittedtowelshgovernment"
)
? !_.isEmpty(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
? formatDates(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-procedure-confirmed"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_procedureconfirmed"
)
? !_.isEmpty(
detailsObj.pinswg_procedureconfirmed
)
? formatDates(
detailsObj.pinswg_procedureconfirmed
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-reject-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_rejectrequesttovaryapplication"
)
? !_.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_rejectrequesttovaryapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-report-due-by")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_reportdueby"
)
? !_.isEmpty(
detailsObj.pinswg_reportdueby
)
? formatDates(
detailsObj.pinswg_reportdueby
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-suspension-dates")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensiondates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensiondates
)
? formatDates(
detailsObj.pinswg_suspensiondates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-end-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensionenddates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensionenddates
)
? formatDates(
detailsObj.pinswg_suspensionenddates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-start-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensionstartdates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensionstartdates
)
? formatDates(
detailsObj.pinswg_suspensionstartdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-valid-notice-of-intention-to-submit-an-application"
)}
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_validnoticeofintentiontosubmitanapplicati"
)
? !_.isEmpty(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
? formatDates(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-withdrawn-date")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_withdrawndate"
)
? !_.isEmpty(
detailsObj.pinswg_withdrawndate
)
? formatDates(
detailsObj.pinswg_withdrawndate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-written-acceptance-of-notice"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_writtenacceptanceofnotification"
)
? !_.isEmpty(
detailsObj.pinswg_writtenacceptanceofnotification
)
? formatDates(
detailsObj.pinswg_writtenacceptanceofnotification
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
</>
);
};
export default Pinswg_electricityactid;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_enforcementlistedbuildingconseid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_enforcementlistedbuildingconseid;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_enforcementnoticeappeals174id = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_enforcementnoticeappeals174id;
@@ -0,0 +1,453 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_environmentalpermittingid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-relevant-authoritylabel"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
)
: detailsObj.pinswg_relevantauthorityname ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_environmentalpermittingid;
@@ -0,0 +1,810 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_harbourrevisionorderid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<>
{detailsObj.pinswg_projectdescription != null ||
detailsObj.pinswg_projectlocation != null ? (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-project-details-label")}
</h2>
<p className="govuk-body">
{detailsObj.pinswg_projectdescription != null
? router.locale == "cy"
? detailsObj.pinswg_projectdescription.split(
";"
)[1]
: detailsObj.pinswg_projectdescription.split(
";"
)[0]
: ""}
</p>
<p className="govuk-body">
{detailsObj.pinswg_projectlocation != null
? router.locale == "cy"
? detailsObj.pinswg_projectlocation.split(
";"
)[1]
: detailsObj.pinswg_projectlocation.split(
";"
)[0]
: ""}
</p>
</div>
</div>
</div>
) : (
""
)}
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-officer-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-recommendation-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_recommendation +
'")].value_cy'
)
: detailsObj.pinswg_recommendation ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-website-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_webaddress +
'")].value_cy'
)
: detailsObj.pinswg_webaddress ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-decision-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-accepted-as-valid"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_applicationacceptedasvalid"
)
? !_.isEmpty(
detailsObj.pinswg_applicationacceptedasvalid
)
? formatDates(
detailsObj.pinswg_applicationacceptedasvalid
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-rejected-as-invalid"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_applicationrejectedasinvalid"
)
? !_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid
)
? formatDates(
detailsObj.pinswg_applicationrejectedasinvalid
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-confirm-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_confirmrequesttovaryapplication"
)
? !_.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_confirmrequesttovaryapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-decisions"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofdecision"
)
? !_.isEmpty(
detailsObj.pinswg_dateofdecision
)
? formatDates(
detailsObj.pinswg_dateofdecision
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-request-to-vary"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofrequesttovarytheapplication"
)
? !_.isEmpty(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
? formatDates(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_dateofsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_dateofsubmissionofapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-project-published-to-website"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateprojectpublishedonwebsite"
)
? !_.isEmpty(
detailsObj.pinswg_dateprojectpublishedonwebsite
)
? formatDates(
detailsObj.pinswg_dateprojectpublishedonwebsite
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-deadline-for-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_deadlineforsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-end-of-representation-period"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_endofrepresentationperiod"
)
? !_.isEmpty(
detailsObj.pinswg_endofrepresentationperiod
)
? formatDates(
detailsObj.pinswg_endofrepresentationperiod
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inspector-report-submission-to-welsh-government"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_inspectorreportsubmittedtowelshgovernment"
)
? !_.isEmpty(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
? formatDates(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-procedure-confirmed"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_procedureconfirmed"
)
? !_.isEmpty(
detailsObj.pinswg_procedureconfirmed
)
? formatDates(
detailsObj.pinswg_procedureconfirmed
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-reject-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_rejectrequesttovaryapplication"
)
? !_.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_rejectrequesttovaryapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-report-due-by")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_reportdueby"
)
? !_.isEmpty(
detailsObj.pinswg_reportdueby
)
? formatDates(
detailsObj.pinswg_reportdueby
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-suspension-dates")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensiondates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensiondates
)
? formatDates(
detailsObj.pinswg_suspensiondates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-end-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensionenddates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensionenddates
)
? formatDates(
detailsObj.pinswg_suspensionenddates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-start-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensionstartdates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensionstartdates
)
? formatDates(
detailsObj.pinswg_suspensionstartdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-valid-notice-of-intention-to-submit-an-application"
)}
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_validnoticeofintentiontosubmitanapplicati"
)
? !_.isEmpty(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
? formatDates(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-withdrawn-date")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_withdrawndate"
)
? !_.isEmpty(
detailsObj.pinswg_withdrawndate
)
? formatDates(
detailsObj.pinswg_withdrawndate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-written-acceptance-of-notice"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_writtenacceptanceofnotification"
)
? !_.isEmpty(
detailsObj.pinswg_writtenacceptanceofnotification
)
? formatDates(
detailsObj.pinswg_writtenacceptanceofnotification
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
</>
);
};
export default Pinswg_harbourrevisionorderid;
@@ -0,0 +1,453 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_hedgeshedgerowstreepreservatioid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-relevant-authoritylabel"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
)
: detailsObj.pinswg_relevantauthorityname ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_hedgeshedgerowstreepreservatioid;
@@ -0,0 +1,382 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_householderappealhasid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_householderappealhasid;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_lawfuldevelopmentcertificatappid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_lawfuldevelopmentcertificatappid;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_ldpid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_ldpid;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_listedbuildingandconservationrid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_listedbuildingandconservationrid;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_maintenanceoflands217id = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_maintenanceoflands217id;
@@ -0,0 +1,453 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_miscellaneouscasewordid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-relevant-authoritylabel"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
)
: detailsObj.pinswg_relevantauthorityname ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_miscellaneouscasewordid;
@@ -0,0 +1,228 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_nonvalidationid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_nonvalidationid;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_planningappeals78id = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_planningappeals78id;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_planningconditionss73s79id = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_planningconditionss73s79id;
@@ -0,0 +1,433 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_planningobligationappeals106id = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_planningobligationappeals106id;
@@ -0,0 +1,453 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_rowid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-relevant-authoritylabel"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
)
: detailsObj.pinswg_relevantauthorityname ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_rowid;
@@ -0,0 +1,664 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_transportandworkactid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<>
{detailsObj.pinswg_projectdescription != null ||
detailsObj.pinswg_projectlocation != null ? (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-project-details-label")}
</h2>
<p className="govuk-body">
{detailsObj.pinswg_projectdescription != null
? router.locale == "cy"
? detailsObj.pinswg_projectdescription.split(
";"
)[1]
: detailsObj.pinswg_projectdescription.split(
";"
)[0]
: ""}
</p>
<p className="govuk-body">
{detailsObj.pinswg_projectlocation != null
? router.locale == "cy"
? detailsObj.pinswg_projectlocation.split(
";"
)[1]
: detailsObj.pinswg_projectlocation.split(
";"
)[0]
: ""}
</p>
</div>
</div>
</div>
) : (
""
)}
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-recommendation-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_recommendation +
'")].value_cy'
)
: detailsObj.pinswg_recommendation ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-website-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_webaddress +
'")].value_cy'
)
: detailsObj.pinswg_webaddress ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-decision-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-accepted-as-valid"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_applicationacceptedasvalid"
)
? !_.isEmpty(
detailsObj.pinswg_applicationacceptedasvalid
)
? formatDates(
detailsObj.pinswg_applicationacceptedasvalid
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-application-rejected-as-invalid"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_applicationrejectedasinvalid"
)
? !_.isEmpty(
detailsObj.pinswg_applicationrejectedasinvalid
)
? formatDates(
detailsObj.pinswg_applicationrejectedasinvalid
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-confirm-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_confirmrequesttovaryapplication"
)
? !_.isEmpty(
detailsObj.pinswg_confirmrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_confirmrequesttovaryapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-decisions"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofdecision"
)
? !_.isEmpty(
detailsObj.pinswg_dateofdecision
)
? formatDates(
detailsObj.pinswg_dateofdecision
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-request-to-vary"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofrequesttovarytheapplication"
)
? !_.isEmpty(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
? formatDates(
detailsObj.pinswg_dateofrequesttovarytheapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-of-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateofsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_dateofsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_dateofsubmissionofapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-date-project-published-to-website"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateprojectpublishedonwebsite"
)
? !_.isEmpty(
detailsObj.pinswg_dateprojectpublishedonwebsite
)
? formatDates(
detailsObj.pinswg_dateprojectpublishedonwebsite
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-deadline-for-submission-of-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_deadlineforsubmissionofapplication"
)
? !_.isEmpty(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
? formatDates(
detailsObj.pinswg_deadlineforsubmissionofapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-end-of-representation-period"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_endofrepresentationperiod"
)
? !_.isEmpty(
detailsObj.pinswg_endofrepresentationperiod
)
? formatDates(
detailsObj.pinswg_endofrepresentationperiod
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inspector-report-submission-to-welsh-government"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_inspectorreportsubmittedtowelshgovernment"
)
? !_.isEmpty(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
? formatDates(
detailsObj.pinswg_inspectorreportsubmittedtowelshgovernment
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-procedure-confirmed"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_procedureconfirmed"
)
? !_.isEmpty(
detailsObj.pinswg_procedureconfirmed
)
? formatDates(
detailsObj.pinswg_procedureconfirmed
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-reject-request-to-vary-application"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_rejectrequesttovaryapplication"
)
? !_.isEmpty(
detailsObj.pinswg_rejectrequesttovaryapplication
)
? formatDates(
detailsObj.pinswg_rejectrequesttovaryapplication
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-report-due-by")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_reportdueby"
)
? !_.isEmpty(
detailsObj.pinswg_reportdueby
)
? formatDates(
detailsObj.pinswg_reportdueby
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-suspension-dates")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensiondates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensiondates
)
? formatDates(
detailsObj.pinswg_suspensiondates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-end-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensionenddates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensionenddates
)
? formatDates(
detailsObj.pinswg_suspensionenddates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-suspension-start-dates"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_suspensionstartdates"
)
? !_.isEmpty(
detailsObj.pinswg_suspensionstartdates
)
? formatDates(
detailsObj.pinswg_suspensionstartdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-valid-notice-of-intention-to-submit-an-application"
)}
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_validnoticeofintentiontosubmitanapplicati"
)
? !_.isEmpty(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
? formatDates(
detailsObj.pinswg_validnoticeofintentiontosubmitanapplicati
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-withdrawn-date")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_withdrawndate"
)
? !_.isEmpty(
detailsObj.pinswg_withdrawndate
)
? formatDates(
detailsObj.pinswg_withdrawndate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-written-acceptance-of-notice"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_writtenacceptanceofnotification"
)
? !_.isEmpty(
detailsObj.pinswg_writtenacceptanceofnotification
)
? formatDates(
detailsObj.pinswg_writtenacceptanceofnotification
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
</>
);
};
export default Pinswg_transportandworkactid;
@@ -0,0 +1,453 @@
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../../data/lookuptranslations.json";
const Pinswg_wayleaveid = (props) => {
let { t } = useTranslation();
const { casesObj, detailsObj, formatDates, linkedCasesList } = props;
const router = useRouter();
const { locale } = router;
return (
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h2 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-case-details-label")}
</h2>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-type-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-lpa-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-case-officer-label")}
</dt>
<dd className="govuk-summary-list__value">
{" "}
{/* {casesObj.caseDetails.caseOfficer ||
""} */}
{_.has(casesObj, "_ownerid_value")
? casesObj[
"_ownerid_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-procedure-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_procedure@OData.Community.Display.V1.FormattedValue"
] || ""}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-status-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: casesObj[
"statuscode@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-label")}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: detailsObj[
"pinswg_decision@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-no-date-entered-label"
)}
<br />
{/* <Link href="/">
<a>
{casesObj.caseDetails
.outcome_document || ""}
</a>
</Link> */}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-link-status-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(casesObj, [
"numberofchildincidents",
])
? casesObj.numberofchildincidents >
0
? t(
"case:summary-case-link-status-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)
: t(
"case:summary-case-link-status-not-linked"
)}
</dd>
</div>
{casesObj.numberofchildincidents > 0 ? (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-linked-cases-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{linkedCasesList(
props.currentView
.linkedCaseReferences
)}
</dd>
</div>
) : (
""
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-case-relevant-authoritylabel"
)}
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
detailsObj.pinswg_relevantauthorityname +
'")].value_cy'
)
: detailsObj.pinswg_relevantauthorityname ||
t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
<div className="card" id="casescomment-card">
<div className="card-body">
<div className="govuk-grid-column-full">
<h3 className="govuk-heading-m govuk-!-margin-bottom-7">
{t("case:summary-dates-label")}
</h3>
<dl className="govuk-summary-list govuk-!-font-size-14 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-start-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(detailsObj, "pinswg_startdate")
? !_.isEmpty(
detailsObj.pinswg_startdate
)
? formatDates(
detailsObj.pinswg_startdate
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_startdates"
)
? !_.isEmpty(
detailsObj.pinswg_startdates
)
? formatDates(
detailsObj.pinswg_startdates
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-questionnaire-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_questionnaireduedate"
)
? !_.isEmpty(
detailsObj.pinswg_questionnaireduedate
)
? formatDates(
detailsObj.pinswg_questionnaireduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-statement-due-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_statementduedate"
)
? !_.isEmpty(
detailsObj.pinswg_statementduedate
)
? formatDates(
detailsObj.pinswg_statementduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-interested-party-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_otherpartiesstatement"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatement
)
? formatDates(
detailsObj.pinswg_otherpartiesstatement
)
: t(
"case:summary-no-date-entered-label"
)
: _.has(
detailsObj,
"pinswg_otherpartiesstatements"
)
? !_.isEmpty(
detailsObj.pinswg_otherpartiesstatements
)
? formatDates(
detailsObj.pinswg_otherpartiesstatements
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-applicant-final-comments-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_finalcommentsduedate"
)
? !_.isEmpty(
detailsObj.pinswg_finalcommentsduedate
)
? formatDates(
detailsObj.pinswg_finalcommentsduedate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-inquiry-evidence-date-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_proofsofevidencewrittenstatementsofeviden"
)
? !_.isEmpty(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
? formatDates(
detailsObj.pinswg_proofsofevidencewrittenstatementsofeviden
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-event-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_dateeventrequested"
)
? !_.isEmpty(
detailsObj.pinswg_dateeventrequested
)
? formatDates(
detailsObj.pinswg_dateeventrequested
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t("case:summary-decision-date-label")}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casedecisiondate"
)
? !_.isEmpty(
detailsObj.pinswg_casedecisiondate
)
? formatDates(
detailsObj.pinswg_casedecisiondate
)
: t(
"case:summary-no-date-entered-label"
)
: t(
"case:summary-no-date-entered-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
);
};
export default Pinswg_wayleaveid;
+114 -44
View File
@@ -1,57 +1,127 @@
import CookieConsent from "react-cookie-consent"; import CookieConsent from "react-cookie-consent";
import Link from "next/link"; import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import cookie from "cookie-cutter";
import { useState, useEffect } from "react";
const CookieBanner = () => { const CookieBanner = () => {
let { t, lang } = useTranslation();
const router = useRouter();
const { locale } = router;
const [bannerVisible, setBannerVisible] = useState(true);
const accept = () => {
let now = new Date();
let expDate = new Date(now);
expDate.setDate(now.getDate() + 365);
console.log(expDate);
cookie.set("planning_casework", true, {
expires: expDate,
});
setBannerVisible(false);
};
return ( return (
<CookieConsent <>
style={{ {bannerVisible ? (
position: "inherit", <CookieConsent
background: "#f3f2f1", style={{
display: "block", position: "inherit",
}} background: "#eeeeee",
containerClasses="app-cookie-banner" display: "block",
buttonClasses="govuk-button" }}
buttonWrapperClasses="govuk-width-container consentBanner" containerClasses="app-cookie-banner"
declineButtonClasses="govuk-button" buttonClasses="cookies-banner__button"
buttonText="Accept all cookies" buttonWrapperClasses="govuk-width-container consentBanner hidden"
disableStyles={true} declineButtonClasses="cookies-banner__button"
enableDeclineButton={true} buttonText={t("common:cookie-banner-accept")}
flipButtons={true} declineButtonText={t("common:cookie-banner-decline")}
hideOnAccept={true} disableStyles={true}
cookieName="planning_casework" enableDeclineButton={true}
> flipButtons={true}
<div className="app-cookie-banner"> hideOnAccept={true}
<div cookieName="planning_casework"
id="global-cookie-message"
className="govuk-clearfix"
data-module="cookie-banner"
role="region"
aria-label="cookie banner"
data-nosnippet=""
> >
<div className="govuk-width-container"> <div className="app-cookie-banner">
<div className="govuk-grid-row"> <div
<div className="govuk-grid-column-two-thirds"> id="global-cookie-message"
<div className=""> className="govuk-clearfix"
<h2 className="govuk-heading-m"> data-module="cookie-banner"
Tell us whether you accept cookies role="region"
</h2> aria-label="cookie banner"
<p className="govuk-body"> data-nosnippet=""
GOV.UK uses cookies which are essential >
for the site to work. We also use <div className="govuk-width-container">
non-essential cookies to help us improve <div className="govuk-grid-row">
government digital services. Any data <div className="govuk-grid-column-two-thirds">
collected is anonymised. By continuing <div className="">
to use this site, you agree to our use <p className="cookies-banner__description">
of cookies. {t(
</p> "common:cookie-banner-line-1"
)}
</p>
<ul className="cookies-banner__description">
<li>
{" "}
{t(
"common:cookie-banner-list-item-1"
)}
</li>
</ul>
<p className="cookies-banner__description">
{t(
"common:cookie-banner-line-2"
)}
</p>
<ul className="cookies-banner__description">
<li>
{t(
"common:cookie-banner-list-item-2"
)}
</li>
<li>
{t(
"common:cookie-banner-list-item-3"
)}
</li>
</ul>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
<div className="govuk-width-container consentBannerShow">
<button
className="cookies-banner__button"
id="rcc-confirm-button"
aria-label="Accept cookies"
onClick={() => {
accept();
}}
>
{t("common:cookie-banner-accept")}
</button>
<Link href="/help/cookies">
<a
className="cookies-banner__button govuk-link--no-underline"
id="rcc-decline-button"
aria-label="Decline cookies"
>
{t("common:cookie-banner-change-settings")}
</a>
</Link>
</div>
</div> </div>
</div> </CookieConsent>
</div> ) : (
</CookieConsent> ""
)}
</>
); );
}; };
+455
View File
@@ -0,0 +1,455 @@
import Link from "next/link";
import { useRouter } from "next/router";
import { useContext, useEffect, useState } from "react";
import useTranslation from "next-translate/useTranslation";
import { Field, reduxForm } from "redux-form";
import { parseCookies, setCookie, destroyCookie } from "nookies";
import { connect } from "react-redux";
import cookie from "cookie-cutter";
const CookieManagementMain = (props) => {
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const { handleSubmit } = props;
const onHandleSubmit = (values) => {
Object.assign(values, {
"essential": "accepted",
"usage": usageState,
"communications": communicationsState,
"settings": settingsState,
});
let now = new Date();
let expDate = new Date(now);
expDate.setDate(now.getDate() + 365);
cookie.set("pinsCookiePolicy", JSON.stringify(values).toString(), {
expires: expDate,
});
cookie.set("planning_casework", true, {
expires: expDate,
});
};
let cookieCheck = parseCookies();
let cookieObj =
typeof cookieCheck.pinsCookiePolicy == "undefined"
? {}
: JSON.parse(cookieCheck.pinsCookiePolicy);
const [usageState, setUsageState] = useState(
typeof cookieCheck.pinsCookiePolicy == "undefined"
? null
: cookieObj.usage
);
const [communicationsState, setCommunicationsState] = useState(
typeof cookieCheck.pinsCookiePolicy == "undefined"
? null
: cookieObj.communications
);
const [settingsState, setSettingsState] = useState(
typeof cookieCheck.pinsCookiePolicy == "undefined"
? null
: cookieObj.settings
);
let updateObj = (key, value) => {
switch (key) {
case "usage":
setUsageState(value);
break;
case "communications":
setCommunicationsState(value);
break;
case "settings":
setSettingsState(value);
break;
default:
// code block
}
};
const CookieForm = () => {
return (
<main
className="govuk-main-wrapper govuk-!-padding-top-4 govuk-main-wrapper--auto-spacing"
id="main-content"
role="main"
>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h1 className="govuk-heading-xl govuk-!-margin-bottom-5">
{t("cookies:cookie-title-heading")}
</h1>
<hr className="govuk-section-break govuk-section-break--visible" />
{typeof cookieCheck.pinsCookiePolicy == "undefined" ? (
<>
<div className="govuk-inset-text paragraph--type--call-out-message">
<h2 className="govuk-heading-l">
{t("cookies:cookie-not-saved-heading")}
</h2>
<p className="govuk-body">
{t(
"cookies:cookie-not-saved-paragraph"
)}
</p>
</div>
</>
) : (
""
)}
<div
className={
typeof cookieCheck.pinsCookiePolicy !=
"undefined"
? "govuk-body govuk-!-margin-top-5"
: "govuk-body"
}
>
<p className="govuk-body">
{t("cookies:cookie-intro-paragraph-1")}
</p>
<p className="govuk-body">
{t("cookies:cookie-intro-paragraph-2")}
</p>
<p className="govuk-body">
{t("cookies:cookie-intro-paragraph-3")}
</p>
</div>
<div id="cookies-js">
<form onSubmit={handleSubmit(onHandleSubmit)}>
<div>
<h3 className="govuk-heading-l">
{t("cookies:cookie-settings-heading")}
</h3>
</div>
<fieldset className="govuk-fieldset">
<legend className="govuk-fieldset__legend">
<h4 className="govuk-!-font-size-27">
{t(
"cookies:cookie-settings-usage-heading"
)}
</h4>
<p className="govuk-body">
{t(
"cookies:cookie-settings-usage-paragraph-1"
)}
</p>
<ul className="govuk-list govuk-list--bullet">
<li>
{t(
"cookies:cookie-settings-usage-list-item-1"
)}
</li>
<li>
{t(
"cookies:cookie-settings-usage-list-item-2"
)}
</li>
<li>
{t(
"cookies:cookie-settings-usage-list-item-3"
)}
</li>
</ul>
<p className="govuk-body">
{t(
"cookies:cookie-settings-usage-list-item-4"
)}
</p>
<div className="govuk-radios govuk-radios--small">
<div className="govuk-radios__item">
<input
name="usage"
className="govuk-radios__input"
id="usage-1"
component="input"
type="radio"
value="revoked"
checked={
usageState === "revoked"
}
onChange={() => {
updateObj(
"usage",
"revoked"
);
}}
/>
<label
className="govuk-label govuk-radios__label"
htmlFor="usage-1"
>
{t(
"cookies:cookie-settings-usage-radio-1-label"
)}
</label>
</div>
<div className="govuk-radios__item">
<input
className="govuk-radios__input"
id="usage-2"
name="usage"
type="radio"
value="accepted"
component="input"
checked={
usageState ===
"accepted"
}
onChange={() => {
updateObj(
"usage",
"accepted"
);
}}
/>
<label
className="govuk-label govuk-radios__label"
htmlFor="usage-2"
>
{t(
"cookies:cookie-settings-usage-radio-2-label"
)}
</label>
</div>
</div>
</legend>
</fieldset>
<fieldset className="govuk-fieldset">
<legend className="govuk-fieldset__legend">
<h4 className="govuk-!-font-size-27">
{t(
"cookies:cookie-settings-communications-heading"
)}
</h4>
<p className="govuk-body">
{t(
"cookies:cookie-settings-communications-paragraph-1"
)}
</p>
</legend>
<div className="govuk-radios govuk-radios--small">
<div className="govuk-radios__item">
<input
className="govuk-radios__input"
id="communications-1"
name="communications"
type="radio"
value="revoked"
component="input"
checked={
communicationsState ===
"revoked"
}
onChange={() => {
updateObj(
"communications",
"revoked"
);
}}
/>
<label
className="govuk-label govuk-radios__label"
htmlFor="communications-1"
>
{t(
"cookies:cookie-settings-communications-radio-1-label"
)}
</label>
</div>
<div className="govuk-radios__item">
<input
className="govuk-radios__input"
id="communications-2"
name="communications"
type="radio"
value="accepted"
component="input"
checked={
communicationsState ===
"accepted"
}
onChange={() => {
updateObj(
"communications",
"accepted"
);
}}
/>
<label
className="govuk-label govuk-radios__label"
htmlFor="communications-2"
>
{t(
"cookies:cookie-settings-communications-radio-2-label"
)}
</label>
</div>
</div>
</fieldset>
<fieldset className="govuk-fieldset">
<legend className="govuk-fieldset__legend">
<h4 className="govuk-!-font-size-27">
{t(
"cookies:cookie-settings-settings-heading"
)}
</h4>
<p className="govuk-body">
{t(
"cookies:cookie-settings-settings-paragraph-1"
)}
</p>
</legend>
<div className="govuk-radios govuk-radios--small">
<div className="govuk-radios__item">
<input
className="govuk-radios__input"
id="settings-1"
name="settings"
type="radio"
value="revoked"
component="input"
checked={
settingsState === "revoked"
}
onChange={() => {
updateObj(
"settings",
"revoked"
);
}}
/>
<label
className="govuk-label govuk-radios__label"
htmlFor="settings-1"
>
{t(
"cookies:cookie-settings-settings-radio-1-label"
)}
</label>
</div>
<div className="govuk-radios__item">
<input
className="govuk-radios__input"
id="settings-2"
name="settings"
type="radio"
value="accepted"
component="input"
checked={
settingsState === "accepted"
}
onChange={() => {
updateObj(
"settings",
"accepted"
);
}}
/>
<label
className="govuk-label govuk-radios__label"
htmlFor="settings-2"
>
{t(
"cookies:cookie-settings-settings-radio-2-label"
)}
</label>
</div>
</div>
</fieldset>
<fieldset className="govuk-fieldset">
<legend className="govuk-fieldset__legend">
<h4 className="govuk-!-font-size-27">
{t(
"cookies:cookie-settings-essential-heading"
)}
</h4>
<p className="govuk-body">
{t(
"cookies:cookie-settings-essential-paragraph-1"
)}
</p>
<ul className="govuk-list govuk-list--bullet">
<li>
{t(
"cookies:cookie-settings-essential-list-item-1"
)}
</li>
<li>
{t(
"cookies:cookie-settings-essential-list-item-2"
)}
</li>
</ul>
<p className="govuk-body">
{t(
"cookies:cookie-settings-essential-paragraph-2"
)}
</p>
<p className="govuk-body">
<a
className="govuk-link govuk-link--no-underline govuk-!-font-weight-bold"
href={t(
"cookies:cookie-settings-essential-link"
)}
>
{t(
"cookies:cookie-settings-essential-link-label"
)}
</a>
</p>
</legend>
</fieldset>
<div>
<button
type="submit"
className="govuk-button "
>
{t(
"cookies:cookie-settings-save-button-label"
)}
</button>
</div>
</form>
</div>
</div>
</div>
</main>
);
};
return (
<>
<CookieForm />
</>
);
};
const mapStateToProps = (state) => {
return {
initialValues: {
usage: state.accountDetails.cookieObj.usage,
communications: state.accountDetails.cookieObj.communications,
settings: state.accountDetails.cookieObj.settings,
},
};
};
export default connect(mapStateToProps)(
reduxForm({
form: "CookieManagementForm",
enableReinitialize: true,
})(CookieManagementMain)
);
+35
View File
@@ -0,0 +1,35 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import { DiagConsoleLogger } from "@opentelemetry/api";
const CRMError = (props) => {
let { t } = useTranslation();
const { whichError } = props;
const router = useRouter();
const { locale } = router;
const errorSwitch = _.has(props, "whichError")
? "LPAData"
: "searchResultsObj";
//console.log(errorSwitch);
return (
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7">
Something has happened....
</h1>
<p>
{props.props[errorSwitch][errorSwitch].errorCode} -{" "}
{props.props[errorSwitch][errorSwitch].errorMsg}
</p>
</div>
</div>
);
};
export default CRMError;
+45 -45
View File
@@ -46,34 +46,34 @@ const ApplicationList = (props) => {
<div className="govuk-grid-column-full"> <div className="govuk-grid-column-full">
<dl className="govuk-summary-list govuk-!-margin-bottom-0 results"> <dl className="govuk-summary-list govuk-!-margin-bottom-0 results">
<div className="govuk-summary-list__row results-headings"> <div className="govuk-summary-list__row results-headings">
<dd className="govuk-summary-list__key govuk-!-font-size-14 results_wider "> <dd className="govuk-summary-list__key govuk-!-font-size-16 results_wider ">
{t( {t(
"dnsApplications:result-list-heading-label-reference" "dnsApplications:result-list-heading-label-reference"
)} )}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t( {t(
"dnsApplications:result-list-heading-label-application" "dnsApplications:result-list-heading-label-application"
)} )}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t( {t(
"dnsApplications:result-list-heading-label-developer" "dnsApplications:result-list-heading-label-developer"
)} )}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t( {t(
"dnsApplications:result-list-heading-label-type" "dnsApplications:result-list-heading-label-type"
)} )}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t( {t(
"dnsApplications:result-list-heading-label-status" "dnsApplications:result-list-heading-label-status"
)} )}
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 "> <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-reference" "dnsApplications:result-list-heading-label-reference"
@@ -82,7 +82,7 @@ const ApplicationList = (props) => {
</span> </span>
CAS-00009-W8N6W4 CAS-00009-W8N6W4
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view"> <Link href="/dns/application-view">
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
@@ -95,7 +95,7 @@ const ApplicationList = (props) => {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-developer" "dnsApplications:result-list-heading-label-developer"
@@ -104,7 +104,7 @@ const ApplicationList = (props) => {
</span> </span>
Menter Mon Menter Mon
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-type" "dnsApplications:result-list-heading-label-type"
@@ -113,7 +113,7 @@ const ApplicationList = (props) => {
</span> </span>
Energy Energy
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-status" "dnsApplications:result-list-heading-label-status"
@@ -124,7 +124,7 @@ const ApplicationList = (props) => {
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 "> <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-reference" "dnsApplications:result-list-heading-label-reference"
@@ -133,7 +133,7 @@ const ApplicationList = (props) => {
</span> </span>
CAS-00009-W8N6W4 CAS-00009-W8N6W4
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view"> <Link href="/dns/application-view">
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
@@ -146,7 +146,7 @@ const ApplicationList = (props) => {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-developer" "dnsApplications:result-list-heading-label-developer"
@@ -155,7 +155,7 @@ const ApplicationList = (props) => {
</span> </span>
Menter Mon Menter Mon
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-type" "dnsApplications:result-list-heading-label-type"
@@ -164,7 +164,7 @@ const ApplicationList = (props) => {
</span> </span>
Energy Energy
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-status" "dnsApplications:result-list-heading-label-status"
@@ -175,7 +175,7 @@ const ApplicationList = (props) => {
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 "> <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-reference" "dnsApplications:result-list-heading-label-reference"
@@ -184,7 +184,7 @@ const ApplicationList = (props) => {
</span> </span>
CAS-00009-W8N6W4 CAS-00009-W8N6W4
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view"> <Link href="/dns/application-view">
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
@@ -197,7 +197,7 @@ const ApplicationList = (props) => {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-developer" "dnsApplications:result-list-heading-label-developer"
@@ -206,7 +206,7 @@ const ApplicationList = (props) => {
</span> </span>
Menter Mon Menter Mon
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-type" "dnsApplications:result-list-heading-label-type"
@@ -215,7 +215,7 @@ const ApplicationList = (props) => {
</span> </span>
Energy Energy
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-status" "dnsApplications:result-list-heading-label-status"
@@ -226,7 +226,7 @@ const ApplicationList = (props) => {
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 "> <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-reference" "dnsApplications:result-list-heading-label-reference"
@@ -235,7 +235,7 @@ const ApplicationList = (props) => {
</span> </span>
CAS-00009-W8N6W4 CAS-00009-W8N6W4
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view"> <Link href="/dns/application-view">
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
@@ -248,7 +248,7 @@ const ApplicationList = (props) => {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-developer" "dnsApplications:result-list-heading-label-developer"
@@ -257,7 +257,7 @@ const ApplicationList = (props) => {
</span> </span>
Menter Mon Menter Mon
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-type" "dnsApplications:result-list-heading-label-type"
@@ -266,7 +266,7 @@ const ApplicationList = (props) => {
</span> </span>
Energy Energy
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-status" "dnsApplications:result-list-heading-label-status"
@@ -277,7 +277,7 @@ const ApplicationList = (props) => {
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 "> <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-reference" "dnsApplications:result-list-heading-label-reference"
@@ -286,7 +286,7 @@ const ApplicationList = (props) => {
</span> </span>
CAS-00009-W8N6W4 CAS-00009-W8N6W4
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view"> <Link href="/dns/application-view">
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
@@ -299,7 +299,7 @@ const ApplicationList = (props) => {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-developer" "dnsApplications:result-list-heading-label-developer"
@@ -308,7 +308,7 @@ const ApplicationList = (props) => {
</span> </span>
Menter Mon Menter Mon
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-type" "dnsApplications:result-list-heading-label-type"
@@ -317,7 +317,7 @@ const ApplicationList = (props) => {
</span> </span>
Energy Energy
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-status" "dnsApplications:result-list-heading-label-status"
@@ -328,7 +328,7 @@ const ApplicationList = (props) => {
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 "> <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-reference" "dnsApplications:result-list-heading-label-reference"
@@ -337,7 +337,7 @@ const ApplicationList = (props) => {
</span> </span>
CAS-00009-W8N6W4 CAS-00009-W8N6W4
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view"> <Link href="/dns/application-view">
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
@@ -350,7 +350,7 @@ const ApplicationList = (props) => {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-developer" "dnsApplications:result-list-heading-label-developer"
@@ -359,7 +359,7 @@ const ApplicationList = (props) => {
</span> </span>
Menter Mon Menter Mon
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-type" "dnsApplications:result-list-heading-label-type"
@@ -368,7 +368,7 @@ const ApplicationList = (props) => {
</span> </span>
Energy Energy
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-status" "dnsApplications:result-list-heading-label-status"
@@ -379,7 +379,7 @@ const ApplicationList = (props) => {
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 "> <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-reference" "dnsApplications:result-list-heading-label-reference"
@@ -388,7 +388,7 @@ const ApplicationList = (props) => {
</span> </span>
CAS-00009-W8N6W4 CAS-00009-W8N6W4
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view"> <Link href="/dns/application-view">
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
@@ -401,7 +401,7 @@ const ApplicationList = (props) => {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-developer" "dnsApplications:result-list-heading-label-developer"
@@ -410,7 +410,7 @@ const ApplicationList = (props) => {
</span> </span>
Menter Mon Menter Mon
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-type" "dnsApplications:result-list-heading-label-type"
@@ -419,7 +419,7 @@ const ApplicationList = (props) => {
</span> </span>
Energy Energy
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-status" "dnsApplications:result-list-heading-label-status"
@@ -430,7 +430,7 @@ const ApplicationList = (props) => {
</dd> </dd>
</div> </div>
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 "> <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-reference" "dnsApplications:result-list-heading-label-reference"
@@ -439,7 +439,7 @@ const ApplicationList = (props) => {
</span> </span>
CAS-00009-W8N6W4 CAS-00009-W8N6W4
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<Link href="/dns/application-view"> <Link href="/dns/application-view">
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
@@ -452,7 +452,7 @@ const ApplicationList = (props) => {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-developer" "dnsApplications:result-list-heading-label-developer"
@@ -461,7 +461,7 @@ const ApplicationList = (props) => {
</span> </span>
Menter Mon Menter Mon
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-type" "dnsApplications:result-list-heading-label-type"
@@ -470,7 +470,7 @@ const ApplicationList = (props) => {
</span> </span>
Energy Energy
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
{t( {t(
"dnsApplications:result-list-heading-label-status" "dnsApplications:result-list-heading-label-status"
+49
View File
@@ -0,0 +1,49 @@
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";
import CRMError from "./crmError";
export default function Search(props) {
const { searchString, searchResultsObj } = props;
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
var hasError = _.has(searchResultsObj.searchResultsObj, "errorCode")
? true
: false;
//console.log("has an error", hasError);
return (
<main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content"
role="main"
>
{hasError ? (
<CRMError props={props} />
) : (
<>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<DNSSearchResults
searchString={searchString}
searchResultsObj={
searchResultsObj.searchResultsObj
}
searchDetailsObj={
searchResultsObj.searchDetailsObj
}
/>
</div>
</div>
</>
)}
</main>
);
}
+108 -64
View File
@@ -1,10 +1,15 @@
import useSWR from "swr"; import useSWR from "swr";
import { Field, reduxForm } from "redux-form"; import { Field, reduxForm } from "redux-form";
import router from "next/router"; import { useRouter } from "next/router";
import DatePicker from "react-datepicker"; import DatePicker, { registerLocale, setDefaultLocale } from "react-datepicker";
import cy from "date-fns/locale/cy";
import React, { useState } from "react"; import React, { useState } from "react";
import "react-datepicker/dist/react-datepicker.css"; import "react-datepicker/dist/react-datepicker.css";
import moment from "moment"; import moment from "moment";
import jsonpath from "jsonpath";
import fieldLookup from "../../data/crmfieldlookuptranslations.json";
import pickListLookup from "../../data/picklistLookups.json";
import useTranslation from "next-translate/useTranslation";
const RenderTextfield = ({ const RenderTextfield = ({
id, id,
@@ -28,7 +33,7 @@ const RenderTextfield = ({
} }
> >
<label className="govuk-label " htmlFor={id} id={id + "_label"}> <label className="govuk-label " htmlFor={id} id={id + "_label"}>
{label} {FieldsTranslations(label)}
</label> </label>
{touched && error && ( {touched && error && (
<span id={id + "-error"} className="govuk-error-message"> <span id={id + "-error"} className="govuk-error-message">
@@ -43,21 +48,39 @@ const RenderTextfield = ({
}; };
export function Textfield(props) { export function Textfield(props) {
const { name, label, validate } = props; const { name, label, validate, ticketnumber } = props;
const required = (value) => (value ? undefined : "Required"); const required = (value) => (value ? undefined : "Required");
if (name == "pinswg_name") {
return ( return (
<Field <div className="govuk-form-group">
name={props.name} <label className="govuk-label " htmlFor={props.name}>
id={props.name} {label}
component={RenderTextfield} </label>
type="text" <input
className="govuk-input govuk-input--width-20" type="text"
//validate={[required]} name={name}
label={props.label} id={props.name}
errorMsg="Is required" component={RenderCaseID}
/> value={ticketnumber}
); className="govuk-input govuk-input--width-20"
disabled
/>
</div>
);
} else {
return (
<Field
name={props.name}
id={props.name}
component={RenderTextfield}
type="text"
className="govuk-input govuk-input--width-20"
//validate={[required]}
label={props.label}
errorMsg="Is required"
/>
);
}
} }
const RenderMultiline = ({ const RenderMultiline = ({
@@ -84,7 +107,7 @@ export function MultiLinefield(props) {
<div className="govuk-form-group"> <div className="govuk-form-group">
<h1 className="govuk-label-wrapper"> <h1 className="govuk-label-wrapper">
<label className="govuk-label" htmlFor={props.name}> <label className="govuk-label" htmlFor={props.name}>
{props.label} {FieldsTranslations(props.label)}
</label> </label>
</h1> </h1>
<div <div
@@ -118,6 +141,8 @@ const RenderDatePicker = ({
meta: { touched, error }, meta: { touched, error },
...custom ...custom
}) => { }) => {
const router = useRouter();
registerLocale("cy", cy);
return ( return (
<> <>
<div <div
@@ -137,7 +162,7 @@ const RenderDatePicker = ({
className="govuk-fieldset__heading" className="govuk-fieldset__heading"
id={id + "_label"} id={id + "_label"}
> >
{label} {FieldsTranslations(label)}
</label> </label>
</legend> </legend>
{touched && error && ( {touched && error && (
@@ -153,6 +178,7 @@ const RenderDatePicker = ({
)} )}
<DatePicker <DatePicker
{...custom} {...custom}
locale={router.locale}
autoOk={true} autoOk={true}
dateFormat="dd/MM/yyyy" dateFormat="dd/MM/yyyy"
onChange={onChange} onChange={onChange}
@@ -190,14 +216,14 @@ export function DateField(props) {
<fieldset <fieldset
className="govuk-fieldset" className="govuk-fieldset"
role="group" role="group"
aria-describedby="dob-hint" aria-describedby={name + "-hint"}
> >
<legend className="govuk-fieldset__legend govuk-fieldset__legend--s govuk-!-font-weight-regular"> <legend className="govuk-fieldset__legend govuk-fieldset__legend--s govuk-!-font-weight-regular">
<label className="govuk-fieldset__heading"> <label className="govuk-fieldset__heading">
{props.label} {FieldsTranslations(props.label)}
</label> </label>
</legend> </legend>
<div className="govuk-date-input" id="dob"> <div className="govuk-date-input" id={name}>
<div className="govuk-date-input__item"> <div className="govuk-date-input__item">
<div className="govuk-form-group"> <div className="govuk-form-group">
<label <label
@@ -290,7 +316,7 @@ const RenderYesNo = ({
className="govuk-fieldset__heading govuk-body-m" className="govuk-fieldset__heading govuk-body-m"
id={id + "_label"} id={id + "_label"}
> >
{label} {FieldsTranslations(label)}
</label> </label>
</legend> </legend>
{touched && error && ( {touched && error && (
@@ -335,8 +361,10 @@ const RenderYesNo = ({
}; };
export function YesNofield(props) { export function YesNofield(props) {
const router = useRouter();
const { name, label } = props; const { name, label } = props;
const yesNo = ["Yes", "No"]; const yesNo = router.locale == "cy" ? ["Ydw", "Na"] : ["Yes", "No"];
const required = (value) => (value ? undefined : "Required"); const required = (value) => (value ? undefined : "Required");
return ( return (
@@ -348,7 +376,7 @@ export function YesNofield(props) {
id={props.name} id={props.name}
className="govuk-radios__input" className="govuk-radios__input"
//validate={[required]} //validate={[required]}
errorMsg="Select and option" errorMsg="Select an option"
component={RenderYesNo} component={RenderYesNo}
/> />
); );
@@ -356,49 +384,29 @@ export function YesNofield(props) {
const RenderPickList = ({ const RenderPickList = ({
datafieldname, datafieldname,
picklistData,
name, name,
label, label,
input, input,
meta: { touched, errorStr }, meta: { touched, errorStr },
}) => { }) => {
const fetcher = (url) => fetch(url).then((res) => res.json()); let { t } = useTranslation();
const { data, error } = useSWR("/api/lookups/" + datafieldname, fetcher);
if (error)
return (
<div className="govuk-form-group">
<label className="govuk-label govuk-body-m" htmlFor={name}>
{label}
</label>
<select className="govuk-select" id={name} name={name}>
<option value="">empty</option>
</select>
</div>
);
if (!data)
return (
<div>
<div className="govuk-form-group">{label} loading...</div>
</div>
);
//console.log(JSON.stringify(data.GlobalOptionSet.Options));
const dropdownObj = data.GlobalOptionSet.Options;
var dropdownObj = jsonpath.query(
picklistData,
"$..value[?(@.LogicalName=='" + datafieldname + "')]..Options"
);
dropdownObj = dropdownObj[0];
return ( return (
<div> <div>
<select {...input} className="govuk-select " id={name} name={name}> <select {...input} className="govuk-select " id={name} name={name}>
<option>Select...</option> <option>{t("newappeal:select-default")}</option>
{Object.keys(dropdownObj).map((key, index) => { {Object.keys(dropdownObj).map((key, index) => {
return ( return (
<option <option key={key} value={dropdownObj[key].Value}>
key={key} {PickListTranslations(
value={ dropdownObj[key].Label.LocalizedLabels[0].Label
dropdownObj[key].Label.LocalizedLabels[0].value )}
}
// value={dropdownObj[key].Label.LocalizedLabels[0].MetadataId}
>
{dropdownObj[key].Label.LocalizedLabels[0].Label}
</option> </option>
); );
})} })}
@@ -415,12 +423,13 @@ export function PickList(props) {
return ( return (
<div className="govuk-form-group"> <div className="govuk-form-group">
<label className="govuk-label govuk-body-m" htmlFor={props.name}> <label className="govuk-label govuk-body-m" htmlFor={props.name}>
{props.label} {FieldsTranslations(label)}
</label> </label>
<Field <Field
name={props.name} name={props.name}
component={RenderPickList} component={RenderPickList}
datafieldname={datafieldname} datafieldname={datafieldname}
picklistData={props.picklistData}
/> />
</div> </div>
); );
@@ -432,18 +441,19 @@ export function NumericField(props) {
return ( return (
<div className="govuk-form-group"> <div className="govuk-form-group">
<label className="govuk-label" htmlFor={props.name}> <label className="govuk-label" htmlFor={props.name}>
{props.label} {FieldsTranslations(props.label)}
</label> </label>
<Field <Field
name={props.name} name={props.name}
id={props.name} id={props.name}
component="input" component="input"
type="text" type="number"
className="govuk-input govuk-input--width-20" className="govuk-input govuk-input--width-20"
spellCheck="false" spellCheck="false"
//aria-describedby="account-number-hint" //aria-describedby="account-number-hint"
pattern="[0-9]*" pattern="[0-9]*"
inputMode="numeric" inputMode="numeric"
parse={Number}
/> />
</div> </div>
); );
@@ -455,18 +465,19 @@ export function DecimalField(props) {
return ( return (
<div className="govuk-form-group"> <div className="govuk-form-group">
<label className="govuk-label" htmlFor={props.name}> <label className="govuk-label" htmlFor={props.name}>
{props.label} {FieldsTranslations(props.label)}
</label> </label>
<Field <Field
name={props.name} name={props.name}
id={props.name} id={props.name}
component="input" component="input"
type="text" type="number"
className="govuk-input govuk-input--width-10" className="govuk-input govuk-input--width-10"
spellCheck="false" spellCheck="false"
//aria-describedby="account-number-hint" //aria-describedby="account-number-hint"
pattern="[0-9]*" pattern="[0-9]*"
inputMode="numeric" inputMode="numeric"
parse={Number}
/> />
</div> </div>
); );
@@ -480,7 +491,7 @@ export function ReadOnlyfield(props) {
return ( return (
<div className="govuk-form-group"> <div className="govuk-form-group">
<label className="govuk-label " htmlFor={props.name}> <label className="govuk-label " htmlFor={props.name}>
{props.label} {FieldsTranslations(props.label)}
</label> </label>
<input <input
type="text" type="text"
@@ -494,3 +505,36 @@ export function ReadOnlyfield(props) {
</div> </div>
); );
} }
const FieldsTranslations = (label) => {
const router = useRouter();
const { locale } = router;
const { appealtypes } = router.query;
let formObj = jsonpath.query(fieldLookup, "$['" + appealtypes + "']");
let labelTrans =
router.locale == "cy"
? jsonpath.query(
formObj,
"$..[?(@.value=='" + label + "')].value_cy"
)
: label;
return labelTrans;
};
const PickListTranslations = (optionValue) => {
const router = useRouter();
const { locale } = router;
const { appealtypes } = router.query;
//console.log(optionValue);
let optionTrans =
router.locale == "cy"
? jsonpath.query(
pickListLookup,
'$..[?(@.value=="' + optionValue + '")].value_cy'
)
: optionValue;
//console.log(optionTrans, optionValue);
return optionTrans;
};
+128 -53
View File
@@ -27,6 +27,13 @@ export default function Footer(props) {
: setShowShareState(true); : setShowShareState(true);
}; };
//console.log(router.asPath);
const shareBodyStr = t("common:gov-wales-link") + router.asPath;
const shareSubjectStr =
t("common:social-shared-from") +
" " +
t("common:gov-wales-label").toLowerCase();
return ( return (
<> <>
<div className="sharebar" id="sharebar"> <div className="sharebar" id="sharebar">
@@ -60,7 +67,10 @@ export default function Footer(props) {
> >
<li> <li>
<a <a
href="https://twitter.com/intent/tweet?url=https%3A//gov.wales/" href={
"https://twitter.com/intent/tweet?url=" +
shareBodyStr
}
className="twitter" className="twitter"
> >
<span className="vo_hidden"> <span className="vo_hidden">
@@ -73,7 +83,10 @@ export default function Footer(props) {
</li> </li>
<li> <li>
<a <a
href="https://www.facebook.com/sharer/sharer.php?u=https%3A//gov.wales/" href={
"https://www.facebook.com/sharer/sharer.php?u=" +
shareBodyStr
}
className="facebook" className="facebook"
> >
<span className="vo_hidden"> <span className="vo_hidden">
@@ -84,7 +97,12 @@ export default function Footer(props) {
</li> </li>
<li> <li>
<a <a
href="mailto:?body=https%3A//gov.wales/&amp;subject=Shared%20from%20gov.wales" href={
"mailto:?body=" +
shareBodyStr +
"&subject=" +
shareSubjectStr
} //</li>https%3A//gov.wales/&amp;subject=Shared%20from%20gov.wales"
className="email" className="email"
> >
<span className="vo_hidden"> <span className="vo_hidden">
@@ -117,68 +135,125 @@ export default function Footer(props) {
role="navigation" role="navigation"
aria-labelledby="footer_links" aria-labelledby="footer_links"
> >
<ul className="govuk-footer__inline-list">
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold govuk-!-margin-right-7">
<a
href={t(
"common:footer-guidance-link"
)}
className="nav-link"
>
{t(
"common:footer-guidance-link-label"
)}
</a>
</li>
<li className="govuk-footer__inline-list-item govuk-!-font-weight-bold">
<a
href={t(
"common:footer-contact-us-link"
)}
className="govuk-footer__link"
id="aAccess"
>
{t(
"common:footer-contact-us-link-label"
)}
</a>
</li>
</ul>
<ul <ul
className="govuk-footer__inline-list" className="govuk-footer__inline-list"
id="footer_links" id="footer_links"
> >
<li className="govuk-footer__inline-list-item"> <li className="govuk-footer__inline-list-item">
<a <a
href="http://www.gov.uk/government/publications/appeals-casework-portal-documentation" href={t(
"common:footer-accessibility-link"
)}
className="govuk-footer__link"
id="aAccess"
>
{t(
"common:footer-accessibility-link-label"
)}
</a>
</li>
<li className="govuk-footer__inline-list-item">
<Link
href={
router.locale == "cy"
? "/help/cwcis"
: "/help/cookies"
}
>
<a
id="aCookies"
className="govuk-footer__link"
>
{t(
"common:footer-cookies-link"
)}
</a>
</Link>
</li>
<li className="govuk-footer__inline-list-item">
<a
href={t(
"common:footer-copyright-link"
)}
className="govuk-footer__link"
id="aAccess"
>
{t(
"common:footer-copyright-link-label"
)}
</a>
</li>
<li className="govuk-footer__inline-list-item">
<a
href={t(
"common:footer-privacy-link"
)}
id="aPrivacy"
className="govuk-footer__link"
>
{t(
"common:footer-privacy-link-label"
)}
</a>
</li>
<li className="govuk-footer__inline-list-item">
<a
href={t(
"common:footer-terms-conditions-link"
)}
id="aTermsConds"
className="govuk-footer__link"
>
{t(
"common:footer-terms-conditions-link-label"
)}
</a>
</li>
{/* <li className="govuk-footer__inline-list-item">
<a
href={t(
"common:footer-alternative-languages-link"
)}
id="aTermsConds" id="aTermsConds"
className="govuk-footer__link" className="govuk-footer__link"
target="_blank" target="_blank"
rel="noreferrer" rel="noreferrer"
> >
{t( {t(
"common:footer-terms-conditions-link" "common:footer-alternative-languages-link-label"
)} )}
</a> </a>
</li> </li> */}
<li className="govuk-footer__inline-list-item">
<a
href="https://www.gov.uk/government/publications/planning-inspectorate-privacy-notices"
id="aPrivacy"
className="govuk-footer__link"
target="_blank"
rel="noreferrer"
>
{t("common:footer-privacy-link")}
</a>
</li>
<li className="govuk-footer__inline-list-item">
<a
href="https://www.gov.uk/guidance/appeals-casework-portal-privacy-cookies"
id="aCookies"
className="govuk-footer__link"
target="_blank"
rel="noreferrer"
>
{t("common:footer-cookies-link")}
</a>
</li>
<li className="govuk-footer__inline-list-item">
<a
href="http://www.gov.uk/government/publications/appeals-casework-portal-documentation"
className="govuk-footer__link"
id="aAccess"
target="_blank"
rel="noreferrer"
>
{t(
"common:footer-accessibility-link"
)}
</a>
</li>
<li className="govuk-footer__inline-list-item">
<a
href="http://www.gov.uk/guidance/feedback"
id="feedback"
target="_blank"
rel="noreferrer"
>
{t("common:footer-feedback-link")}
</a>
</li>
</ul> </ul>
</nav> </nav>
<div <div
@@ -186,12 +261,12 @@ export default function Footer(props) {
id="footer_logo" id="footer_logo"
> >
<a <a
href="https://gov.wales/" href={t("common:gov-wales-link")}
className="footer__logo" className="footer__logo"
id="footerlogo" id="footerlogo"
> >
<span className="visually-hidden"> <span className="visually-hidden">
Home {t("common:gov-wales-label")}
</span> </span>
</a> </a>
</div> </div>
+88 -57
View File
File diff suppressed because one or more lines are too long
+24 -14
View File
@@ -3,19 +3,29 @@ import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
export default function CaseComment() { export default function CaseComment() {
let { t } = useTranslation(); let { t } = useTranslation();
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
return ( return (
<div className="card" id="casescomment-card"> <div className="card" id="casescomment-card">
<div className="card-body"> <div className="card-body">
<h3 className="heading-small card-heading"> <h3 className="heading-small card-heading">
{t("home:casescomment-card-title")} {t("home:casescomment-card-title")}
</h3> </h3>
<p className="govuk-body-s">{t("home:casescomment-card-paragraph-one")}</p> <p className="govuk-body-s">
<p className="govuk-body-s">{t("home:casescomment-card-paragraph-two")}</p> {t("home:casescomment-card-paragraph-one")}{" "}
</div> <a
</div> href={"mailto:" + t("home:login-contact-email")}
); className="govuk-link--no-underline"
>
{t("home:login-contact-email")}
</a>
</p>
<p className="govuk-body-s">
{t("home:casescomment-card-paragraph-two")}
</p>
</div>
</div>
);
} }
+165 -69
View File
@@ -2,91 +2,187 @@ import Link from "next/link";
import { useState } from "react"; import { useState } from "react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import { connect } from "react-redux";
import { Field, reduxForm } from "redux-form";
import LoadingOverlay from "react-loading-overlay";
export default function CaseSearch() { const required = (errorMsg) => (value) =>
value || typeof value === "number" ? undefined : errorMsg;
export const minLength = (errorMsg) => (value) =>
value && value.length < 4
? errorMsg //`Must be ${min} characters or more`
: undefined;
const RenderTextfield = ({
id,
className,
rows,
datafieldname,
name,
label,
input,
hint1,
hint2,
hint3,
meta: { touched, error },
...custom
}) => {
return (
<>
<div className="govuk-form-group">
<div id="basicSearch-hint" className="govuk-hint ">
<span className="govuk-body-s">{hint1}</span>
<ul className="govuk-body-s govuk-!-margin-top-3">
<li>{hint2} </li>
<li>{hint3}</li>
</ul>
</div>
<label className="govuk-label " htmlFor={id} id={id + "_label"}>
{label}
</label>
<div>
<input
{...input}
className={className}
name={name}
id={id}
/>
{touched && error && (
<span
id={id + "-error"}
className="govuk-error-message govuk-form-group--error"
>
<span className="govuk-visually-hidden">
Error:
</span>{" "}
{error}
</span>
)}
</div>
</div>
</>
);
};
let CaseSearch = (props) => {
let { t } = useTranslation(); let { t } = useTranslation();
const { handleSubmit, pristine, reset, submitting } = props;
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
const [query, setQuery] = useState("");
const [validationError, setValidationError] = useState("");
const handleParam = (setValue) => (e) => setValue(e.target.value);
const basicSearch = (event) => { const [showSpinnerState, setShowSpinnerState] = useState(false);
event.preventDefault();
if (query == "" || query == null) { let spinnerState = () => {
setValidationError(true); showSpinnerState == true
} else { ? setShowSpinnerState(false)
setValidationError(false); : setShowSpinnerState(true);
console.log(query); };
// /searchresults
router.push({ const onHandleSubmit = (values) => {
pathname: "/searchresults", spinnerState();
query: { q: query }, router.replace({
}); pathname:
} router.locale == "cy"
? "/canlyniadauchwilio"
: "/searchresults",
query: { q: values.basicSearch },
shallow: true,
});
}; };
return ( return (
<div className="card" id="casesearch-card"> <>
<form onSubmit={basicSearch}> <div className="card" id="casesearch-card">
<div className="card-body"> <form onSubmit={handleSubmit(onHandleSubmit)}>
<h3 className="heading-small card-heading"> <div className="card-body">
{t("home:casesearch-card-title")} <h3 className="heading-small card-heading">
</h3> {t("home:casesearch-card-title")}
<div </h3>
className={
validationError <Field
? "govuk-form-group govuk-form-group--error" validate={[
: "govuk-form-group " required(
} t(
> "home:casesearch-search-validation-required"
<div id="basicSearch-hint" className="govuk-hint "> )
{t("home:casesearch-card-search-hint")}: ),
<br /> minLength(
<span className="govuk-body-s"> t(
{" "} "home:casesearch-search-validation-minlength"
<span className="govuk-!-font-weight-bold"> )
{t( ),
"home:casesearch-card-search-example-label" ]}
)}
:
</span>{" "}
CAS-00009-W8N6W4
</span>
</div>
{validationError && (
<span
id="basicSearch-error"
className="govuk-error-message"
>
<span className="govuk-visually-hidden">
Error:
</span>{" "}
Case reference is required
</span>
)}
<input
className="govuk-input" className="govuk-input"
component={RenderTextfield}
id="basicSearch" id="basicSearch"
name="basicSearch" name="basicSearch"
type="text" type="text"
aria-describedby="basicSearch-hint" aria-describedby="basicSearch-hint"
onChange={handleParam(setQuery)} hint1={t("home:casesearch-card-search-hint")}
hint2={t(
"home:casesearch-card-search-example-label-1"
)}
hint3={t(
"home:casesearch-card-search-example-label-2"
)}
/> />
<div className="govuk-form-group">
<button type="submit" className="govuk-button">
{t("home:casesearch-card-button")}
</button>
</div>
<Link
href={
router.locale == "cy"
? "/chwiliouwch"
: "/advancedsearch"
}
>
<a className="govuk-link--no-underline">
{t("home:casesearch-card-advanced-link")}
</a>
</Link>
</div> </div>
<div className="govuk-form-group"> </form>
<button type="submit" className="govuk-button"> <LoadingOverlay
{t("home:casesearch-card-button")} active={showSpinnerState}
</button> spinner
</div> text={t("common:spinner-searching")}
<Link href="/advancedsearch"> />
<a>{t("home:casesearch-card-advanced-link")}</a> </div>
</Link> </>
</div>
</form>
</div>
); );
} };
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,
};
};
const mapDispatchToProps = (dispatch) => {
return {};
};
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "basicSearchForm",
destroyOnUnmount: false,
})(CaseSearch)
);
+56
View File
@@ -0,0 +1,56 @@
import Link from "next/link";
import { useState } from "react";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
import LoadingOverlay from "react-loading-overlay";
export default function Dns() {
let { t } = useTranslation();
const [showSpinnerState, setShowSpinnerState] = useState(false);
const router = useRouter();
const { locale } = router;
let spinnerState = () => {
showSpinnerState == true
? setShowSpinnerState(false)
: setShowSpinnerState(true);
};
return (
<div className="card" id="casesearch-card">
<div className="card-body">
<h3 className="heading-small card-heading">
{t("home:dns-card-title")}
</h3>
<div className="govuk-form-group">
<p className="govuk-body-s">
{t("home:dns-card-paragraph")}
</p>
</div>
<div className="govuk-form-group">
<Link
href={
router.locale == "cy"
? "/ceisiadaudns"
: "/dnsapplications"
}
>
<a
className="govuk-button withChevron govuk-button-cta"
onClick={() => {
spinnerState();
}}
>
{t("home:dns-card-button")}
</a>
</Link>
</div>
</div>
<LoadingOverlay
active={showSpinnerState}
spinner
text={t("common:spinner-loading")}
/>
</div>
);
}
+1 -1
View File
@@ -12,7 +12,7 @@ export default function Inspectorate() {
<div className="card clear" id="inspectorate-card"> <div className="card clear" id="inspectorate-card">
<div className="card-body"> <div className="card-body">
<Image <Image
alt="Planning Inspectorate" alt={t("home:inspectorate-card-alt-text")}
src="/assets/images/PINS_dual_logo_400.png" src="/assets/images/PINS_dual_logo_400.png"
width="380px" width="380px"
height="58px" height="58px"
+252 -68
View File
@@ -1,87 +1,271 @@
import Link from "next/link"; import Link from "next/link";
import { useState } from "react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import { connect } from "react-redux";
import { Field, reduxForm } from "redux-form";
import LoadingOverlay from "react-loading-overlay";
import { getLogin } from "../../actions";
import { setLoggedInUserId } from "../../store/accountDetails/action";
export default function Login() { const required = (errorMsg) => (value) =>
value || typeof value === "number" ? undefined : errorMsg;
export const minLength = (errorMsg) => (value) =>
value && value.length < 4
? errorMsg //`Must be ${min} characters or more`
: undefined;
const RenderTextfield = ({
id,
className,
rows,
datafieldname,
name,
label,
input,
hint1,
hint2,
meta: { touched, error },
...custom
}) => {
return (
<>
<div
className={
touched && error
? "govuk-form-group govuk-form-group--error"
: "govuk-form-group "
}
>
<div id="basicSearch-hint" className="govuk-hint ">
<span className="govuk-body-m">{hint1}</span>
<br />
<span className="govuk-body-s">{hint2}</span>
</div>
<label className="govuk-label " htmlFor={id} id={id + "_label"}>
{label}
</label>
{touched && error && (
<span id={id + "-error"} className="govuk-error-message">
<span className="govuk-visually-hidden">Error:</span>{" "}
{error}
</span>
)}
<input {...input} className={className} name={name} id={id} />
</div>
</>
);
};
const RenderPasswordfield = ({
id,
className,
rows,
datafieldname,
name,
label,
input,
hint1,
hint2,
meta: { touched, error },
...custom
}) => {
return (
<>
<div
className={
touched && error
? "govuk-form-group govuk-form-group--error"
: "govuk-form-group "
}
>
<div id="basicSearch-hint" className="govuk-hint ">
<span className="govuk-body-m">{hint1}</span>
</div>
<label className="govuk-label " htmlFor={id} id={id + "_label"}>
{label}
</label>
{touched && error && (
<span id={id + "-error"} className="govuk-error-message">
<span className="govuk-visually-hidden">Error:</span>{" "}
{error}
</span>
)}
<input
{...input}
type="password"
className={className}
name={name}
id={id}
/>
</div>
</>
);
};
let Login = (props) => {
let { t } = useTranslation(); let { t } = useTranslation();
const { handleSubmit, pristine, reset, submitting, setLoggedInUserId } =
props;
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
const [showSpinnerState, setShowSpinnerState] = useState(false);
const [validLoginID, setValidLoginID] = useState(null);
let spinnerState = () => {
showSpinnerState == true
? setShowSpinnerState(false)
: setShowSpinnerState(true);
};
const onHandleSubmit = (values) => {
spinnerState();
getLogin(values.loginUserID, values.loginUserPassword).then((data) => {
data.value.length != 0
? (setValidLoginID(true),
setLoggedInUserId(data.value[0].contactid),
spinnerState(),
router.replace({
pathname:
router.locale == "cy" ? "/fymhorth" : "/myportal",
query: { q: data.value[0].contactid },
shallow: true,
}))
: (setShowSpinnerState(false), setValidLoginID(false));
});
};
return ( return (
<div className="card" id="login-card"> <div className="card" id="login-card">
<div className="card-body active"> <form onSubmit={handleSubmit(onHandleSubmit)}>
<h3 className="heading-small card-heading"> <div className="card-body active">
{t("home:login-card-title")} <h3 className="heading-small card-heading">
</h3> {t("home:login-card-title")}
</h3>
<form action="/myportal" method="POST" id="loginForm"> {validLoginID == false && (
<div className="govuk-form-group"> <div className="govuk-error-message govuk-form-group--error">
{" "} Incorrect username or password
<label
htmlFor="user_id"
className="govuk-label"
aria-describedby="user_id-hint"
>
{t("home:login-card-id-label")}
</label>
<div className="govuk-hint" id="user_id-hint">
{t("home:login-card-id-hint")}
</div> </div>
<input )}
type="text" <Field
name="user_id" // validate={[
id="user_id" // required(
className="govuk-input govuk-!-width-one-half" // t("home:casesearch-search-validation-required")
maxLength="22" // ),
aria-describedby="user_id-hint" // minLength(
autoComplete="username" // t("home:casesearch-search-validation-minlength")
/> // ),
</div> // ]}
className="govuk-input"
component={RenderTextfield}
id="loginUserID"
name="loginUserID"
type="text"
aria-describedby="basicSearch-hint"
hint1={t("home:login-card-id-label")}
hint2={t("home:login-card-id-hint")}
/>
<Field
// validate={[
// required(
// t("home:casesearch-search-validation-required")
// ),
// minLength(
// t("home:casesearch-search-validation-minlength")
// ),
// ]}
className="govuk-input"
component={RenderPasswordfield}
id="loginUserPassword"
name="loginUserPassword"
type="password"
label="Password"
/>
<div className="govuk-form-group"> <div className="govuk-form-group">
{" "} {/* <Link
<label htmlFor="password" className="govuk-label"> href={
{t("home:login-card-password-label")} router.locale == "cy"
</label> ? "/fymhorth"
<input : "/myportal"
type="password" }
name="password" >
id="password"
className="govuk-input govuk-!-width-three-quarters"
autoComplete="current-password"
/>
</div>
<div className="govuk-form-group">
{/* <button
type="submit"
className="govuk-button"
data-module="govuk-button"
id="continue"
formnovalidate=""
>
{t("home:login-card-button")}
</button> */}
<Link href="/myportal">
<a className="govuk-button"> <a className="govuk-button">
{t("home:login-card-button")} {t("home:login-card-button")}
</a> </a>
</Link> </Link> */}
<button type="submit" className="govuk-button">
{t("home:login-card-button")}
</button>
</div>
<div className="govuk-form-group govuk-!-margin-top-4">
<p className="govuk-body-s">
{t("home:login-card-register-label")}{" "}
<Link
href={
router.locale == "cy"
? "/cyfrif/cofrestr"
: "/account/register"
}
>
<a className="govuk-link--no-underline">
{t("home:login-card-register-link")}
</a>
</Link>
</p>
<p className="govuk-body-s">
<Link href="/">
<a className="govuk-link--no-underline">
{t("home:login-card-forgotten-label")}{" "}
</a>
</Link>
</p>
</div> </div>
</form>
<div className="govuk-form-group govuk-!-margin-top-4">
<p className="govuk-body-s">
{t("home:login-card-register-label")}{" "}
<Link href="/account/register">
<a>{t("home:login-card-register-link")}</a>
</Link>
</p>
<p className="govuk-body-s">
{t("home:login-card-forgotten-label")}{" "}
<Link href="/">
<a>{t("home:login-card-forgotten-link")}</a>
</Link>
</p>
</div> </div>
</div> </form>
<LoadingOverlay
active={showSpinnerState}
spinner
text="Logging in"
/>
</div> </div>
); );
} };
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,
};
};
const mapDispatchToProps = (dispatch) => {
return {
setLoggedInUserId: (userID) => {
dispatch(setLoggedInUserId(userID));
},
};
};
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "loginForm",
destroyOnUnmount: false,
})(Login)
);
+84
View File
@@ -0,0 +1,84 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
export default function LoginSoon() {
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
return (
<div className="card" id="login-card">
<div className="card-body active">
<h3 className="heading-small card-heading">
{t("home:login-card-title-temp")}
</h3>
<div className="govuk-form-group govuk-!-margin-top-4">
<p className="govuk-body-s">
{t("home:login-comingsoon-temp-1")}{" "}
</p>
<p className="govuk-body-s">
{t("home:login-comingsoon-temp-2")}
</p>
<ul>
<li>
<a
className="govuk-link--no-underline"
target="_blank"
href={t("home:login-comingsoon-forms-link-1")}
rel="noreferrer"
>
{t("home:login-comingsoon-forms-label-1")}
</a>
</li>
<li>
{" "}
<a
className="govuk-link--no-underline"
target="_blank"
href={t("home:login-comingsoon-forms-link-2")}
rel="noreferrer"
>
{t("home:login-comingsoon-forms-label-2")}
</a>
</li>
<li>
{" "}
<a
className="govuk-link--no-underline"
target="_blank"
href={t("home:login-comingsoon-forms-link-3")}
rel="noreferrer"
>
{t("home:login-comingsoon-forms-label-3")}
</a>
</li>
<li>
{" "}
<a
className="govuk-link--no-underline"
target="_blank"
href={t("home:login-comingsoon-forms-link-4")}
rel="noreferrer"
>
{t("home:login-comingsoon-forms-label-4")}
</a>
</li>
</ul>
<br />
<p className="govuk-body-s">
{t("home:login-comingsoon-email-link-label")}{" "}
<a
href={"mailto:" + t("home:login-contact-email")}
className="govuk-link--no-underline"
>
{t("home:login-contact-email")}
</a>
</p>
</div>
</div>
</div>
);
}
+8 -5
View File
@@ -1,19 +1,20 @@
import Head from "next/head"; import Head from "next/head";
import Banner from "../components/banner";
import Footer from "../components/footer"; import Footer from "../components/footer";
import Header from "../components/header"; import Header from "../components/header";
import useTranslation from "next-translate/useTranslation";
export default function SkipLink(props) { export default function SkipLink(props) {
let { t } = useTranslation();
return ( return (
<div> <div>
<Head> <Head>
<title>Appeals Casework Portal</title> <title>{t("common:service-name")}</title>
</Head> </Head>
<div className=""> <div className="">
<Header courseName="Planning Casework Portal" /> <Header courseName="Planning Casework Portal" />
<div className="govuk-width-container"> <div className="govuk-width-container">
<Banner />
<main <main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing" className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content" id="main-content"
@@ -23,10 +24,12 @@ export default function SkipLink(props) {
<div className="govuk-grid-column-two-thirds"> <div className="govuk-grid-column-two-thirds">
<noscript> <noscript>
<h1 className="govuk-heading-l"> <h1 className="govuk-heading-l">
Please enable javascript {t("common:enable-js-label")}
</h1> </h1>
</noscript> </noscript>
<h1 className="govuk-heading-m">Loading...</h1> <h1 className="govuk-heading-m">
{t("common:loading-label")}...
</h1>
</div> </div>
</div> </div>
</main> </main>
+25 -23
View File
@@ -3,34 +3,36 @@ import { useRouter } from "next/router";
import { useContext } from "react"; import { useContext } from "react";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import Login from "./homepage/login"; import Login from "./homepage/login";
import LoginSoon from "./homepage/loginSoon";
import CaseSearch from "./homepage/casesearch"; import CaseSearch from "./homepage/casesearch";
import Inspectorate from "./homepage/inspectorate"; import Inspectorate from "./homepage/inspectorate";
import CaseComment from "./homepage/casecomment"; import CaseComment from "./homepage/casecomment";
import Dns from "./homepage/dns";
export default function Home({ children, pages }) { export default function Home({ children, pages }) {
let { t } = useTranslation(); let { t } = useTranslation();
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
return ( return (
<main <main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing" className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content" id="main-content"
role="main" role="main"
> >
<div className="govuk-grid-row"> <div className="govuk-grid-row">
<div className="govuk-grid-column-full"> <div className="govuk-grid-column-full">
<div className="flex-container grid-row govuk-body ">
<div className="flex-container grid-row govuk-body "> <LoginSoon />
<Login /> <CaseSearch />
<CaseSearch/> <CaseComment />
<CaseComment/> <Dns />
<Inspectorate/> <Login />
</div> {/* <Inspectorate /> */}
</div> </div>
</div> </div>
</main> </div>
); </main>
);
} }
+5 -1
View File
@@ -20,7 +20,11 @@ export default function MakeNewAppeal() {
{t("myportal:makenewappeal-card-paragraph-two")} {t("myportal:makenewappeal-card-paragraph-two")}
</p> </p>
<div> <div>
<Link href="/newappeal"> <Link
href={
router.locale == "cy" ? "/apelnewydd" : "/newappeal"
}
>
<a className="govuk-button"> <a className="govuk-button">
{t("myportal:makenewappeal-card-button-label")} {t("myportal:makenewappeal-card-button-label")}
</a> </a>
+17 -15
View File
@@ -20,24 +20,26 @@ const MyCases = (props) => {
<div className="cardModuleContainer"> <div className="cardModuleContainer">
<TopThree <TopThree
showTopThree={props.myCases.myCases} showTopThree={props.myCases.myCases}
showDetails={props.myCases.myCasesDetails}
topThreeType={"myCases"} topThreeType={"myCases"}
/> />
</div> </div>
{props.myCases.myCases["@odata.count"] != 0 && (
<div className="cardVieAll"> <div className="cardVieAll">
<Link href="/myportal/viewall" shallow> <Link href="/myportal/viewall" shallow>
<a <a
onClick={() => { onClick={() => {
setCurrentView({ setCurrentView({
"viewName": "My Cases", "viewName": "My Cases",
"viewKey": "myCases", "viewKey": "myCases",
}); });
}} }}
> >
{t("myportal:viewall-link")} {t("myportal:viewall-link")}
</a> </a>
</Link> </Link>
</div> </div>
)}
</div> </div>
</div> </div>
); );
+17 -14
View File
@@ -25,20 +25,23 @@ const MyRepresentations = (props) => {
/> />
</div> </div>
<div className="cardVieAll"> {props.myRepresentations.myRepresentations["@odata.count"] !=
<Link href="/myportal/viewall"> 0 && (
<a <div className="cardVieAll">
onClick={() => { <Link href="/myportal/viewall" shallow>
setCurrentView({ <a
"viewName": "My Representations", onClick={() => {
"viewKey": "myRepresentations", setCurrentView({
}); "viewName": "My Representations",
}} "viewKey": "myRepresentations",
> });
{t("myportal:viewall-link")} }}
</a> >
</Link> {t("myportal:viewall-link")}
</div> </a>
</Link>
</div>
)}
</div> </div>
</div> </div>
); );
+157 -75
View File
@@ -2,95 +2,177 @@ import Link from "next/link";
import { useState } from "react"; import { useState } from "react";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import { connect } from "react-redux";
import { Field, reduxForm } from "redux-form";
import LoadingOverlay from "react-loading-overlay";
export default function SearchCases() { const required = (errorMsg) => (value) =>
value || typeof value === "number" ? undefined : errorMsg;
export const minLength = (errorMsg) => (value) =>
value && value.length < 4
? errorMsg //`Must be ${min} characters or more`
: undefined;
const RenderTextfield = ({
id,
className,
rows,
datafieldname,
name,
label,
input,
hint1,
hint2,
meta: { touched, error },
...custom
}) => {
return (
<>
<div
className={
touched && error
? "govuk-form-group govuk-form-group--error"
: "govuk-form-group "
}
>
<div id="basicSearch-hint" className="govuk-hint ">
<span className="govuk-body-m">{hint1}</span>
<br />
<span className="govuk-body-s">
{hint2} CAS-00009-W8N6W4
</span>
</div>
<label className="govuk-label " htmlFor={id} id={id + "_label"}>
{label}
</label>
{touched && error && (
<span id={id + "-error"} className="govuk-error-message">
<span className="govuk-visually-hidden">Error:</span>{" "}
{error}
</span>
)}
<input {...input} className={className} name={name} id={id} />
</div>
</>
);
};
let CaseSearch = (props) => {
let { t } = useTranslation(); let { t } = useTranslation();
const { handleSubmit, pristine, reset, submitting } = props;
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
const [query, setQuery] = useState("");
const [validationError, setValidationError] = useState("");
const handleParam = (setValue) => (e) => setValue(e.target.value);
const basicSearch = (event) => { const [showSpinnerState, setShowSpinnerState] = useState(false);
event.preventDefault();
if (query == "" || query == null) { let spinnerState = () => {
setValidationError(true); showSpinnerState == true
} else { ? setShowSpinnerState(false)
setValidationError(false); : setShowSpinnerState(true);
console.log(query); };
// /searchresults
router.push({ const onHandleSubmit = (values) => {
pathname: "/searchresults", spinnerState();
query: { q: query }, router.replace({
}); pathname:
} router.locale == "cy"
? "/fymhorth/canlyniadauchwilio"
: "/myportal/searchresults",
query: { q: values.basicSearch },
shallow: true,
});
}; };
return ( return (
<div className="card card-3" id="casescomment-card"> <>
<form onSubmit={basicSearch}> <div className="card card-3" id="casesearch-card">
<div className="card-body"> <form onSubmit={handleSubmit(onHandleSubmit)}>
<h3 className="heading-small card-heading"> <div className="card-body">
{t("myportal:searchcases-card-title")} <h3 className="heading-small card-heading">
</h3> {t("myportal:searchcases-card-title")}
<div </h3>
className={
validationError <Field
? "govuk-form-group govuk-form-group--error" validate={[
: "govuk-form-group " required(
} t(
> "myportal:searchcases-validation-required"
<div id="event-name-hint" className="govuk-hint "> )
{t("myportal:searchcases-card-search-hint")}: ),
<br /> minLength(
<span className="govuk-body-s"> t(
{" "} "myportal:searchcases-validation-minlength"
<span className="govuk-!-font-weight-bold"> )
{t( ),
"myportal:searchcases-card-search-example-label" ]}
)}
:
</span>{" "}
CAS-00009-W8N6W4
</span>
</div>
{validationError && (
<span
id="basicSearch-error"
className="govuk-error-message"
>
<span className="govuk-visually-hidden">
Error:
</span>{" "}
Case reference is required
</span>
)}
<input
className="govuk-input" className="govuk-input"
id="event-name" component={RenderTextfield}
name="event-name" id="basicSearch"
name="basicSearch"
type="text" type="text"
aria-describedby="event-name-hint" aria-describedby="basicSearch-hint"
onChange={handleParam(setQuery)} hint1={t("myportal:searchcases-card-search-hint")}
hint2={t(
"myportal:searchcases-card-search-example-label"
)}
/> />
</div>
<div className="govuk-form-group"> <div className="govuk-form-group">
<button <button type="submit" className="govuk-button">
type="submit" {t("myportal:searchcases-card-button")}
name="search" </button>
className="govuk-button" </div>
<Link
href={
router.locale == "cy"
? "/fymhorth/chwiliouwch"
: "/myportal/advancedsearch"
}
> >
{t("myportal:searchcases-card-button")} <a>
</button> {t("myportal:searchcases-card-advanced-link")}
</a>
</Link>
</div> </div>
<Link href="/advancedsearch"> </form>
<a>{t("myportal:searchcases-card-advanced-link")}</a> <LoadingOverlay
</Link> active={showSpinnerState}
</div> spinner
</form> text={t("common:spinner-searching")}
</div> />
</div>
</>
); );
} };
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,
};
};
const mapDispatchToProps = (dispatch) => {
return {};
};
export default connect(
mapStateToProps,
mapDispatchToProps
)(
reduxForm({
form: "basicSearchForm",
destroyOnUnmount: false,
})(CaseSearch)
);
+149 -52
View File
@@ -1,4 +1,5 @@
import Link from "next/link"; import Link from "next/link";
import _ from "lodash";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import { setCurrentReference } from "../../store/currentView/action"; import { setCurrentReference } from "../../store/currentView/action";
@@ -6,67 +7,163 @@ import { connect } from "react-redux";
const TopThree = (props) => { const TopThree = (props) => {
let { t } = useTranslation(); let { t } = useTranslation();
const { showTopThree, setCurrentReference, topThreeType } = props; const { showTopThree, showDetails, setCurrentReference, topThreeType } =
props;
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
let topthreeRow = []; let topthreeRow = [];
for (var i = 0; i < 3; i++) { // for (var i = 0; i < 3; i++) {
(function (i) { // (function (i) {
topthreeRow.push( // topthreeRow.push(
<div className="cardModuleItem" key={i}> // <div className="cardModuleItem" key={i}>
<div className="cardModuleDetails"> // <div className="cardModuleDetails">
<div className="cardModuleReference"> // <div className="cardModuleReference">
<b>Case reference:</b>{" "} // <b>Case reference:</b>{" "}
<Link // <Link
href={ // href={
topThreeType == "awaitingSubmission" // topThreeType == "awaitingSubmission"
? "/representation" // ? "/representation"
: "/case" // : "/case"
} // }
// >
// <a
// data-id={i}
// onClick={() => {
// setCurrentReference({
// "currentReference":
// showTopThree.value[i]
// .ticketnumber,
// "currentType": topThreeType,
// });
// }}
// >
// {showTopThree.value[i].ticketnumber}
// </a>
// </Link>
// </div>
// {topThreeType != "awaitingSubmission" ? (
// <div className="carModuleAddress">
// <b>Addressaa: </b>
// {showDetails[i].value[0]
// .pinswg_siteaddressline1 == null
// ? "not entered"
// : showDetails[i].value[0]
// .pinswg_siteaddressline1}
// </div>
// ) : (
// ""
// )}
// {topThreeType == "awaitingSubmission" ? (
// <div className="carModuleAddress">
// Make Representation on Case Incomplete, not
// submitted
// </div>
// ) : (
// ""
// )}
// </div>
// <div className="cardModuleRemoveCase"> &mdash;</div>
// </div>
// );
// })(i);
// }
let showTopThreeArr = showTopThree.value;
Object.keys(showTopThreeArr).map((key, index) => {
topthreeRow.push(
<div className="cardModuleItem" key={index}>
<div className="cardModuleDetails">
<div className="cardModuleReference">
<b>{t("myportal:case-reference")}:</b>{" "}
<Link
href={
topThreeType == "awaitingSubmission"
? router.locale == "cy"
? "/fymhorth/cynrychiolaeth"
: "/myportal/representation"
: router.locale == "cy"
? "/fymhorth/achos"
: "/myportal/case"
}
>
<a
data-id={index}
onClick={() => {
setCurrentReference({
"currentReference":
showTopThreeArr[key].ticketnumber,
"currentType": topThreeType,
});
}}
> >
<a {showTopThreeArr[key].ticketnumber}
data-id={i} </a>
onClick={() => { </Link>
setCurrentReference({
"currentReference":
showTopThree.value[i]
.ticketnumber,
"currentType": topThreeType,
});
}}
>
{showTopThree.value[i].ticketnumber}
</a>
</Link>
</div>
{topThreeType != "awaitingSubmission" ? (
<div className="carModuleAddress">
<b>Address: </b>
{showTopThree.value[i].address1}
</div>
) : (
""
)}
{topThreeType == "awaitingSubmission" ? (
<div className="carModuleAddress">
Make Representation on Case Incomplete, not
submitted
</div>
) : (
""
)}
</div> </div>
<div className="cardModuleRemoveCase"> &mdash;</div> {topThreeType != "awaitingSubmission" ? (
</div> <div className="carModuleAddress">
); <b>{t("myportal:case-address")}:</b>{" "}
})(i); {_.isEmpty(showDetails)
} ? t("myportal:case-address-not-entered")
: _.isEmpty(showDetails[index])
? t("myportal:case-address-not-entered")
: _.isEmpty(showDetails[index].value[0])
? t("myportal:case-address-not-entered")
: _.isEmpty(
showDetails[index].value[0]
.pinswg_siteaddressline1
)
? t("myportal:case-address-not-entered")
: showDetails[index].value[0]
.pinswg_siteaddressline1}
</div>
) : (
""
)}
return <>{topthreeRow}</>; {topThreeType == "awaitingSubmission" ? (
<div className="carModuleAddress">
Make Representation on Case Incomplete, not
submitted
</div>
) : (
""
)}
</div>
<div className="cardModuleRemoveCase"> &mdash;</div>
</div>
);
});
let noRecordsLabel = "";
switch (topThreeType) {
case "watchedCases":
noRecordsLabel = "You are not watching any cases";
break;
case "myRepresentations":
noRecordsLabel = "You have no representations";
break;
case "myCases":
noRecordsLabel = "You have no cases";
break;
case "awaitingSubmission":
noRecordsLabel = "You have no awaiting submissions";
break;
}
return (
<>
{topthreeRow.length == 0 ? (
<div>{noRecordsLabel}</div>
) : (
topthreeRow
)}
</>
);
}; };
const mapDispatchToProps = (dispatch) => { const mapDispatchToProps = (dispatch) => {
+20 -16
View File
@@ -20,8 +20,8 @@ const ViewAllResults = (props) => {
Object.keys(resultsArr).map((key, index) => { Object.keys(resultsArr).map((key, index) => {
resultsRowArr.push( resultsRowArr.push(
<div className="govuk-summary-list__row" key={key}> <div className="govuk-summary-list__row" key={key}>
<dd className="govuk-summary-list__value govuk-!-font-size-14 govuk-!-padding-left-2"> <dd className="govuk-summary-list__value govuk-!-font-size-16 govuk-!-padding-left-2">
<Link href="/case"> <Link href={router.locale == "cy" ? "/achos" : "/case"}>
<a <a
onClick={() => { onClick={() => {
setCurrentReference({ setCurrentReference({
@@ -34,11 +34,11 @@ const ViewAllResults = (props) => {
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Case Reference: Case Reference:
</span> </span>
{resultsArr[index].reference} {resultsArr[index].ticketnumber}
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Site Address:{" "} Site Address:{" "}
</span> </span>
@@ -47,17 +47,21 @@ const ViewAllResults = (props) => {
<br /> <br />
{resultsArr[index].postcode} {resultsArr[index].postcode}
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Appellant/Applicant: Appellant/Applicant:
</span> </span>
{resultsArr[index].appellantApplicant} Mr smith
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">Authority:</span> <span className="results-visually-hidden">Authority:</span>
{resultsArr[index].lpaname} {
resultsArr[index][
"_customerid_value@OData.Community.Display.V1.FormattedValue"
]
}
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">Case Type:</span> <span className="results-visually-hidden">Case Type:</span>
{ {
resultsArr[index][ resultsArr[index][
@@ -65,7 +69,7 @@ const ViewAllResults = (props) => {
] ]
} }
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">Status:</span> <span className="results-visually-hidden">Status:</span>
{ {
resultsArr[index][ resultsArr[index][
@@ -87,22 +91,22 @@ const ViewAllResults = (props) => {
<dl className="govuk-summary-list govuk-!-margin-bottom-9 results"> <dl className="govuk-summary-list govuk-!-margin-bottom-9 results">
<div className="govuk-summary-list__row results-headings"> <div className="govuk-summary-list__row results-headings">
<dd className="govuk-summary-list__key govuk-!-font-size-14 results_wider govuk-!-padding-left-2"> <dd className="govuk-summary-list__key govuk-!-font-size-16 results_wider govuk-!-padding-left-2">
{t("search:searchresults-case-reference-label")} {t("search:searchresults-case-reference-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-site-address-label")} {t("search:searchresults-site-address-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-applicant-label")} {t("search:searchresults-applicant-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-authority-label")} {t("search:searchresults-authority-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-case-type-label")} {t("search:searchresults-case-type-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-status-label")} {t("search:searchresults-status-label")}
</dd> </dd>
</div> </div>
+16 -14
View File
@@ -25,20 +25,22 @@ const WatchedCases = (props) => {
/> />
</div> </div>
<div className="cardVieAll"> {props.watchedCases.watchedCases["@odata.count"] != 0 && (
<Link href="/myportal/viewall"> <div className="cardVieAll">
<a <Link href="/myportal/viewall" shallow>
onClick={() => { <a
setCurrentView({ onClick={() => {
"viewName": "Watched Cases", setCurrentView({
"viewKey": "watchedCases", "viewName": "Watched Cases",
}); "viewKey": "watchedCases",
}} });
> }}
{t("myportal:viewall-link")} >
</a> {t("myportal:viewall-link")}
</Link> </a>
</div> </Link>
</div>
)}
</div> </div>
</div> </div>
); );
+1 -1
View File
@@ -19,7 +19,7 @@ export default function YourAccount() {
<div> <div>
<Link href="/account/personaldetails"> <Link href="/account/personaldetails">
<a className="govuk-button-secondary"> <a className="govuk-button-secondary">
Edit your account details View your account details
</a> </a>
</Link> </Link>
</div> </div>
+73 -37
View File
@@ -2,8 +2,11 @@ import Link from "next/link";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import xpath from "xpath"; import xpath from "xpath";
import jsonpath from "jsonpath";
import BuildCheckField from "./buildCheckfield"; import BuildCheckField from "./buildCheckfield";
import { useSelector, shallowEqual, connect } from "react-redux"; import { useSelector, shallowEqual, connect } from "react-redux";
import fieldLookup from "../../data/crmfieldlookuptranslations.json";
import { import {
setCaseReference, setCaseReference,
setCurrentSection, setCurrentSection,
@@ -22,6 +25,7 @@ let BuildCheckRow = (props) => {
sectionCount, sectionCount,
onSubmit, onSubmit,
updateCurrentSection, updateCurrentSection,
mandatoryFieldsData,
} = props; } = props;
const parser = new DOMParser(); const parser = new DOMParser();
@@ -49,6 +53,23 @@ let BuildCheckRow = (props) => {
return dateString; return dateString;
} }
const FieldsTranslations = (label) => {
const router = useRouter();
const { locale } = router;
const { appealtypes } = router.query;
let formObj = jsonpath.query(fieldLookup, "$['" + appealtypes + "']");
let labelTrans =
router.locale == "cy"
? jsonpath.query(
formObj,
"$..[?(@.value=='" + label + "')].value_cy"
)
: label;
return labelTrans;
};
return ( return (
<> <>
{Object.keys(rowXML).map((key, index) => { {Object.keys(rowXML).map((key, index) => {
@@ -56,44 +77,59 @@ let BuildCheckRow = (props) => {
rowXML[key].outerHTML, rowXML[key].outerHTML,
"text/xml" "text/xml"
); );
var rows = xpath.select("//label/@description", doc); if (_.isEmpty(rowXML[key].innerHTML)) {
var fieldtype = xpath.select("//@classid", doc); ("");
var datafieldname = xpath.select("//@datafieldname", doc); } else {
var rows = xpath.select("//label/@description", doc);
var fieldtype = xpath.select("//@classid", doc);
var datafieldname = xpath.select("//@datafieldname", doc);
const isRequiredField = jsonpath.query(
mandatoryFieldsData,
"$..value[?(@.LogicalName=='" +
datafieldname[0].value +
"')]"
);
return ( if (isRequiredField[0].RequiredLevel.Value != "None") {
<div className="govuk-summary-list__row" key={key}> return (
<dt className="govuk-summary-list__key"> <div className="govuk-summary-list__row" key={key}>
{rows[0].value} <dt className="govuk-summary-list__key">
</dt> {FieldsTranslations(rows[0].value)}
<dd className="govuk-summary-list__value"> </dt>
{fieldtype[0].value == <dd className="govuk-summary-list__value">
"{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}" {fieldtype[0].value ==
? formatDate( "{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}"
props.props.form["appealForm"].values[ ? formatDate(
datafieldname[0].value props.props.form["appealForm"]
] .values[
) datafieldname[0].value
: props.props.form["appealForm"].values[ ]
datafieldname[0].value )
]} : props.props.form["appealForm"].values[
</dd> datafieldname[0].value
<dd className="govuk-summary-list__actions"> ]}
<a </dd>
className="govuk-link" <dd className="govuk-summary-list__actions">
href="#" <a
onClick={() => { className="govuk-link"
updateCurrentSection(whichSection); href="#"
}} onClick={() => {
> updateCurrentSection(whichSection);
Change }}
<span className="govuk-visually-hidden"> >
{" "} {t("newappeal:change-link-label")}
name <span className="govuk-visually-hidden">
</span> {" "}
</a> {FieldsTranslations(rows[0].value)}
</dd> </span>
</div> </a>
); </dd>
</div>
);
} else {
return null;
}
}
})} })}
</> </>
); );
+12 -15
View File
@@ -28,6 +28,7 @@ let BuildCheckSection = (props) => {
handleSubmit, handleSubmit,
formTitle, formTitle,
setCurrentSection, setCurrentSection,
mandatoryFieldsData,
} = props; } = props;
const parser = new DOMParser(); const parser = new DOMParser();
@@ -56,32 +57,29 @@ let BuildCheckSection = (props) => {
return ( return (
<div className="govuk-grid-row"> <div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds"> <div className="govuk-grid-column-full">
<div> <div>
<h1 className="govuk-heading-m"> <h1 className="govuk-heading-m">
Are these answers correct? Are these answers correct?
</h1> </h1>
{Object.keys(titles).map((key) => ( <dl className="govuk-summary-list ">
<> {Object.keys(titles).map((key) => (
<h2 className="govuk-heading-m"> <>
{/* <h2 className="govuk-heading-m">
{titles[key].value} {titles[key].value}
</h2> </h2> */}
<dl
className="govuk-summary-list govuk-!-margin-bottom-9"
key={key}
>
<BuildCheckRow <BuildCheckRow
formXML={formXML} formXML={formXML}
whichSection={parseInt(key) + 1} whichSection={parseInt(key) + 1}
sectionCount={key} sectionCount={key}
props={props} props={props}
key={key} key={key}
mandatoryFieldsData={mandatoryFieldsData}
/> />
</dl> </>
</> ))}
))} </dl>
<dl className="govuk-summary-list govuk-!-margin-bottom-9 at-summary-list"></dl> <dl className="govuk-summary-list govuk-!-margin-bottom-9 at-summary-list"></dl>
</div> </div>
<div className="govuk-button-group"> <div className="govuk-button-group">
@@ -90,11 +88,10 @@ let BuildCheckSection = (props) => {
data-module="govuk-button" data-module="govuk-button"
onClick={() => setCurrentSection(9999)} onClick={() => setCurrentSection(9999)}
> >
Submit appeal {t("newappeal:submit-appeal-button")}
</a> </a>
</div> </div>
</div> </div>
<div className="govuk-grid-column-one-third"></div>
</div> </div>
); );
}; };
+22 -4
View File
@@ -2,6 +2,7 @@ import Link from "next/link";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import xpath from "xpath"; import xpath from "xpath";
import { import {
Textfield, Textfield,
DateField, DateField,
@@ -20,7 +21,7 @@ export default function BuildField(props) {
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
const { fieldType, label, datafieldname } = props; const { fieldType, label, datafieldname, mandatoryFieldData } = props;
const parser = new DOMParser(); const parser = new DOMParser();
@@ -31,7 +32,15 @@ export default function BuildField(props) {
<ReadOnlyfield <ReadOnlyfield
name={props.datafieldname} name={props.datafieldname}
label={props.label} label={props.label}
value={props.props.props.appealType.caseReference} value={
props.props.props.appealType.caseReference
.ticketnumber
}
props={props}
ticketnumber={
props.props.props.appealType.caseReference
.ticketnumber
}
/> />
); );
break; break;
@@ -41,6 +50,7 @@ export default function BuildField(props) {
name={props.datafieldname} name={props.datafieldname}
label={props.label} label={props.label}
datafieldname={props.datafieldname} datafieldname={props.datafieldname}
picklistData={props.picklistData}
/> />
); );
break; break;
@@ -52,9 +62,17 @@ export default function BuildField(props) {
/> />
); );
break; break;
case "{ 4273EDBD-AC1D-40d3-9FB2-095C621B552D}": case "{4273EDBD-AC1D-40d3-9FB2-095C621B552D}":
return ( return (
<Textfield name={props.datafieldname} label={props.label} /> <Textfield
name={props.datafieldname}
label={props.label}
props={props}
ticketnumber={
props.props.props.appealType.caseReference
.ticketnumber
}
/>
); );
break; break;
case "{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}": case "{5B773807-9FB2-42db-97C3-7A91EFF8ADFF}":
+41 -13
View File
@@ -1,8 +1,10 @@
import Link from "next/link"; import Link from "next/link";
import _ from "lodash";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import xpath from "xpath"; import xpath from "xpath";
import BuildField from "./buildfield"; import BuildField from "./buildfield";
import jsonpath from "jsonpath";
export default function BuildRow(props) { export default function BuildRow(props) {
let { t } = useTranslation(); let { t } = useTranslation();
@@ -10,7 +12,13 @@ export default function BuildRow(props) {
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
const { rowXML, whichSection, sectionCount, onSubmit } = props; const {
rowXML,
whichSection,
sectionCount,
onSubmit,
mandatoryFieldsData,
} = props;
const parser = new DOMParser(); const parser = new DOMParser();
@@ -21,18 +29,38 @@ export default function BuildRow(props) {
rowXML[key].outerHTML, rowXML[key].outerHTML,
"text/xml" "text/xml"
); );
var rows = xpath.select("//label/@description", doc); if (_.isEmpty(rowXML[key].innerHTML)) {
var fieldtype = xpath.select("//@classid", doc); ("");
var datafieldname = xpath.select("//@datafieldname", doc); } else {
return ( var rows = xpath.select("//label/@description", doc);
<BuildField var fieldtype = xpath.select("//@classid", doc);
fieldType={fieldtype[0].value} var datafieldname = xpath.select("//@datafieldname", doc);
label={rows[0].value}
datafieldname={datafieldname[0].value} const isRequiredField = jsonpath.query(
key={key} mandatoryFieldsData,
props={props} "$..value[?(@.LogicalName=='" +
/> datafieldname[0].value +
); "')]"
);
if (isRequiredField[0].RequiredLevel.Value != "None") {
return (
<BuildField
fieldType={fieldtype[0].value}
label={rows[0].value}
datafieldname={datafieldname[0].value}
key={key}
props={props}
picklistData={
props.props.props.formData.pickListData
}
mandatoryFieldsData={mandatoryFieldsData}
/>
);
} else {
return null;
}
}
})} })}
</div> </div>
); );
+25 -22
View File
@@ -32,19 +32,21 @@ let BuildSection = (props) => {
setCurrentSection, setCurrentSection,
refno, refno,
gotoSection, gotoSection,
mandatoryFieldsData,
} = props; } = props;
const currentSection = props.appealType.currentSection; const currentSection = props.appealType.currentSection;
const parser = new DOMParser(); const parser = new DOMParser();
var doc = parser.parseFromString(props.formXML, "text/xml"); var doc = parser.parseFromString(props.formXML, "text/xml");
var titles = xpath.select( // var titles = xpath.select(
"//form/tabs/tab[" + currentSection + " ]/labels/label/@description", // "//form/tabs/tab[" + currentSection + " ]/labels/label/@description",
doc // doc
); // );
var rowXML = xpath.select( var rowXML = xpath.select(
"/form/tabs/tab[" + // "/form/tabs/tab[" +
currentSection + // currentSection +
"]/columns//sections/section/rows/row", // "]/columns//sections/section/rows/row",
"/form/tabs/tab/columns//sections/section/rows/row",
doc doc
); );
@@ -129,7 +131,8 @@ let BuildSection = (props) => {
<div className="govuk-grid-row"> <div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds"> <div className="govuk-grid-column-two-thirds">
<h1 className="govuk-heading-m govuk-!-margin-top-5"> <h1 className="govuk-heading-m govuk-!-margin-top-5">
{titles[0].value}{" "} {/* {titles[0].value}{" "} */}
Enter your appeal information
</h1> </h1>
<form onSubmit={handleSubmit(onHandleSubmit)}> <form onSubmit={handleSubmit(onHandleSubmit)}>
{hasErrors == true ? ( {hasErrors == true ? (
@@ -141,17 +144,17 @@ let BuildSection = (props) => {
) : ( ) : (
"" ""
)} )}
<BuildRow <BuildRow
rowXML={rowXML} rowXML={rowXML}
whichSection={props.whichSection} whichSection={props.whichSection}
sectionCount={props.sectionCount} sectionCount={props.sectionCount}
onSubmit={onSubmit} onSubmit={onSubmit}
mandatoryFieldsData={mandatoryFieldsData}
props={props} props={props}
/> />
{} {}
<div className="govuk-button-group"> <div className="govuk-button-group">
{props.sectionCount != currentSection ? ( {/* {props.sectionCount != currentSection ? (
<button <button
type="submit" type="submit"
className="govuk-button" className="govuk-button"
@@ -163,15 +166,15 @@ let BuildSection = (props) => {
) : ( ) : (
"" ""
)} )}
{props.sectionCount == currentSection ? ( {props.sectionCount == currentSection ? ( */}
<button <button
type="submit" type="submit"
className="govuk-button" className="govuk-button"
data-module="govuk-button" data-module="govuk-button"
> >
Submit Submit
</button> </button>
) : ( {/* ) : (
"" ""
)} )}
{currentSection > 1 ? ( {currentSection > 1 ? (
@@ -186,11 +189,11 @@ let BuildSection = (props) => {
</a> </a>
) : ( ) : (
"" ""
)} )} */}
</div> </div>
</form> </form>
</div> </div>
<div className="govuk-grid-column-one-third"> {/* <div className="govuk-grid-column-one-third">
<nav <nav
role="navigation" role="navigation"
aria-labelledby="progress-list" aria-labelledby="progress-list"
@@ -239,7 +242,7 @@ let BuildSection = (props) => {
</ul> </ul>
</ol> </ol>
</nav> </nav>
</div> </div> */}
</div> </div>
); );
}; };
+85 -4
View File
@@ -7,11 +7,87 @@ import BuildRow from "./buildrow";
import { reduxForm, formValueSelector } from "redux-form"; import { reduxForm, formValueSelector } from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux"; import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import { setCurrentSection } from "../../store/appealType/action"; import { setCurrentSection } from "../../store/appealType/action";
import { updateCase } from "../../actions";
import jsonpath from "jsonpath";
import data from "../../data/collections.json";
let CompleteAppeal = (props) => { let CompleteAppeal = (props) => {
// useEffect(() => { // un comment to update incident with an appealtype id
// window.scrollTo(0, 0); useEffect(() => {
// }); let incidentId = props.appealType.caseReference.incidentid;
let updateBody = props.props.form.appealForm.values;
let updateBindAppealTypeToIncident =
"pinswg_" +
props.appealType.caseReference[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
].replace(/(\band|[\s\-\+\(\)\,\&])/g, "") +
"Ids";
Object.assign(updateBody, {
"pinswg_Appellant@odata.bind":
"/contacts(" + props.props.accountDetails.loggedinUserId + ")",
"pinswg_AssociatedLPA@odata.bind":
"/accounts(" + props.appealType.appealLPA + ")",
"pinswg_name": props.appealType.caseReference.ticketnumber,
[updateBindAppealTypeToIncident + "@odata.bind"]:
"/incidents(" + incidentId + ")",
});
updateBody = JSON.stringify(updateBody);
updateBody = updateBody.replace(/:"Yes"/gm, `:true`);
updateBody = updateBody.replace(/:"No"/gm, `:false`);
updateBody = JSON.parse(updateBody);
let updateFormCollection = getFormCollection(
"pinswg_" +
props.appealType.caseReference[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
]
.replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
.toLowerCase()
);
let primaryAttribute = getPrimaryAttr(
"pinswg_" +
props.appealType.caseReference[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
]
.replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
.toLowerCase()
);
updateCase(
incidentId,
updateBody,
updateFormCollection,
primaryAttribute,
props.appealType.caseReference.ticketnumber
);
}, [
props.appealType.caseReference,
props.props.form.appealForm.values,
props.appealType.appealLPA,
props.props.accountDetails.loggedinUserId,
]);
const getFormCollection = (formtype) => {
const collectionName = jsonpath.query(
data,
"$..[?(@.LogicalName=='" + formtype + "')].LogicalCollectionName"
);
//console.log(collectionName[0]);
return collectionName[0];
};
const getPrimaryAttr = (formtype) => {
const attrName = jsonpath.query(
data,
"$..[?(@.LogicalName=='" + formtype + "')].PrimaryIdAttribute"
);
return attrName[0];
};
let { t } = useTranslation(); let { t } = useTranslation();
@@ -52,6 +128,9 @@ let CompleteAppeal = (props) => {
setCurrentSection(currentSection + 1); setCurrentSection(currentSection + 1);
}; };
// console.log(JSON.stringify(props.props.form.appealForm.values, null, 2));
//alert(JSON.stringify(props.props.form.appealForm.values, null, 2));
return ( return (
<div className="govuk-grid-row"> <div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds"> <div className="govuk-grid-column-two-thirds">
@@ -60,7 +139,9 @@ let CompleteAppeal = (props) => {
<div className="govuk-panel__body"> <div className="govuk-panel__body">
Your reference number Your reference number
<br /> <br />
<strong>{props.appealType.caseReference}</strong> <strong>
{props.appealType.caseReference.ticketnumber}
</strong>
</div> </div>
</div> </div>
+83 -46
View File
@@ -7,6 +7,9 @@ import BuildRow from "./buildrow";
import { reduxForm, formValueSelector, Field } from "redux-form"; import { reduxForm, formValueSelector, Field } from "redux-form";
import { useDispatch, useSelector, shallowEqual, connect } from "react-redux"; import { useDispatch, useSelector, shallowEqual, connect } from "react-redux";
import jsonpath from "jsonpath"; import jsonpath from "jsonpath";
import transLookup from "../../data/lookuptranslations.json";
import data from "../../data/collections.json";
import { import {
setAppealType, setAppealType,
setAppealTypeTitle, setAppealTypeTitle,
@@ -33,11 +36,9 @@ let CreateCase = (props) => {
? [{}] ? [{}]
: _.isEmpty(props.appealType.appealTypeOptions) : _.isEmpty(props.appealType.appealTypeOptions)
? [{}] ? [{}]
: _.isEmpty(props.appealType.appealTypeOptions.GlobalOptionSet) : _.isEmpty(props.appealType.appealTypeOptions.value)
? [{}] ? [{}]
: _.isEmpty(props.appealType.appealTypeOptions.GlobalOptionSet.Options) : props.appealType.appealTypeOptions.value;
? [{}]
: props.appealType.appealTypeOptions.GlobalOptionSet.Options;
let lpaOptionsObj = _.isEmpty(props) let lpaOptionsObj = _.isEmpty(props)
? [{}] ? [{}]
@@ -45,7 +46,9 @@ let CreateCase = (props) => {
? [{}] ? [{}]
: _.isEmpty(props.LPAData.LPAData) : _.isEmpty(props.LPAData.LPAData)
? [{}] ? [{}]
: jsonpath.query(props.LPAData.LPAData, "$..name"); : _.isEmpty(props.LPAData.LPAData)
? [{}]
: props.LPAData.LPAData.value;
const RenderLPAList = ({ const RenderLPAList = ({
name, name,
@@ -88,7 +91,7 @@ let CreateCase = (props) => {
//onChange={(e) => props.onChangeSelectLPA(e)} //onChange={(e) => props.onChangeSelectLPA(e)}
> >
<option value="" disabled defaultValue> <option value="" disabled defaultValue>
Select... {t("common:drop-down-select")}
</option> </option>
{_.isEmpty(optionsObj) {_.isEmpty(optionsObj)
? "" ? ""
@@ -96,9 +99,17 @@ let CreateCase = (props) => {
return ( return (
<option <option
key={key} key={key}
value={optionsObj[key]} value={optionsObj[key].accountid}
> >
{optionsObj[key]} {router.locale == "cy"
? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
optionsObj[key]
.name +
'")].value_cy'
)
: optionsObj[key].name}
</option> </option>
); );
})} })}
@@ -149,7 +160,7 @@ let CreateCase = (props) => {
//onChange={(e) => props.onChangeSelectAppealType(e)} //onChange={(e) => props.onChangeSelectAppealType(e)}
> >
<option value="" disabled defaultValue> <option value="" disabled defaultValue>
Select... {t("common:drop-down-select")}
</option> </option>
{_.isEmpty(optionsObj) {_.isEmpty(optionsObj)
? "" ? ""
@@ -158,51 +169,45 @@ let CreateCase = (props) => {
<option <option
key={key} key={key}
value={ value={
_.isEmpty( _.isEmpty(optionsObj[key])
optionsObj[key].Label
)
? "" ? ""
: _.isEmpty( : _.isEmpty(
optionsObj[key] optionsObj[key]
.Label
.LocalizedLabels
) )
? "" ? ""
: _.isEmpty( : _.isEmpty(
optionsObj[key] optionsObj[key]
.Label .value
.LocalizedLabels[0]
.Label
) )
? "" ? ""
: optionsObj[ : optionsObj[key]
key .attributevalue +
].Label.LocalizedLabels[0].Label.replace( "," +
/[\s\-\+\(\)\,]/g, optionsObj[key].value
"" .replace(
).toLowerCase() /(\band|[\s\-\+\(\)\,\&])/g,
""
)
.toLowerCase()
} }
> >
{_.isEmpty(optionsObj[key]) {_.isEmpty(optionsObj[key])
? "" ? ""
: _.isEmpty( : _.isEmpty(optionsObj[key])
optionsObj[key].Label
)
? "" ? ""
: _.isEmpty( : _.isEmpty(
optionsObj[key].Label optionsObj[key].value
.LocalizedLabels
) )
? "" ? ""
: _.isEmpty( : router.locale == "cy"
optionsObj[key].Label ? jsonpath.query(
.LocalizedLabels[0] transLookup,
.Label '$..[?(@.value=="' +
optionsObj[key]
.value +
'")].value_cy'
) )
? "" : optionsObj[key].value}
: optionsObj[key].Label
.LocalizedLabels[0]
.Label}
</option> </option>
); );
})} })}
@@ -215,11 +220,43 @@ let CreateCase = (props) => {
const required = (value) => (value ? undefined : "Required"); const required = (value) => (value ? undefined : "Required");
const getFormCollection = (formtype) => {
formtype =
"pinswg_" +
(formtype.length > 39 ? formtype.slice(0, 39) : formtype);
const collectionName = jsonpath.query(
data,
"$..[?(@.LogicalName=='" + formtype + "')].UrlName"
);
//console.log(collectionName[0]);
return collectionName[0];
};
const onHandleSubmit = (values) => { const onHandleSubmit = (values) => {
event.preventDefault(); event.preventDefault();
router.replace("/newappeal/" + values.appealTypes, null, {
shallow: true, var appTypeCollection = values.appealTypes.split(",")[1];
});
appTypeCollection = getFormCollection(
appTypeCollection.length > 39
? appTypeCollection.slice(0, 39)
: appTypeCollection
);
router.replace(
(router.locale = "cy" ? "/apelnewydd" : "/newappeal") +
"/" +
appTypeCollection +
"?lpa=" +
values.lpaTypes +
"&apt=" +
values.appealTypes.split(",")[0],
null,
{
shallow: true,
}
);
}; };
return ( return (
@@ -229,8 +266,8 @@ let CreateCase = (props) => {
component={RenderLPAList} component={RenderLPAList}
optionsObj={lpaOptionsObj} optionsObj={lpaOptionsObj}
validate={[required]} validate={[required]}
label="Select your local planning authority" label={t("newappeal:select-lpa-label")}
errorMsg="Local authority is required" errorMsg={t("newappeal:select-lpa-label-error-msg")}
/> />
<Field <Field
@@ -238,8 +275,8 @@ let CreateCase = (props) => {
component={RenderAppealTypeList} component={RenderAppealTypeList}
optionsObj={appealOptionsObj} optionsObj={appealOptionsObj}
validate={[required]} validate={[required]}
label="Select an appeal type" label={t("newappeal:select-appeal-type-label")}
errorMsg="Appeal type is required" errorMsg={t("newappeal:select-appeal-type-label-error-msg")}
/> />
<button <button
@@ -247,7 +284,7 @@ let CreateCase = (props) => {
className="govuk-button" className="govuk-button"
data-module="govuk-button" data-module="govuk-button"
> >
Continue {t("common:continue-button")}
</button> </button>
</form> </form>
); );
@@ -273,8 +310,8 @@ const mapDispatchToProps = (dispatch) => {
); );
dispatch(setAppealTypeID(event.target.value)); dispatch(setAppealTypeID(event.target.value));
}, },
onChangeSelectLPA: (event) => { onChangeSelectLPA: (lpaId) => {
dispatch(setAppealLPA(event.target.value)); dispatch(setAppealLPA(lpaId));
}, },
}; };
}; };
File diff suppressed because it is too large Load Diff
+326
View File
@@ -0,0 +1,326 @@
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";
import PaginationControl from "./pagination";
import { useState } from "react";
import LoadingOverlay from "react-loading-overlay";
import {
getBasicDNSSearchPaged,
getBasicSearchDetailsPaged,
} from "../../actions";
import data from "../../data/collections.json";
import {
setSearchResults,
setSearchDetails,
} from "../../store/searchOutput/action";
import { getSearchDetailsPaged } from "../utils";
const DNSSearchResults = (props) => {
const {
searchString,
searchResultsObj,
searchDetailsObj,
setCurrentReference,
setSearchResults,
setSearchDetails,
advancedSearch,
} = props;
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
var resultsArr = searchResultsObj.value || [];
const [showSpinnerState, setShowSpinnerState] = useState(false);
let spinnerState = () => {
showSpinnerState == true
? setShowSpinnerState(false)
: setShowSpinnerState(true);
};
const ResultsView = (resultsArr) => {
return (
<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-16 results_wider ">
{t("search:searchresults-case-reference-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-site-address-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-applicant-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-authority-label")}
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-16">
{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-16 ">
<Link
href={
router.locale == "cy"
? "/manyliondns"
: "/dnsdetails"
}
>
<a
onClick={() => {
setCurrentReference({
"currentReference":
item.title,
"currentType":
"searchResultsObj",
"incidentid":
item.incidentid,
"appealType":
item.pinswg_appealcasetype,
});
}}
>
<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-16">
<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-16">
<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-16">
<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-16">
<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>
<PaginationControl
currentPage={currentPage}
searchResultsObj={searchResultsObj}
spinnerState={spinnerState}
getSearchPageResults={getSearchPageResults}
/>
</div>
</div>
);
};
const pagesCount = Math.ceil(searchResultsObj["@odata.count"] / 10);
let currentPage = 0;
currentPage = decodeURI(searchResultsObj["@odata.nextLink"]).split(
"skiptoken="
)[1];
currentPage =
typeof currentPage != "undefined"
? parseInt(
decodeURI(currentPage)
.split('pagenumber="')[1]
.slice(
0,
decodeURI(currentPage)
.split('pagenumber="')[1]
.indexOf('"')
) - 1
)
: pagesCount;
const getSearchPageResults = (pageNumber) => {
//console.log(advancedSearch, searchString, pageNumber);
getBasicDNSSearchPaged(pageNumber)
.then((data) => {
//console.log(data);
setSearchResults(data);
return data;
})
.then((data) => {
//console.log("getting details", data);
return getSearchDetailsPaged(data).then((data) => {
setSearchDetails(data);
setShowSpinnerState(false);
});
});
};
return (
<>
<div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds">
<h1 className="govuk-heading-l">
{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>
{resultsArr.length > 0 ? (
ResultsView(resultsArr)
) : (
<div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds">
<h3>{t("search:searchresults-no-records-label")}</h3>
</div>
</div>
)}
<LoadingOverlay
active={showSpinnerState}
spinner
text={t("common:spinner-searching")}
/>
</>
);
};
const mapDispatchToProps = (dispatch) => {
return {
setCurrentReference: (currentReference) => {
dispatch(setCurrentReference(currentReference));
},
setSearchResults: (searchResultsObj) => {
dispatch(setSearchResults(searchResultsObj));
},
setSearchDetails: (searchDetailsObj) => {
dispatch(setSearchDetails(searchDetailsObj));
},
};
};
export default connect(null, mapDispatchToProps)(DNSSearchResults);
+155
View File
@@ -0,0 +1,155 @@
import Link from "next/link";
import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation";
const PaginationControl = (props) => {
const {
searchString,
searchResultsObj,
currentPage,
spinnerState,
getSearchPageResults,
} = props;
let { t } = useTranslation();
const router = useRouter();
const { locale } = router;
const pagesCount = Math.ceil(searchResultsObj["@odata.count"] / 10);
const getRange = (start, end) => {
//console.log(start, end);
return Array(end - start + 1)
.fill()
.map((v, i) => i + start);
};
const paginationNumbers = (currentPage, pageCount) => {
//console.log(currentPage);
let delta;
if (pageCount <= 10) {
// delta === 7: [1 2 3 4 5 6 7]
delta = 10;
} else {
// delta === 2: [1 ... 4 5 6 ... 10]
// delta === 4: [1 2 3 4 5 ... 10]
delta = currentPage > 4 && currentPage < pageCount - 3 ? 4 : 6;
}
const range = {
start: Math.round(currentPage - delta / 2),
end: Math.round(currentPage + delta / 2),
};
if (range.start - 1 === 1 || range.end + 1 === pageCount) {
range.start += 1;
range.end += 1;
}
let pages =
currentPage > delta
? getRange(
Math.min(range.start, pageCount - delta),
Math.min(range.end, pageCount)
)
: getRange(1, Math.min(pageCount, delta + 1));
const withDots = (value, pair) =>
pages.length + 1 !== pageCount ? pair : [value];
if (pages[0] !== 1) {
pages = withDots(1, [1, "..."]).concat(pages);
}
if (pages[pages.length - 1] < pageCount) {
pages = pages.concat(withDots(pageCount, ["...", pageCount]));
}
//console.log(pages);
return pages;
};
const paginationArray = paginationNumbers(currentPage, pagesCount);
return (
<>
{" "}
<div className="govuk-!-margin-bottom-7 ">
<div className="govuk-grid-row paginationWrapper">
<div className="govuk-grid-column-one-quarter paginationPrevious">
{currentPage != 1 ? (
<span
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem leftTextButton"
onClick={() => {
spinnerState(),
getSearchPageResults(currentPage - 1);
}}
>
{t("common:previous-link-button")}
</span>
) : (
<span className="govuk-body leftTextButton govuk-!-font-weight-bold">
{t("common:previous-link-button")}
</span>
)}
</div>
<div className="govuk-grid-column-one-half paginationContainer">
{paginationArray.map((e, i) =>
currentPage == i + 1 ? (
<span
key={i}
className=" govuk-body govuk-!-padding-2 govuk-!-font-weight-bold "
>
{e}
</span>
) : e == "..." ? (
<span
key={i}
className=" govuk-body govuk-!-padding-2 govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem"
>
{e}
</span>
) : (
<span
className="govuk-body govuk-link govuk-!-padding-2 govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem"
key={i}
onClick={() => {
spinnerState();
console.log(i + 1);
getSearchPageResults(i + 1);
}}
>
{e}
</span>
)
)}
</div>
<div className="govuk-grid-column-one-quarter paginationNext">
{currentPage != pagesCount ? (
<span
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem rightTextButton"
onClick={() => {
spinnerState(),
getSearchPageResults(currentPage + 1);
}}
>
{t("common:next-link-button")}
</span>
) : (
<span className="govuk-body rightTextButton govuk-!-font-weight-bold">
{" "}
{t("common:next-link-button")}
</span>
)}
</div>
</div>
<div className="govuk-body-s mobilePageCount">
{t("common:pages-label")} {currentPage}{" "}
{t("common:of-label")} {pagesCount}
</div>
</div>
</>
);
};
export default PaginationControl;
+322 -94
View File
@@ -1,96 +1,100 @@
import Link from "next/link"; import Link from "next/link";
import { useRouter } from "next/router"; import { useRouter } from "next/router";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import { setCurrentReference } from "../../store/currentView/action"; import {
currentViewActionTypes,
setCurrentReference,
} from "../../store/currentView/action";
import { connect } from "react-redux"; import { connect } from "react-redux";
import jsonpath from "jsonpath";
import _ from "lodash";
import transLookup from "../../data/lookuptranslations.json";
import {
getBasicSearchPaged,
getSearchDocumentDetails,
getBasicSearchDetailsPaged,
getAdvancedSearchPaged,
} from "../../actions";
import data from "../../data/collections.json";
import { useState } from "react";
import LoadingOverlay from "react-loading-overlay";
import {
setSearchResults,
setSearchDetails,
} from "../../store/searchOutput/action";
import { useEffect } from "react";
import PaginationControl from "./pagination";
import { getSearchDetailsPaged, getFormCollection } from "../utils";
const SearchResults = (props) => { const SearchResults = (props) => {
const { searchString, searchResultsObj, setCurrentReference } = props; const {
searchString,
searchResultsObj,
searchDetailsObj,
setCurrentReference,
setSearchResults,
setSearchDetails,
advancedSearch,
} = props;
let { t } = useTranslation(); let { t } = useTranslation();
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
var resultsArr = searchResultsObj.value || [{}]; var resultsArr = searchResultsObj.value || [];
const resultRow = Object.keys(resultsArr).map((key, index) => {
<div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 ">
<Link href="/case">
<a>
<span className="results-visually-hidden">
wwwwwwwCase Reference:
</span>
{resultsArr[key].title}
</a>
</Link>
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">Site Address: </span>
23 Martineau Lane
<br /> HASTINGS
<br />
TN35 5DS
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">
Appellant/Applicant:
</span>
Mr J Pocknell
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">Authority:</span>
Hastings Borough Council{" "}
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">Case Type:</span>
Planning (W){" "}
</dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14">
<span className="results-visually-hidden">Status:</span>
In Progress
</dd>
</div>;
});
return ( const [showSpinnerState, setShowSpinnerState] = useState(false);
<div className="govuk-grid-row">
<div className="govuk-grid-column-full"> let spinnerState = () => {
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7"> showSpinnerState == true
{t("search:searchresults-title-label")} ? setShowSpinnerState(false)
</h1> : setShowSpinnerState(true);
<p className="govuk-body"> };
{t("search:searchresults-count-label", {
count: searchResultsObj["@odata.count"].toString(), const ResultsView = (resultsArr) => {
})} return (
. You searched for <em>&quot;{searchString}&quot;</em> <>
</p>
<dl className="govuk-summary-list govuk-!-margin-bottom-9 results"> <dl className="govuk-summary-list govuk-!-margin-bottom-9 results">
<div className="govuk-summary-list__row results-headings"> <div className="govuk-summary-list__row results-headings">
<dd className="govuk-summary-list__key govuk-!-font-size-14 results_wider "> <dd className="govuk-summary-list__key govuk-!-font-size-16 results_wider ">
{t("search:searchresults-case-reference-label")} {t("search:searchresults-case-reference-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-site-address-label")} {t("search:searchresults-site-address-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-applicant-label")} {t("search:searchresults-applicant-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-authority-label")} {t("search:searchresults-authority-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-case-type-label")} {t("search:searchresults-case-type-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-status-label")} {t("search:searchresults-status-label")}
</dd> </dd>
</div> </div>
{resultsArr.map((item, key) => { {resultsArr.map((item, key) => {
let detailsObj = jsonpath.query(
searchDetailsObj,
"$..value[?(@.pinswg_name=='" + item.title + "')]"
);
detailsObj = detailsObj[0];
return ( return (
<div className="govuk-summary-list__row" key={key}> <div className="govuk-summary-list__row" key={key}>
<dd className="govuk-summary-list__value govuk-!-font-size-14 "> <dd className="govuk-summary-list__value govuk-!-font-size-16 ">
<Link href="/case"> <Link
href={
router.locale == "cy"
? "/achos"
: "/case"
}
>
<a <a
onClick={() => { onClick={() => {
setCurrentReference({ setCurrentReference({
@@ -98,67 +102,285 @@ const SearchResults = (props) => {
item.title, item.title,
"currentType": "currentType":
"searchResultsObj", "searchResultsObj",
"incidentid":
item.incidentid,
"appealType":
item.pinswg_appealcasetype,
}); });
}} }}
> >
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Case Reference: {t(
"search:searchresults-case-reference-label"
)}
:
</span> </span>
{item.title} {item.title}
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Site Address:{" "} {t(
"search:searchresults-site-address-label"
)}
:
</span> </span>
23 Martineau Lane {_.has(
<br /> HASTINGS detailsObj,
<br /> "pinswg_siteaddressline1"
TN35 5DS )
? detailsObj.pinswg_siteaddressline1
: ""}
{/* {detailsObj.pinswg_siteaddressline1 !=
null && <br />} */}
{_.has(
detailsObj,
"pinswg_siteaddressline1"
) &&
detailsObj.pinswg_siteaddressline1 !=
null && <br />}
{_.has(
detailsObj,
"pinswg_siteaddressline1"
)
? detailsObj.pinswg_siteaddressline2
: ""}
{_.has(
detailsObj,
"pinswg_siteaddressline2"
) &&
detailsObj.pinswg_siteaddressline2 !=
null && <br />}
{_.has(detailsObj, "pinswg_siteaddresstown")
? detailsObj.pinswg_siteaddresstown
: ""}
{_.has(
detailsObj,
"pinswg_siteaddresstown"
) &&
detailsObj.pinswg_siteaddresstown !=
null && <br />}
{_.has(
detailsObj,
"pinswg_siteaddresscounty"
)
? detailsObj.pinswg_siteaddresscounty
: ""}
{_.has(
detailsObj,
"pinswg_siteaddresscounty"
) &&
detailsObj.pinswg_siteaddresscounty !=
null && <br />}
{_.has(
detailsObj,
"pinswg_siteaddresspostcode"
)
? detailsObj.pinswg_siteaddresspostcode
: ""}
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Appellant/Applicant: {t(
"search:searchresults-applicant-label"
)}
:
</span> </span>
Mr J Pocknell {_.has(detailsObj, [
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue",
])
? detailsObj[
"_pinswg_appellant_value@OData.Community.Display.V1.FormattedValue"
]
: ""}
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Authority: {t(
"search:searchresults-authority-label"
)}
:
</span> </span>
{ {_.has(item, [
item[ "_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue",
"_customerid_value@OData.Community.Display.V1.FormattedValue" ])
] ? router.locale == "cy"
} ? jsonpath.query(
transLookup,
'$..[?(@.value=="' +
item[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: item[
"_pinswg_associatedlpa_value@OData.Community.Display.V1.FormattedValue"
] || "N/A"
: ""}
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Case Type: {t(
"search:searchresults-case-type-label"
)}
:
</span> </span>
{ {router.locale == "cy"
item[ ? jsonpath.query(
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue" transLookup,
] '$..[?(@.value=="' +
} item[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: item[
"pinswg_appealcasetype@OData.Community.Display.V1.FormattedValue"
] || "N/A"}
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Status: {t("search:searchresults-status-label")}
:
</span> </span>
{
item[ {router.locale == "cy"
"statuscode@OData.Community.Display.V1.FormattedValue" ? jsonpath.query(
] transLookup,
} '$..[?(@.value=="' +
item[
"statuscode@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy'
)
: item[
"statuscode@OData.Community.Display.V1.FormattedValue"
] || "N/A"}
</dd> </dd>
</div> </div>
); );
})} })}
</dl> </dl>
<PaginationControl
currentPage={currentPage}
searchResultsObj={searchResultsObj}
spinnerState={spinnerState}
getSearchPageResults={getSearchPageResults}
/>
</>
);
};
const pagesCount = Math.ceil(searchResultsObj["@odata.count"] / 10);
let currentPage = 0;
currentPage = decodeURI(searchResultsObj["@odata.nextLink"]).split(
"skiptoken="
)[1];
currentPage =
typeof currentPage != "undefined"
? parseInt(
decodeURI(currentPage)
.split('pagenumber="')[1]
.slice(
0,
decodeURI(currentPage)
.split('pagenumber="')[1]
.indexOf('"')
) - 1
)
: pagesCount;
const getSearchPageResults = (pageNumber) => {
//console.log(advancedSearch, searchString, pageNumber);
if (advancedSearch) {
var searchoObj = Object.assign(
...searchString.map(([key, val]) => ({ [key]: val }))
);
getAdvancedSearchPaged(searchoObj, pageNumber)
.then((data) => {
//console.log(data);
setSearchResults(data);
return data;
})
.then((data) => {
//console.log("getting details", data);
return getSearchDetailsPaged(data).then((data) => {
setSearchDetails(data);
setShowSpinnerState(false);
});
});
} else {
getBasicSearchPaged(searchString, pageNumber)
.then((data) => {
//console.log(data);
setSearchResults(data);
return data;
})
.then((data) => {
//console.log("getting details", data);
return getSearchDetailsPaged(data).then((data) => {
setSearchDetails(data);
setShowSpinnerState(false);
});
});
}
};
return (
<>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<h1 className="govuk-heading-xl govuk-!-margin-bottom-7">
{t("search:searchresults-title-label")}
</h1>
<p className="govuk-body">
{resultsArr.length > 200
? t("search:searchresults-max-count-label")
: t("search:searchresults-count-label", {
count: searchResultsObj["@odata.count"],
})}
.
{advancedSearch != true ? (
<>
<span>
{t("search:searchresults-case-count-label")}{" "}
{" "}
<em>&quot;{searchString}&quot;</em>
</span>
</>
) : (
""
)}
</p>
{resultsArr.length > 0 ? (
ResultsView(resultsArr)
) : (
<div className="govuk-grid-row">
<div className="govuk-grid-column-two-thirds">
<h3>
{t("search:searchresults-no-records-label")}
</h3>
</div>
</div>
)}
</div>
</div> </div>
</div> <LoadingOverlay
active={showSpinnerState}
spinner
text={t("common:spinner-searching")}
/>
</>
); );
}; };
@@ -167,6 +389,12 @@ const mapDispatchToProps = (dispatch) => {
setCurrentReference: (currentReference) => { setCurrentReference: (currentReference) => {
dispatch(setCurrentReference(currentReference)); dispatch(setCurrentReference(currentReference));
}, },
setSearchResults: (searchResultsObj) => {
dispatch(setSearchResults(searchResultsObj));
},
setSearchDetails: (searchDetailsObj) => {
dispatch(setSearchDetails(searchDetailsObj));
},
}; };
}; };
+26 -20
View File
@@ -12,8 +12,8 @@ export default function ViewAllResults(props) {
var resultsArr = props.searchResultsObj.searchResultsObj.value || [{}]; var resultsArr = props.searchResultsObj.searchResultsObj.value || [{}];
const resultRow = Object.keys(resultsArr).map((key, index) => { const resultRow = Object.keys(resultsArr).map((key, index) => {
<div className="govuk-summary-list__row"> <div className="govuk-summary-list__row">
<dd className="govuk-summary-list__value govuk-!-font-size-14 govuk-!-padding-left-2"> <dd className="govuk-summary-list__value govuk-!-font-size-16 govuk-!-padding-left-2">
<Link href="/case"> <Link href={router.locale == "cy" ? "/achos" : "/case"}>
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Case Reference: Case Reference:
@@ -22,28 +22,28 @@ export default function ViewAllResults(props) {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">Site Address: </span> <span className="results-visually-hidden">Site Address: </span>
23 Martineau Lane 23 Martineau Lane
<br /> HASTINGS <br /> HASTINGS
<br /> <br />
TN35 5DS TN35 5DS
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Appellant/Applicant: Appellant/Applicant:
</span> </span>
Mr J Pocknell Mr J Pocknell
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">Authority:</span> <span className="results-visually-hidden">Authority:</span>
Hastings Borough Council{" "} Hastings Borough Council{" "}
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">Case Type:</span> <span className="results-visually-hidden">Case Type:</span>
Planning (W){" "} Planning (W){" "}
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden">Status:</span> <span className="results-visually-hidden">Status:</span>
In Progress In Progress
</dd> </dd>
@@ -59,22 +59,22 @@ export default function ViewAllResults(props) {
<dl className="govuk-summary-list govuk-!-margin-bottom-9 results"> <dl className="govuk-summary-list govuk-!-margin-bottom-9 results">
<div className="govuk-summary-list__row results-headings"> <div className="govuk-summary-list__row results-headings">
<dd className="govuk-summary-list__key govuk-!-font-size-14 results_wider govuk-!-padding-left-2"> <dd className="govuk-summary-list__key govuk-!-font-size-16 results_wider govuk-!-padding-left-2">
{t("search:searchresults-case-reference-label")} {t("search:searchresults-case-reference-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-site-address-label")} {t("search:searchresults-site-address-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-applicant-label")} {t("search:searchresults-applicant-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-authority-label")} {t("search:searchresults-authority-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-case-type-label")} {t("search:searchresults-case-type-label")}
</dd> </dd>
<dd className="govuk-summary-list__key govuk-!-font-size-14"> <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("search:searchresults-status-label")} {t("search:searchresults-status-label")}
</dd> </dd>
</div> </div>
@@ -82,8 +82,14 @@ export default function ViewAllResults(props) {
{resultsArr.map((item, key) => { {resultsArr.map((item, key) => {
return ( return (
<div className="govuk-summary-list__row" key={key}> <div className="govuk-summary-list__row" key={key}>
<dd className="govuk-summary-list__value govuk-!-font-size-14 govuk-!-padding-left-2"> <dd className="govuk-summary-list__value govuk-!-font-size-16 govuk-!-padding-left-2">
<Link href="/case"> <Link
href={
router.locale == "cy"
? "/achos"
: "/case"
}
>
<a> <a>
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Case Reference: Case Reference:
@@ -92,7 +98,7 @@ export default function ViewAllResults(props) {
</a> </a>
</Link> </Link>
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Site Address:{" "} Site Address:{" "}
</span> </span>
@@ -101,13 +107,13 @@ export default function ViewAllResults(props) {
<br /> <br />
TN35 5DS TN35 5DS
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Appellant/Applicant: Appellant/Applicant:
</span> </span>
Mr J Pocknell Mr J Pocknell
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Authority: Authority:
</span> </span>
@@ -117,7 +123,7 @@ export default function ViewAllResults(props) {
] ]
} }
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Case Type: Case Type:
</span> </span>
@@ -127,7 +133,7 @@ export default function ViewAllResults(props) {
] ]
} }
</dd> </dd>
<dd className="govuk-summary-list__value govuk-!-font-size-14"> <dd className="govuk-summary-list__value govuk-!-font-size-16">
<span className="results-visually-hidden"> <span className="results-visually-hidden">
Status: Status:
</span> </span>
+42 -21
View File
@@ -4,45 +4,66 @@ import { useContext } from "react";
import useTranslation from "next-translate/useTranslation"; import useTranslation from "next-translate/useTranslation";
import SearchForCase from "./search/searchforcase"; import SearchForCase from "./search/searchforcase";
import SearchResults from "./search/searchresults"; import SearchResults from "./search/searchresults";
import CRMError from "./crmError";
export default function Search(props) { export default function Search(props) {
const { searchString, searchResultsObj } = props; const { searchString, searchResultsObj, advancedSearch } = props;
let { t } = useTranslation(); let { t } = useTranslation();
const router = useRouter(); const router = useRouter();
const { locale } = router; const { locale } = router;
var hasError = _.has(searchResultsObj.searchResultsObj, "errorCode")
? true
: false;
//console.log("has an error", hasError);
return ( return (
<main <main
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing" className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
id="main-content" id="main-content"
role="main" role="main"
> >
<div className="govuk-grid-row"> {hasError ? (
<div className="govuk-grid-column-full"> <CRMError props={props} />
<SearchResults ) : (
searchString={searchString} <>
searchResultsObj={searchResultsObj.searchResultsObj} <div className="govuk-grid-row">
/> <div className="govuk-grid-column-full">
</div> <SearchResults
</div> advancedSearch={advancedSearch}
<div className="govuk-grid-row"> searchString={searchString}
<div className="govuk-grid-column-full"> searchResultsObj={
<div className="govuk-button-group"> searchResultsObj.searchResultsObj
<Link href="/advancedsearch"> }
<a className="govuk-button"> searchDetailsObj={
{t("search:searchresults-search-button-label")} searchResultsObj.searchDetailsObj
</a> }
</Link> />
<a </div>
</div>
<div className="govuk-grid-row">
<div className="govuk-grid-column-full">
<div className="govuk-button-group">
<Link href="/advancedsearch">
<a className="govuk-button">
{t(
"search:searchresults-search-button-label"
)}
</a>
</Link>
{/* <a
onClick={() => router.back()} onClick={() => router.back()}
className="govuk-button govuk-button--secondary" className="govuk-button govuk-button--secondary"
> >
{t("search:searchresults-new-search-button-label")} {t("search:searchresults-new-search-button-label")}
</a> </a> */}
</div>
</div>
</div> </div>
</div> </>
</div> )}
</main> </main>
); );
} }
+45
View File
@@ -0,0 +1,45 @@
import React from "react";
import useTranslation from "next-translate/useTranslation";
const GlobalMetaTags = () => {
let { t } = useTranslation();
return (
<>
{console.log(t("common:service-name"))}
{/* Language by default is EN, if multilingual site this will need updated */}
<meta key="og:locale" property="og:locale" content="en" />
{/* If they have a Twitter Handle, include the meta details below */}
<meta
key="og:site_name"
property="og:site_name"
content="Planning casework "
/>
<meta
key="twitter:site"
property="twitter:site"
content="@UKGovWales"
/>
<meta
name="description"
content="The Welsh Government is the devolved Government for Wales"
/>
<meta property="og:site_name" content="GOV.WALES" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://gov.wales" />
<meta
property="og:image"
content="https://gov.wales//themes/custom/govwales/images/content/og-global-1200.png"
/>
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="gov.wales | gov.wales" />
<meta name="twitter:url" content="https://gov.wales" />
<meta
name="twitter:image"
content="https://gov.wales//themes/custom/govwales/images/content/og-global-120.png"
/>
</>
);
};
export default GlobalMetaTags;
+119
View File
@@ -0,0 +1,119 @@
import Head from "next/head";
import { string } from "prop-types";
// ALl options are conditional apart from title
const PageMeta = ({
title,
imageWidth,
imageHeight,
ogImage,
ogUrl,
ogTitle,
ogType,
ogDescription,
canonicalURL,
description,
keywords,
createdAt,
updatedAt,
robots,
twitterDescription,
twitterTitle,
twitterImage,
}) => {
const facebookPage = "https://www.facebook.com/IFPMA";
return (
<>
<Head>
{title && <title>{title}</title>}
<meta property="article:publisher" content={facebookPage} />
{createdAt && (
<meta
property="article:published_time"
content={createdAt}
/>
)}
{updatedAt && (
<meta
property="article:modified_time"
content={updatedAt}
/>
)}
{description && (
<meta
property="description"
name="description"
content={description}
/>
)}
{keywords && (
<meta
property="keywords"
name="keywords"
content={keywords}
/>
)}
<meta
property="robots"
name="robots"
content={robots || "index,follow"}
/>
{canonicalURL && <link rel="canonical" href={canonicalURL} />}
{ogUrl && <meta property="og:url" content={ogUrl} />}
{ogTitle && <meta property="og:title" content={ogTitle} />}
{ogType && <meta property="og:type" content={ogType} />}
{ogDescription && (
<meta property="og:description" content={ogDescription} />
)}
{ogImage && <meta property="og:image" content={ogImage} />}
{imageWidth && (
<meta property="og:image:width" content={imageWidth} />
)}
{imageHeight && (
<meta property="og:image:height" content={imageHeight} />
)}
<meta property="twitter:card" content="summary_large_image" />
<meta
key="twitter:site"
property="twitter:site"
content="@IFPMA"
/>
{twitterDescription && (
<meta
property="twitter:description"
content={twitterDescription}
/>
)}
{twitterTitle && (
<meta property="twitter:title" content={twitterTitle} />
)}
{twitterImage && (
<meta property="twitter:image" content={twitterImage} />
)}
</Head>
</>
);
};
PageMeta.propTypes = {
title: string,
createdAt: string,
updatedAt: string,
ogImage: string,
ogUrl: string,
ogTitle: string,
ogType: string,
ogDescription: string,
canonicalURL: string,
description: string,
keywords: string,
createdAt: string,
updatedAt: string,
robots: string,
twitterDescription: string,
twitterTitle: string,
twitterImage: string,
};
export default PageMeta;
+22
View File
@@ -0,0 +1,22 @@
import Link from "next/link";
import Image from "next/image";
import useTranslation from "next-translate/useTranslation";
import router from "next/router";
export default function ServiceBanner() {
let { t, lang } = useTranslation();
return (
<div className="servicebanner">
<h1>
<img
src={
router.locale == "cy"
? "/assets/images/planning-casework-cy.svg"
: "/assets/images/planning-casework-en.svg"
}
alt="Planning casework"
/>
</h1>
</div>
);
}
+29
View File
@@ -0,0 +1,29 @@
import React, { Fragment } from "react";
export const Tracking = ({ googleTagManagerID }) => (
<Fragment>
<script
dangerouslySetInnerHTML={{
__html: `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','${googleTagManagerID}');`,
}}
/>
</Fragment>
);
export const TrackingNoScript = ({ googleTagManagerID }) => (
<Fragment>
<noscript>
<iframe
title="google analytics"
src={`https://www.googletagmanager.com/ns.html?id=${googleTagManagerID}`}
height="0"
width="0"
style={{ display: "none", visibility: "hidden" }}
/>
</noscript>
</Fragment>
);
+92
View File
@@ -0,0 +1,92 @@
import jsonpath from "jsonpath";
import data from "../../data/collections.json";
import {
getBasicSearchDetails,
getBasicSearchDetailsPaged,
} from "../../actions";
/*
* Get the lookup collection by the appeal type entity
* @param String formtype - string from appeal entity name
*/
export const getFormCollection = (formtype) => {
const collectionName = jsonpath.query(
data,
"$..[?(@.LogicalName=='" + formtype + "')]"
);
return collectionName[0];
};
export const getFormCollectionByID = (appealTypeID) => {
const collectionName = jsonpath.query(
data,
"$..[?(@.appealTypeID =='" + appealTypeID + "')]"
);
return collectionName[0];
};
/*
* Get the details of a case from the appeal type
* @param String token
* @param object searchResultsObj
*/
export const getSearchDetails = (token, searchResultsObj) => {
//console.log(searchResultsObj);
let detailsArr = [];
searchResultsObj = searchResultsObj.value;
const detailsObj = searchResultsObj.map((searchDetail, index) => {
if (searchDetail.pinswg_appealcasetype == null) {
console.log(searchDetail.title);
} else {
let formMeta = getFormCollectionByID(
searchDetail.pinswg_appealcasetype
);
//console.log(formMeta);
detailsArr.push(
getBasicSearchDetails(
token,
formMeta.LogicalCollectionName,
searchDetail.title,
formMeta.PrimaryIdAttribute,
searchDetail.incidentid
)
);
}
});
//console.log(detailsArr);
return Promise.all(detailsArr);
};
/*
* Get the details of a case from the appeal type
* @param object searchResultsObj
*/
export const getSearchDetailsPaged = (searchResultsObj) => {
//console.log(searchResultsObj);
let detailsArr = [];
//console.log("search results", searchResultsObj);
searchResultsObj = searchResultsObj.value;
const detailsObj = searchResultsObj.map((searchDetail, index) => {
//console.log(searchDetail);
if (searchDetail.pinswg_appealcasetype == null) {
console.log(searchDetail.title);
} else {
let formMeta = getFormCollectionByID(
searchDetail.pinswg_appealcasetype
);
detailsArr.push(
getBasicSearchDetailsPaged(
formMeta.LogicalCollectionName,
searchDetail.title,
formMeta.PrimaryIdAttribute,
searchDetail.incidentid
)
);
}
});
// console.log(detailsArr);
return Promise.all(detailsArr);
};
+524
View File
@@ -0,0 +1,524 @@
{
"value": [
{
"LogicalCollectionName": "pinswg_planningobligationss106flows",
"LogicalName": "pinswg_planningobligationss106flow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "efb4c590-19be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_dnsflows",
"LogicalName": "pinswg_dnsflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "328e015f-dabe-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_harbourrevisionorderflows",
"LogicalName": "pinswg_harbourrevisionorderflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "98bbb26e-e7be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_transportandworkactflows",
"LogicalName": "pinswg_transportandworkactflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "ad4bfc8c-e1be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_maintenanceoflands127flows",
"LogicalName": "pinswg_maintenanceoflands127flow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "2b26362c-d3be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_environmentalpermittingflows",
"LogicalName": "pinswg_environmentalpermittingflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "74dd4767-f2be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_dnses",
"LogicalName": "pinswg_dns",
"PrimaryIdAttribute": "pinswg_dnsid",
"UrlName": "dns",
"MetadataId": "36f07225-4a82-eb11-aac0-00224800be9c",
"appealTypeID": "846040011"
},
{
"LogicalCollectionName": "pinswg_planningobligationappeals106s",
"LogicalName": "pinswg_planningobligationappeals106",
"PrimaryIdAttribute": "pinswg_planningobligationappeals106id",
"UrlName": "planningobligationappeals106",
"MetadataId": "cb8beeae-8f81-eb11-aac0-00224800be9c",
"appealTypeID": "846040003"
},
{
"LogicalCollectionName": "pinswg_planningconditionss73s79s",
"LogicalName": "pinswg_planningconditionss73s79",
"PrimaryIdAttribute": "pinswg_planningconditionss73s79id",
"UrlName": "planningconditionss73s79",
"MetadataId": "093bf9ff-8d81-eb11-aac0-00224800be9c",
"appealTypeID": "846040001"
},
{
"LogicalCollectionName": "pinswg_rows",
"LogicalName": "pinswg_row",
"PrimaryIdAttribute": "pinswg_rowid",
"UrlName": "row",
"MetadataId": "4ccc6e93-4f82-eb11-aac0-00224800be9c",
"appealTypeID": "846040015"
},
{
"LogicalCollectionName": "pinswg_transportandworkacts",
"LogicalName": "pinswg_transportworksact",
"PrimaryIdAttribute": "pinswg_transportandworkactid",
"UrlName": "transportandworkact",
"MetadataId": "bc3edc4b-7d82-eb11-aac0-00224800be9c",
"appealTypeID": "846040013"
},
{
"LogicalCollectionName": "pinswg_transportandworkacts",
"LogicalName": "pinswg_transportandworkact",
"PrimaryIdAttribute": "pinswg_transportandworkactid",
"UrlName": "transportandworkact",
"MetadataId": "bc3edc4b-7d82-eb11-aac0-00224800be9c",
"appealTypeID": "846040013"
},
{
"LogicalCollectionName": "pinswg_transportandworkacts",
"LogicalName": "pinswg_transportandworksact",
"PrimaryIdAttribute": "pinswg_transportandworkactid",
"UrlName": "transportandworksact",
"MetadataId": "bc3edc4b-7d82-eb11-aac0-00224800be9c",
"appealTypeID": "846040013"
},
{
"LogicalCollectionName": "pinswg_wayleaveflows",
"LogicalName": "pinswg_wayleaveflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "a28054b9-e3be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_planningappeals78flows",
"LogicalName": "pinswg_planningappeals78flow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "ddaebde1-0fbe-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_harbourrevisionorders",
"LogicalName": "pinswg_harbourrevisionorder",
"PrimaryIdAttribute": "pinswg_harbourrevisionorderid",
"UrlName": "harbourrevisionorder",
"MetadataId": "dc8dcd0d-4f82-eb11-aac0-00224800be9c",
"appealTypeID": "846040014"
},
{
"LogicalCollectionName": "pinswg_miscellaneouscaseworks",
"LogicalName": "pinswg_miscellaneouscasework",
"PrimaryIdAttribute": "pinswg_miscellaneouscasewordid",
"UrlName": "miscellaneouscasework",
"MetadataId": "f519aa8e-5782-eb11-aac0-00224800be9c",
"appealTypeID": "846040022"
},
{
"LogicalCollectionName": "pinswg_miscellaneouscaseworks",
"LogicalName": "pinswg_misccasework",
"PrimaryIdAttribute": "pinswg_miscellaneouscasewordid",
"UrlName": "miscellaneouscasework",
"MetadataId": "f519aa8e-5782-eb11-aac0-00224800be9c",
"appealTypeID": "846040022"
},
{
"LogicalCollectionName": "pinswg_localdevelopmentplanses",
"LogicalName": "pinswg_localdevelopmentplans",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "localdevelopmentplans",
"MetadataId": "38ed3835-c1e0-eb11-aac5-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_planningappeals78s",
"LogicalName": "pinswg_planningappeals78",
"PrimaryIdAttribute": "pinswg_planningappeals78id",
"UrlName": "planningappeals78",
"MetadataId": "8d7f813a-4183-eb11-aac0-00224800be9c",
"appealTypeID": "846040000"
},
{
"LogicalCollectionName": "pinswg_enforcementnoticeappealsflow174s",
"LogicalName": "pinswg_enforcementnoticeappealsflow174",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "enforcementnoticeappealsflow174",
"MetadataId": "a933cf28-20be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates",
"LogicalName": "pinswg_lawfuldevelopmentcertificate",
"PrimaryIdAttribute": "pinswg_lawfuldevelopmentcertificatappid",
"UrlName": "lawfuldevelopmentcertificate",
"MetadataId": "184e4861-9681-eb11-aac0-00224800be9c",
"appealTypeID": "846040008"
},
{
"LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates",
"LogicalName": "pinswg_lawfuldevelopmentcertificateappeals194195",
"PrimaryIdAttribute": "pinswg_lawfuldevelopmentcertificatappid",
"UrlName": "lawfuldevelopmentcertificateappeals1941",
"MetadataId": "184e4861-9681-eb11-aac0-00224800be9c",
"appealTypeID": "846040008"
},
{
"LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates",
"LogicalName": "pinswg_lawfuldevelopmentcertificateappeals1941",
"PrimaryIdAttribute": "pinswg_lawfuldevelopmentcertificatappid",
"UrlName": "lawfuldevelopmentcertificate",
"MetadataId": "184e4861-9681-eb11-aac0-00224800be9c",
"appealTypeID": "846040008"
},
{
"LogicalCollectionName": "pinswg_highhedgestreepreservationflows",
"LogicalName": "pinswg_highhedgestreepreservationflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "c365b924-f3be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_householderappealhases",
"LogicalName": "pinswg_householderappealhas",
"PrimaryIdAttribute": "pinswg_householderappealhasid",
"UrlName": "householderappealhas",
"MetadataId": "a6c728b0-9081-eb11-aac0-00224800be9c",
"appealTypeID": "846040004"
},
{
"LogicalCollectionName": "pinswg_enforcementlistedbuildingconservationaps",
"LogicalName": "pinswg_enforcementlistedbuildingconservationap",
"PrimaryIdAttribute": "pinswg_enforcementlistedbuildingconseid",
"UrlName": "enforcementlistedbuildingconservationap",
"MetadataId": "c697be96-9481-eb11-aac0-00224800be9c",
"appealTypeID": "846040006"
},
{
"LogicalCollectionName": "pinswg_enforcementlistedbuildingconservationaps",
"LogicalName": "pinswg_enforcementlistedbuildingandconservationappeals39",
"PrimaryIdAttribute": "pinswg_enforcementlistedbuildingconseid",
"UrlName": "enforcementlistedbuildingconservationap",
"MetadataId": "c697be96-9481-eb11-aac0-00224800be9c",
"appealTypeID": "846040006"
},
{
"LogicalCollectionName": "pinswg_enforcementlistedbuildingconservationaps",
"LogicalName": "pinswg_enforcementlistedbuildingandconservationap",
"PrimaryIdAttribute": "pinswg_enforcementlistedbuildingconseid",
"UrlName": "enforcementlistedbuildingconservationap",
"MetadataId": "c697be96-9481-eb11-aac0-00224800be9c",
"appealTypeID": "846040006"
},
{
"LogicalCollectionName": "pinswg_callinss77s",
"LogicalName": "pinswg_callinss77",
"PrimaryIdAttribute": "pinswg_callinss77id",
"UrlName": "callinss77",
"MetadataId": "dd309e51-4982-eb11-aac0-00224800be9c",
"appealTypeID": "846040010"
},
{
"LogicalCollectionName": "pinswg_commonlands",
"LogicalName": "pinswg_commonland",
"PrimaryIdAttribute": "pinswg_commonlandid",
"UrlName": "commonland",
"MetadataId": "4161a618-5082-eb11-aac0-00224800be9c",
"appealTypeID": "846040016"
},
{
"LogicalCollectionName": "pinswg_advertses",
"LogicalName": "pinswg_adverts",
"PrimaryIdAttribute": "pinswg_advertsid",
"UrlName": "adverts",
"MetadataId": "0735866b-5482-eb11-aac0-00224800be9c",
"appealTypeID": "846040018"
},
{
"LogicalCollectionName": "pinswg_hedgeshedgerowstreepreservationreplacems",
"LogicalName": "pinswg_hedgeshedgerowstreepreservationreplacem",
"PrimaryIdAttribute": "pinswg_hedgeshedgerowstreepreservatioid",
"UrlName": "hedgeshedgerowstreepreservationreplacem",
"MetadataId": "60f38fed-5382-eb11-aac0-00224800be9c",
"appealTypeID": "846040017"
},
{
"LogicalCollectionName": "pinswg_hedgeshedgerowstreepreservationreplacems",
"LogicalName": "pinswg_highhedgestreepreservationordershedgerowstreereplacementnotice",
"PrimaryIdAttribute": "pinswg_hedgeshedgerowstreepreservatioid",
"UrlName": "hedgeshedgerowstreepreservationreplacem",
"MetadataId": "60f38fed-5382-eb11-aac0-00224800be9c",
"appealTypeID": "846040017"
},
{
"LogicalCollectionName": "pinswg_hedgeshedgerowstreepreservationreplacems",
"LogicalName": "pinswg_highhedgestreepreservationordershedgero",
"PrimaryIdAttribute": "pinswg_hedgeshedgerowstreepreservatioid",
"UrlName": "hedgeshedgerowstreepreservationreplacem",
"MetadataId": "60f38fed-5382-eb11-aac0-00224800be9c",
"appealTypeID": "846040017"
},
{
"LogicalCollectionName": "pinswg_compulsorypurchaseorderses",
"LogicalName": "pinswg_compulsorypurchaseorders",
"PrimaryIdAttribute": "pinswg_compulsorypurchaseordersid",
"UrlName": "compulsorypurchaseorders",
"MetadataId": "054da4c7-5582-eb11-aac0-00224800be9c",
"appealTypeID": "846040019"
},
{
"LogicalCollectionName": "pinswg_communityinfrastructurelevys117118119s",
"LogicalName": "pinswg_communityinfrastructurelevys117118119",
"PrimaryIdAttribute": "pinswg_communityinfrastructurelevyid",
"UrlName": "communityinfrastructurelevys117118119",
"MetadataId": "0c309f3c-4882-eb11-aac0-00224800be9c",
"appealTypeID": "846040009"
},
{
"LogicalCollectionName": "pinswg_objectiveconfigs",
"LogicalName": "pinswg_objectiveconfig",
"PrimaryIdAttribute": "pinswg_objectiveconfigid",
"UrlName": "objectiveconfig",
"MetadataId": "f89ae20c-4777-eb11-aabd-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_nonvalidations",
"LogicalName": "pinswg_nonvalidation",
"PrimaryIdAttribute": "pinswg_nonvalidationid",
"UrlName": "nonvalidation",
"MetadataId": "37f31a93-5882-eb11-aac0-00224800be9c",
"appealTypeID": "846040024"
},
{
"LogicalCollectionName": "pinswg_rightofwayflows",
"LogicalName": "pinswg_rightofwayflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "b26c1d43-efbe-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_caseinvolvements",
"LogicalName": "pinswg_caseinvolvement",
"PrimaryIdAttribute": "pinswg_caseinvolvementid",
"UrlName": "caseinvolvement",
"MetadataId": "65677cd9-4aae-eb11-aac3-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_commonlandflows",
"LogicalName": "pinswg_commonlandflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "338fac85-e6be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_lawfuldevelopmentcertificates195flows",
"LogicalName": "pinswg_lawfuldevelopmentcertificates195flow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "0b8f5046-1dbe-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_advertisementappealanddiscontinuances",
"LogicalName": "pinswg_advertisementappealanddiscontinuance",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "advertisementappealanddiscontinuance",
"MetadataId": "79b9ab3a-f1be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_documenthistories",
"LogicalName": "pinswg_documenthistory",
"PrimaryIdAttribute": "pinswg_documenthistoryid",
"UrlName": "documenthistory",
"MetadataId": "0d8e78a7-33a3-eb11-aac3-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_documents",
"LogicalName": "pinswg_document",
"PrimaryIdAttribute": "pinswg_documentid",
"UrlName": "documents",
"MetadataId": "e6cbbbca-026a-eb11-aabb-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_electricityactflows",
"LogicalName": "pinswg_electricityactflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "699c4318-e3be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_planningconditionss73s79flows",
"LogicalName": "pinswg_planningconditionss73s79flow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "510154b1-15be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_wayleaves",
"LogicalName": "pinswg_wayleave",
"PrimaryIdAttribute": "pinswg_wayleaveid",
"UrlName": "wayleave",
"MetadataId": "a0652117-5782-eb11-aac0-00224800be9c",
"appealTypeID": "846040021"
},
{
"LogicalCollectionName": "pinswg_listedbuildingandconservationareaconsens",
"LogicalName": "pinswg_listedbuildingandconservationareaconsen",
"PrimaryIdAttribute": "pinswg_listedbuildingandconservationrid",
"UrlName": "listedbuildingandconservationareaconsen",
"MetadataId": "4cd95405-8f81-eb11-aac0-00224800be9c",
"appealTypeID": "846040025"
},
{
"LogicalCollectionName": "pinswg_listedbuildingandconservationareaconsens",
"LogicalName": "pinswg_listedbuildingconservationareaconsent",
"PrimaryIdAttribute": "pinswg_listedbuildingandconservationrid",
"UrlName": "listedbuildingandconservationareaconsen",
"MetadataId": "4cd95405-8f81-eb11-aac0-00224800be9c",
"appealTypeID": "846040025"
},
{
"LogicalCollectionName": "pinswg_callinapplicationss77flows",
"LogicalName": "pinswg_callinapplicationss77flow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "2a4f3d43-d4be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_transfercodes",
"LogicalName": "pinswg_transfercode",
"PrimaryIdAttribute": "pinswg_transfercodeid",
"UrlName": "transfercode",
"MetadataId": "a551ad5c-29f5-eb11-aac7-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_compulsorypurchaseordersflows",
"LogicalName": "pinswg_compulsorypurchaseordersflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "a94f098b-f0be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_environmentalpermittings",
"LogicalName": "pinswg_environmentalpermitting",
"PrimaryIdAttribute": "pinswg_environmentalpermittingid",
"UrlName": "environmentalpermitting",
"MetadataId": "62d4aa9a-5682-eb11-aac0-00224800be9c",
"appealTypeID": "846040020"
},
{
"LogicalCollectionName": "pinswg_nonvaidationflows",
"LogicalName": "pinswg_nonvaidationflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "e5ca3ceb-c1e0-eb11-aac5-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_enforcementnoticeappeals174s",
"LogicalName": "pinswg_enforcementnoticeappeals174",
"PrimaryIdAttribute": "pinswg_enforcementnoticeappeals174id",
"UrlName": "enforcementnoticeappeals174",
"MetadataId": "930a3cc4-9181-eb11-aac0-00224800be9c",
"appealTypeID": "846040005"
},
{
"LogicalCollectionName": "pinswg_ldps",
"LogicalName": "pinswg_ldp",
"PrimaryIdAttribute": "pinswg_ldpid",
"UrlName": "ldp",
"MetadataId": "af424d4d-5882-eb11-aac0-00224800be9c",
"appealTypeID": "846040023"
},
{
"LogicalCollectionName": "pinswg_maintenanceoflands217s",
"LogicalName": "pinswg_maintenanceoflands217",
"PrimaryIdAttribute": "pinswg_maintenanceoflands217id",
"UrlName": "maintenanceoflands217",
"MetadataId": "bb302784-9581-eb11-aac0-00224800be9c",
"appealTypeID": "846040007"
},
{
"LogicalCollectionName": "pinswg_enforcelistbuild39flows",
"LogicalName": "pinswg_enforcelistbuild39flow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "9423206e-d2be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_householderappealflows",
"LogicalName": "pinswg_householderappealflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "330541bd-d5be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_miscellaneouscaseworkflows",
"LogicalName": "pinswg_miscellaneouscaseworkflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "87db8649-f4be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_communityinfrastructurelevyflows",
"LogicalName": "pinswg_communityinfrastructurelevyflow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "92bc1e3d-e0be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_listedbuildconserv20flows",
"LogicalName": "pinswg_listedbuildconserv20flow",
"PrimaryIdAttribute": "businessprocessflowinstanceid",
"UrlName": "",
"MetadataId": "4c11cbe9-27be-eb11-aac4-00224800be9c",
"appealTypeID": ""
},
{
"LogicalCollectionName": "pinswg_electricityacts",
"LogicalName": "pinswg_electricityact",
"PrimaryIdAttribute": "pinswg_electricityactid",
"UrlName": "electricityact",
"MetadataId": "6aedaab1-4a82-eb11-aac0-00224800be9c",
"appealTypeID": "846040012"
}
]
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+7
View File
@@ -0,0 +1,7 @@
const DNSForm = (props) => {
const { caseReference } = props;
return <></>;
};
export default DNSForm;
+353
View File
@@ -0,0 +1,353 @@
const ElectricityActForm = (props) => {
const { caseReference } = props;
return (
<>
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<h1 class="govuk-heading-m govuk-!-margin-top-5">
Enter your appeal information
</h1>
<form>
<div class="govuk-grid-column-full">
<div class="govuk-grid-row">
<div class="govuk-form-group">
<label
class="govuk-label "
for="pinswg_name"
>
Name
</label>
<input
type="text"
name="pinswg_name"
id="pinswg_name"
component="[object Object]"
class="govuk-input govuk-input--width-20"
disabled
value="CAS-00497-K4H2Z5"
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_anticipatedgridreferencenorthingtext"
id="pinswg_anticipatedgridreferencenorthingtext_label"
>
Anticipated Grid Reference Northing
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_anticipatedgridreferencenorthingtext"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_anticipatedgridreferenceeastingtext"
id="pinswg_anticipatedgridreferenceeastingtext_label"
>
Anticipated Grid Reference Easting
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_anticipatedgridreferenceeastingtext"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_projectname"
id="pinswg_projectname_label"
>
Project Name
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_projectname"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_projectdiscription"
id="pinswg_projectdiscription_label"
>
Project Discription
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_projectdiscription"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_projectlocation"
id="pinswg_projectlocation_label"
>
Project Location
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_projectlocation"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_addresscounty"
id="pinswg_addresscounty_label"
>
Address County
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_addresscounty"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_addressline1"
id="pinswg_addressline1_label"
>
Address Line 1
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_addressline1"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_addressline2"
id="pinswg_addressline2_label"
>
Address Line 2
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_addressline2"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_addresstown"
id="pinswg_addresstown_label"
>
Address Town
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_addresstown"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_postcode"
id="pinswg_postcode_label"
>
Post Code
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_postcode"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_agentcontactname"
id="pinswg_agentcontactname_label"
>
Agent Contact Name
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_agentcontactname"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_emailaddress"
id="pinswg_emailaddress_label"
>
Email Address
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_emailaddress"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_salutation"
id="pinswg_salutation_label"
>
Salutation
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_salutation"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_firstname"
id="pinswg_firstname_label"
>
First Name
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_firstname"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_lastname"
id="pinswg_lastname_label"
>
Last Name
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_lastname"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_organisation"
id="pinswg_organisation_label"
>
Organisation
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_organisation"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_role"
id="pinswg_role_label"
>
Role
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_role"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_telephonenumber"
id="pinswg_telephonenumber_label"
>
Telephone Number
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_telephonenumber"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_webaddress"
id="pinswg_webaddress_label"
>
Web Address
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_webaddress"
value=""
/>
</div>
</div>
</div>
<div class="govuk-button-group">
<button
type="submit"
class="govuk-button"
data-module="govuk-button"
>
Submit
</button>
</div>
</form>
</div>
</div>
</>
);
};
export default ElectricityActForm;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+353
View File
@@ -0,0 +1,353 @@
const HarbourRevisionOrderForm = (props) => {
const { caseReference } = props;
return (
<>
<div class="govuk-grid-row">
<div class="govuk-grid-column-two-thirds">
<h1 class="govuk-heading-m govuk-!-margin-top-5">
Enter your appeal information
</h1>
<form>
<div class="govuk-grid-column-full">
<div class="govuk-grid-row">
<div class="govuk-form-group">
<label
class="govuk-label "
for="pinswg_name"
>
Name
</label>
<input
type="text"
name="pinswg_name"
id="pinswg_name"
component="[object Object]"
class="govuk-input govuk-input--width-20"
disabled
value="CAS-00499-C4D7R4"
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_anticipatedgridreferenceeastingtext"
id="pinswg_anticipatedgridreferenceeastingtext_label"
>
Anticipated Grid Reference Easting
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_anticipatedgridreferenceeastingtext"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_anticipatedgridreferencenorthingtext"
id="pinswg_anticipatedgridreferencenorthingtext_label"
>
Anticipated Grid Reference Northing
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_anticipatedgridreferencenorthingtext"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_projectname"
id="pinswg_projectname_label"
>
Project Name
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_projectname"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_projectdiscription"
id="pinswg_projectdiscription_label"
>
Project Discription
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_projectdiscription"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_projectlocation"
id="pinswg_projectlocation_label"
>
Project Location
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_projectlocation"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_addresscounty"
id="pinswg_addresscounty_label"
>
Address County
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_addresscounty"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_addressline1"
id="pinswg_addressline1_label"
>
Address Line 1
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_addressline1"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_addressline2"
id="pinswg_addressline2_label"
>
Address Line 2
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_addressline2"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_addresstown"
id="pinswg_addresstown_label"
>
Address Town
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_addresstown"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_agentcontactname"
id="pinswg_agentcontactname_label"
>
Agent Contact Name
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_agentcontactname"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_emailaddress"
id="pinswg_emailaddress_label"
>
Email Address
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_emailaddress"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_salutation"
id="pinswg_salutation_label"
>
Salutation
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_salutation"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_firstname"
id="pinswg_firstname_label"
>
First Name
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_firstname"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_lastname"
id="pinswg_lastname_label"
>
Last Name
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_lastname"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_organisation"
id="pinswg_organisation_label"
>
Organisation
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_organisation"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_postcode"
id="pinswg_postcode_label"
>
Post Code
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_postcode"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_role"
id="pinswg_role_label"
>
Role
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_role"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_telephonenumber"
id="pinswg_telephonenumber_label"
>
Telephone Number
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_telephonenumber"
value=""
/>
</div>
</div>
<div class="govuk-grid-row">
<div class="govuk-form-group ">
<label
class="govuk-label "
for="pinswg_webaddress"
id="pinswg_webaddress_label"
>
Web Address
</label>
<input
class="govuk-input govuk-input--width-20"
id="pinswg_webaddress"
value=""
/>
</div>
</div>
</div>
<div class="govuk-button-group">
<button
type="submit"
class="govuk-button"
data-module="govuk-button"
>
Submit
</button>
</div>
</form>
</div>
</div>
</>
);
};
export default HarbourRevisionOrderForm;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More