added watched cases and remove watched cases
This commit is contained in:
@@ -24,6 +24,7 @@ const CaseSummary = (props) => {
|
||||
myCasesDetails={props.myCasesDetails}
|
||||
myRepresentations={props.myRepresentations}
|
||||
watchedCases={props.watchedCases}
|
||||
watchedCasesDetails={props.watchedCasesDetails}
|
||||
awaitingSubmission={props.awaitingSubmission}
|
||||
caseReference={props.caseReference}
|
||||
currentType={props.currentType}
|
||||
|
||||
@@ -48,7 +48,6 @@ const Header = (props) => {
|
||||
domainSwitch = process.env.I18N_DOMAIN;
|
||||
}
|
||||
|
||||
console.log(_.isEmpty(router.query));
|
||||
return (
|
||||
<header
|
||||
className="govuk-header "
|
||||
@@ -58,7 +57,7 @@ const Header = (props) => {
|
||||
<div className="govuk-header__container govuk-width-container">
|
||||
<div className="govuk-header__logo govuk-!-width-one-quarter">
|
||||
<Link href={t("common:gov-wales-link")}>
|
||||
<a className="govuk-header__link govuk-header__link--homepage">
|
||||
<a className="govuk-header__link govuk-link--no-underline govuk-header__link--homepage">
|
||||
<span className="govuk-header__logotype header__logo">
|
||||
<img
|
||||
alt="gov.wales"
|
||||
@@ -212,7 +211,7 @@ const Header = (props) => {
|
||||
>
|
||||
<a
|
||||
onClick={() => {
|
||||
destroyCookie(null, "pinsUser"),
|
||||
destroyCookie({}, "pinsUser"),
|
||||
window.localStorage.clear();
|
||||
}}
|
||||
className="govuk-header__link govuk-!-margin-right-3"
|
||||
|
||||
@@ -32,16 +32,19 @@ const RenderTextfield = ({
|
||||
<>
|
||||
<div className="govuk-form-group">
|
||||
<div id="basicSearch-hint" className="govuk-hint ">
|
||||
<span className="govuk-body-s">{hint1}</span>
|
||||
|
||||
<label
|
||||
className="govuk-label "
|
||||
htmlFor={id}
|
||||
id={id + "_label"}
|
||||
>
|
||||
<span className="govuk-body-s">{hint1}</span>
|
||||
</label>
|
||||
<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}
|
||||
|
||||
@@ -81,12 +81,13 @@ const RenderPasswordfield = ({
|
||||
: "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>
|
||||
<div id="basicSearch-hint" className="govuk-hint ">
|
||||
<span className="govuk-body-m">{hint1}</span>
|
||||
</div>
|
||||
|
||||
{touched && error && (
|
||||
<span id={id + "-error"} className="govuk-error-message">
|
||||
<span className="govuk-visually-hidden">Error:</span>{" "}
|
||||
@@ -181,7 +182,7 @@ let Login = (props) => {
|
||||
type="text"
|
||||
aria-describedby="basicSearch-hint"
|
||||
hint1={t("home:login-card-id-label")}
|
||||
hint2={t("home:login-card-id-hint")}
|
||||
label={t("home:login-card-id-hint")}
|
||||
/>
|
||||
|
||||
<Field
|
||||
|
||||
@@ -10,9 +10,9 @@ export default function LoginSoon() {
|
||||
return (
|
||||
<div className="card" id="login-card">
|
||||
<div className="card-body active">
|
||||
<h3 className="heading-small card-heading">
|
||||
<h2 className="govuk-heading-s">
|
||||
{t("home:login-card-title-temp")}
|
||||
</h3>
|
||||
</h2>
|
||||
|
||||
<div className="govuk-form-group govuk-!-margin-top-4">
|
||||
<p className="govuk-body-s">
|
||||
|
||||
+22
-5
@@ -17,11 +17,28 @@ const MyPortal = (props) => {
|
||||
const { locale } = router;
|
||||
|
||||
return (
|
||||
<main
|
||||
className="govuk-main-wrapper govuk-main-wrapper--auto-spacing"
|
||||
id="main-content"
|
||||
role="main"
|
||||
>
|
||||
<main className="" id="main-content" role="main">
|
||||
<div className="servicebanner govuk-!-margin-bottom-4">
|
||||
<h1>
|
||||
<img
|
||||
src={
|
||||
router.locale == "cy"
|
||||
? "/assets/images/my-portal-cy.svg"
|
||||
: "/assets/images/my-portal-en.svg"
|
||||
}
|
||||
alt={router.locale == "cy" ? "Fy mhorth" : "My Portal"}
|
||||
/>
|
||||
<img
|
||||
className="pedw_logo"
|
||||
src="/assets/images/pedw_logo.png"
|
||||
alt={
|
||||
router.locale == "cy"
|
||||
? "Penderfyniadau Cynllunio ac Amgylchedd Cymru"
|
||||
: "Planning & Environment Decisions Wales"
|
||||
}
|
||||
/>
|
||||
</h1>
|
||||
</div>
|
||||
<div className="govuk-grid-row">
|
||||
<div className="govuk-grid-column-full">
|
||||
<div className="flex-container grid-row govuk-body ">
|
||||
|
||||
@@ -10,9 +10,9 @@ export default function MakeNewAppeal() {
|
||||
return (
|
||||
<div className="card card-3" id="casescomment-card">
|
||||
<div className="card-body">
|
||||
<h3 className="heading-small card-heading">
|
||||
<h2 className="govuk-heading-s">
|
||||
{t("myportal:makenewappeal-card-title")}
|
||||
</h3>
|
||||
</h2>
|
||||
<p className="govuk-body-s">
|
||||
{t("myportal:makenewappeal-card-paragraph-one")}
|
||||
</p>
|
||||
|
||||
@@ -37,16 +37,21 @@ const RenderTextfield = ({
|
||||
}
|
||||
>
|
||||
<div id="basicSearch-hint" className="govuk-hint ">
|
||||
<span className="govuk-body-m">{hint1}</span>
|
||||
<label
|
||||
className="govuk-label "
|
||||
htmlFor={id}
|
||||
id={id + "_label"}
|
||||
>
|
||||
{label}
|
||||
<span className="govuk-body-m">{hint1}</span>
|
||||
</label>
|
||||
|
||||
<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>{" "}
|
||||
@@ -76,7 +81,7 @@ let CaseSearch = (props) => {
|
||||
|
||||
const onHandleSubmit = (values) => {
|
||||
spinnerState();
|
||||
router.replace({
|
||||
router.push({
|
||||
pathname:
|
||||
router.locale == "cy"
|
||||
? "/fymhorth/canlyniadauchwilio"
|
||||
|
||||
+124
-64
@@ -4,77 +4,93 @@ import { useRouter } from "next/router";
|
||||
import useTranslation from "next-translate/useTranslation";
|
||||
import { setCurrentReference } from "../../store/currentView/action";
|
||||
import { connect } from "react-redux";
|
||||
import { parseCookies } from "nookies";
|
||||
import {
|
||||
getSASToken,
|
||||
getWatchedCasesProxy,
|
||||
getPortalModuleDetailsProxy,
|
||||
deleteWatchedCases,
|
||||
} from "../../actions";
|
||||
|
||||
import {
|
||||
setWatchedCases,
|
||||
setWatchedCasesDetails,
|
||||
} from "../../store/watchedCases/action";
|
||||
import { getFormCollectionByID } from "../../components/utils";
|
||||
|
||||
const TopThree = (props) => {
|
||||
let { t } = useTranslation();
|
||||
const { showTopThree, showDetails, setCurrentReference, topThreeType } =
|
||||
props;
|
||||
const {
|
||||
showTopThree,
|
||||
showDetails,
|
||||
setCurrentReference,
|
||||
topThreeType,
|
||||
setWatchedCases,
|
||||
setWatchedCasesDetails,
|
||||
} = props;
|
||||
|
||||
const router = useRouter();
|
||||
const { locale } = router;
|
||||
|
||||
let topthreeRow = [];
|
||||
|
||||
// for (var i = 0; i < 3; i++) {
|
||||
// (function (i) {
|
||||
// topthreeRow.push(
|
||||
// <div className="cardModuleItem" key={i}>
|
||||
// <div className="cardModuleDetails">
|
||||
// <div className="cardModuleReference">
|
||||
// <b>Case reference:</b>{" "}
|
||||
// <Link
|
||||
// href={
|
||||
// topThreeType == "awaitingSubmission"
|
||||
// ? "/representation"
|
||||
// : "/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"> —</div>
|
||||
// </div>
|
||||
// );
|
||||
// })(i);
|
||||
// }
|
||||
|
||||
let showTopThreeArr = showTopThree.value;
|
||||
|
||||
Object.keys(showTopThreeArr).map((key, index) => {
|
||||
const deleteItem = (caseID, topThreeType) => {
|
||||
let token = getSASToken();
|
||||
let cookies = parseCookies();
|
||||
topThreeType == "watchedCases" &&
|
||||
deleteWatchedCases(caseID)
|
||||
.then((data) => data)
|
||||
.then(() => {
|
||||
getWatchedCasesProxy(token, cookies.pinsUser).then(
|
||||
(data) => {
|
||||
setWatchedCases(data),
|
||||
getDetails(token, data, "myWatchedCases").then(
|
||||
(data) => {
|
||||
setWatchedCasesDetails(data);
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
const getDetails = (token, resultsObj, detailsType) => {
|
||||
//console.log(resultsObj);
|
||||
let detailsArr = [];
|
||||
resultsObj = resultsObj.value;
|
||||
const detailsObj = resultsObj.map((searchDetail, index) => {
|
||||
if (searchDetail.pinswg_appealcasetype == null) {
|
||||
console.log(
|
||||
detailsType != "myWatchedCases"
|
||||
? searchDetail.ticketnumber
|
||||
: searchDetail[
|
||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
);
|
||||
} else {
|
||||
detailsArr.push(
|
||||
getPortalModuleDetailsProxy(
|
||||
token,
|
||||
getFormCollectionByID(
|
||||
searchDetail.pinswg_appealcasetype
|
||||
).LogicalCollectionName,
|
||||
detailsType != "myWatchedCases"
|
||||
? searchDetail.ticketnumber
|
||||
: searchDetail[
|
||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
//console.log(detailsArr);
|
||||
return Promise.all(detailsArr);
|
||||
};
|
||||
|
||||
let topThreeOnlyArr = showTopThreeArr.slice(0, 3);
|
||||
Object.keys(topThreeOnlyArr).map((key, index) => {
|
||||
topthreeRow.push(
|
||||
<div className="cardModuleItem" key={index}>
|
||||
<div className="cardModuleDetails">
|
||||
@@ -96,17 +112,32 @@ const TopThree = (props) => {
|
||||
onClick={() => {
|
||||
setCurrentReference({
|
||||
"currentReference":
|
||||
showTopThreeArr[key].ticketnumber,
|
||||
topThreeType != "watchedCases"
|
||||
? showTopThreeArr[key]
|
||||
.ticketnumber
|
||||
: showTopThreeArr[key][
|
||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||
],
|
||||
"currentType": topThreeType,
|
||||
"incidentid":
|
||||
showTopThreeArr[key].incidentid,
|
||||
topThreeType != "watchedCases"
|
||||
? showTopThreeArr[key]
|
||||
.incidentid
|
||||
: showTopThreeArr[key][
|
||||
" _pinswg_watchedcase_value"
|
||||
],
|
||||
|
||||
"appealType":
|
||||
showTopThreeArr[key]
|
||||
.pinswg_appealcasetype,
|
||||
});
|
||||
}}
|
||||
>
|
||||
{showTopThreeArr[key].ticketnumber}
|
||||
{topThreeType != "watchedCases"
|
||||
? showTopThreeArr[key].ticketnumber
|
||||
: showTopThreeArr[key][
|
||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||
]}
|
||||
</a>
|
||||
</Link>
|
||||
</div>
|
||||
@@ -140,7 +171,30 @@ const TopThree = (props) => {
|
||||
""
|
||||
)}
|
||||
</div>
|
||||
<div className="cardModuleRemoveCase"> —</div>
|
||||
|
||||
{topThreeType == "watchedCases" && (
|
||||
<div className="">
|
||||
<a
|
||||
href="#"
|
||||
className=" cardModuleRemoveCase govuk-link govuk-link--no-underline govuk-link--inverse "
|
||||
onClick={() => {
|
||||
event.preventDefault();
|
||||
deleteItem(
|
||||
showTopThreeArr[key].pinswg_watchlistid,
|
||||
"watchedCases"
|
||||
);
|
||||
alert(
|
||||
"You have stopped watching case " +
|
||||
showTopThreeArr[key][
|
||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
);
|
||||
}}
|
||||
>
|
||||
—
|
||||
</a>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
});
|
||||
@@ -176,6 +230,12 @@ const mapDispatchToProps = (dispatch) => {
|
||||
setCurrentReference: (currentReference) => {
|
||||
dispatch(setCurrentReference(currentReference));
|
||||
},
|
||||
setWatchedCases: (watchedCases) => {
|
||||
dispatch(setWatchedCases(watchedCases));
|
||||
},
|
||||
setWatchedCasesDetails: (watchedCasesDetails) => {
|
||||
dispatch(setWatchedCasesDetails(watchedCasesDetails));
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -5,8 +5,13 @@ import { setCurrentReference } from "../../store/currentView/action";
|
||||
import { connect } from "react-redux";
|
||||
|
||||
const ViewAllResults = (props) => {
|
||||
const { searchString, searchResultsObj, currentView, setCurrentReference } =
|
||||
props;
|
||||
const {
|
||||
searchString,
|
||||
searchResultsObj,
|
||||
currentView,
|
||||
setCurrentReference,
|
||||
myportal,
|
||||
} = props;
|
||||
|
||||
let { t } = useTranslation();
|
||||
|
||||
@@ -21,14 +26,35 @@ const ViewAllResults = (props) => {
|
||||
resultsRowArr.push(
|
||||
<div className="govuk-summary-list__row" key={key}>
|
||||
<dd className="govuk-summary-list__value govuk-!-font-size-16 govuk-!-padding-left-2">
|
||||
<Link href={router.locale == "cy" ? "/achos" : "/case"}>
|
||||
<Link
|
||||
href={
|
||||
router.locale == "cy"
|
||||
? myportal == "true"
|
||||
? "/fymhorth/achos"
|
||||
: "/achos"
|
||||
: myportal == "true"
|
||||
? "/myportal/case"
|
||||
: "/case"
|
||||
}
|
||||
>
|
||||
<a
|
||||
onClick={() => {
|
||||
setCurrentReference({
|
||||
"currentReference":
|
||||
resultsArr[index].reference,
|
||||
currentView.viewKey != "watchedCases"
|
||||
? resultsArr[index].ticketnumber
|
||||
: resultsArr[index][
|
||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||
],
|
||||
|
||||
"currentType": currentView.viewKey,
|
||||
"incidentid": resultsArr[index].incidentid,
|
||||
"incidentid":
|
||||
currentView.viewKey != "watchedCases"
|
||||
? resultsArr[index].incidentid
|
||||
: resultsArr[index][
|
||||
" _pinswg_watchedcase_value"
|
||||
],
|
||||
|
||||
"appealType":
|
||||
resultsArr[index].pinswg_appealcasetype,
|
||||
});
|
||||
@@ -37,7 +63,12 @@ const ViewAllResults = (props) => {
|
||||
<span className="results-visually-hidden">
|
||||
Case Reference:
|
||||
</span>
|
||||
{resultsArr[index].ticketnumber}
|
||||
|
||||
{currentView.viewKey != "watchedCases"
|
||||
? resultsArr[index].ticketnumber
|
||||
: resultsArr[index][
|
||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||
]}
|
||||
</a>
|
||||
</Link>
|
||||
</dd>
|
||||
|
||||
@@ -23,10 +23,27 @@ import {
|
||||
setSearchResults,
|
||||
setSearchDetails,
|
||||
} from "../../store/searchOutput/action";
|
||||
import {
|
||||
setWatchedCases,
|
||||
setWatchedCasesDetails,
|
||||
} from "../../store/watchedCases/action";
|
||||
import { useEffect } from "react";
|
||||
import { parseCookies, setCookie, destroyCookie } from "nookies";
|
||||
|
||||
import PaginationControl from "./pagination";
|
||||
import { getSearchDetailsPaged, getFormCollection } from "../utils";
|
||||
import {
|
||||
getSearchDetailsPaged,
|
||||
getFormCollection,
|
||||
getFormCollectionByID,
|
||||
} from "../utils";
|
||||
|
||||
import {
|
||||
createWatchedCases,
|
||||
getSASToken,
|
||||
getWatchedCasesProxy,
|
||||
getPortalModuleDetailsProxy,
|
||||
deleteWatchedCases,
|
||||
} from "../../actions";
|
||||
|
||||
const SearchResults = (props) => {
|
||||
const {
|
||||
@@ -38,6 +55,9 @@ const SearchResults = (props) => {
|
||||
setSearchDetails,
|
||||
advancedSearch,
|
||||
myportal,
|
||||
watchedCases,
|
||||
setWatchedCases,
|
||||
setWatchedCasesDetails,
|
||||
} = props;
|
||||
let { t } = useTranslation();
|
||||
|
||||
@@ -54,6 +74,93 @@ const SearchResults = (props) => {
|
||||
: setShowSpinnerState(true);
|
||||
};
|
||||
|
||||
const cookies = parseCookies();
|
||||
|
||||
const selectWatchedCase = (loggedInUser, incidentID, appealType) => {
|
||||
let token = getSASToken();
|
||||
|
||||
let updateBody = {
|
||||
"pinswg_WatchedCase@odata.bind": "/incidents(" + incidentID + ")",
|
||||
"pinswg_Contact@odata.bind": "/contacts(" + loggedInUser + ")",
|
||||
"pinswg_appealcasetype": +appealType,
|
||||
};
|
||||
|
||||
createWatchedCases(updateBody)
|
||||
.then((data) => data)
|
||||
.then(() => {
|
||||
getWatchedCasesProxy(token, cookies.pinsUser).then((data) => {
|
||||
setWatchedCases(data),
|
||||
getDetails(token, data, "myWatchedCases").then(
|
||||
(data) => {
|
||||
setWatchedCasesDetails(data);
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
const isWatchedCase = (whichIncident) => {
|
||||
let isWatched = jsonpath.query(
|
||||
watchedCases,
|
||||
"$..value[?(@._pinswg_watchedcase_value=='" + whichIncident + "')]"
|
||||
);
|
||||
|
||||
return isWatched;
|
||||
};
|
||||
|
||||
const deleteItem = (caseID, topThreeType) => {
|
||||
let token = getSASToken();
|
||||
let cookies = parseCookies();
|
||||
topThreeType == "watchedCases" &&
|
||||
deleteWatchedCases(caseID)
|
||||
.then((data) => data)
|
||||
.then(() => {
|
||||
getWatchedCasesProxy(token, cookies.pinsUser).then(
|
||||
(data) => {
|
||||
setWatchedCases(data),
|
||||
getDetails(token, data, "myWatchedCases").then(
|
||||
(data) => {
|
||||
setWatchedCasesDetails(data);
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
const getDetails = (token, resultsObj, detailsType) => {
|
||||
//console.log(resultsObj);
|
||||
let detailsArr = [];
|
||||
resultsObj = resultsObj.value;
|
||||
const detailsObj = resultsObj.map((searchDetail, index) => {
|
||||
if (searchDetail.pinswg_appealcasetype == null) {
|
||||
console.log(
|
||||
detailsType != "myWatchedCases"
|
||||
? searchDetail.ticketnumber
|
||||
: searchDetail[
|
||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
);
|
||||
} else {
|
||||
detailsArr.push(
|
||||
getPortalModuleDetailsProxy(
|
||||
token,
|
||||
getFormCollectionByID(
|
||||
searchDetail.pinswg_appealcasetype
|
||||
).LogicalCollectionName,
|
||||
detailsType != "myWatchedCases"
|
||||
? searchDetail.ticketnumber
|
||||
: searchDetail[
|
||||
"_pinswg_watchedcase_value@OData.Community.Display.V1.FormattedValue"
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
});
|
||||
//console.log(detailsArr);
|
||||
return Promise.all(detailsArr);
|
||||
};
|
||||
|
||||
const ResultsView = (resultsArr) => {
|
||||
return (
|
||||
<>
|
||||
@@ -88,8 +195,6 @@ const SearchResults = (props) => {
|
||||
"$..value[?(@.pinswg_name=='" + item.title + "')]"
|
||||
);
|
||||
detailsObj = detailsObj[0];
|
||||
console.log(props.myportal);
|
||||
|
||||
return (
|
||||
<div className="govuk-summary-list__row" key={key}>
|
||||
<dd className="govuk-summary-list__value govuk-!-font-size-16 ">
|
||||
@@ -274,15 +379,47 @@ const SearchResults = (props) => {
|
||||
</dd>
|
||||
{myportal == "true" && (
|
||||
<dd className="govuk-summary-list__value govuk-!-font-size-14 govuk-summary-list__action">
|
||||
<Link href="">
|
||||
<a
|
||||
{isWatchedCase(item.incidentid).length >
|
||||
0 ==
|
||||
true ? (
|
||||
<span
|
||||
className="govuk-summary-list__actionLink watched_link"
|
||||
onClick={() => {
|
||||
deleteItem(
|
||||
isWatchedCase(
|
||||
item.incidentid
|
||||
)[0].pinswg_watchlistid,
|
||||
|
||||
"watchedCases"
|
||||
);
|
||||
alert(
|
||||
"You have stopped watching case " +
|
||||
item.title
|
||||
);
|
||||
}}
|
||||
title="Stop watching this case"
|
||||
>
|
||||
−
|
||||
</span>
|
||||
) : (
|
||||
<span
|
||||
className="govuk-summary-list__actionLink"
|
||||
onClick={() => {}}
|
||||
onClick={() => {
|
||||
selectWatchedCase(
|
||||
cookies.pinsUser,
|
||||
item.incidentid,
|
||||
item.pinswg_appealcasetype
|
||||
);
|
||||
alert(
|
||||
"You are watching case " +
|
||||
item.title
|
||||
);
|
||||
}}
|
||||
title="Watch this case"
|
||||
>
|
||||
+
|
||||
</a>
|
||||
</Link>
|
||||
</span>
|
||||
)}
|
||||
</dd>
|
||||
)}
|
||||
</div>
|
||||
@@ -417,6 +554,12 @@ const mapDispatchToProps = (dispatch) => {
|
||||
setSearchDetails: (searchDetailsObj) => {
|
||||
dispatch(setSearchDetails(searchDetailsObj));
|
||||
},
|
||||
setWatchedCases: (watchedCases) => {
|
||||
dispatch(setWatchedCases(watchedCases));
|
||||
},
|
||||
setWatchedCasesDetails: (watchedCasesDetails) => {
|
||||
dispatch(setWatchedCasesDetails(watchedCasesDetails));
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -7,7 +7,13 @@ import SearchResults from "./search/searchresults";
|
||||
import CRMError from "./crmError";
|
||||
|
||||
export default function Search(props) {
|
||||
const { searchString, searchResultsObj, advancedSearch, myportal } = props;
|
||||
const {
|
||||
searchString,
|
||||
searchResultsObj,
|
||||
advancedSearch,
|
||||
myportal,
|
||||
watchedCases,
|
||||
} = props;
|
||||
let { t } = useTranslation();
|
||||
|
||||
const router = useRouter();
|
||||
@@ -41,6 +47,7 @@ export default function Search(props) {
|
||||
searchResultsObj.searchDetailsObj
|
||||
}
|
||||
myportal={myportal}
|
||||
watchedCases={watchedCases}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -16,6 +16,15 @@ export default function ServiceBanner() {
|
||||
}
|
||||
alt="Planning casework"
|
||||
/>
|
||||
<img
|
||||
className="pedw_logo"
|
||||
src="/assets/images/pedw_logo.png"
|
||||
alt={
|
||||
router.locale == "cy"
|
||||
? "Penderfyniadau Cynllunio ac Amgylchedd Cymru"
|
||||
: "Planning & Environment Decisions Wales"
|
||||
}
|
||||
/>
|
||||
</h1>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user