diff --git a/components/case/pagination.js b/components/case/pagination.js
index 50b88581..b35c01dd 100644
--- a/components/case/pagination.js
+++ b/components/case/pagination.js
@@ -4,6 +4,8 @@ import useTranslation from "next-translate/useTranslation";
const PaginationControl = (props) => {
const {
+ orderBy,
+ fieldSort,
searchString,
searchResultsObj,
currentPage,
@@ -82,7 +84,11 @@ const PaginationControl = (props) => {
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem leftTextButton"
onClick={() => {
spinnerState(),
- getDocumentResults(currentPage - 1);
+ getDocumentResults(
+ currentPage - 1,
+ orderBy,
+ fieldSort
+ );
}}
>
{t("common:previous-link-button")}
@@ -115,8 +121,11 @@ const PaginationControl = (props) => {
key={i}
onClick={() => {
spinnerState();
- console.log(i + 1);
- getDocumentResults(i + 1);
+ getDocumentResults(
+ i + 1,
+ orderBy,
+ fieldSort
+ );
}}
>
{e}
@@ -130,7 +139,11 @@ const PaginationControl = (props) => {
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem rightTextButton"
onClick={() => {
spinnerState(),
- getDocumentResults(currentPage + 1);
+ getDocumentResults(
+ currentPage + 1,
+ orderBy,
+ fieldSort
+ );
}}
>
{t("common:next-link-button")}
diff --git a/components/search/dnssearchresults.js b/components/search/dnssearchresults.js
index 11167c23..a28ca10e 100644
--- a/components/search/dnssearchresults.js
+++ b/components/search/dnssearchresults.js
@@ -46,6 +46,9 @@ const DNSSearchResults = (props) => {
: setShowSpinnerState(true);
};
+ const [orderByState, setOrderbyState] = useState("createdon");
+ const [fieldSortState, setfieldSortState] = useState("asc");
+
const ResultsView = (resultsArr) => {
return (
@@ -62,11 +65,40 @@ const DNSSearchResults = (props) => {
{t("search:searchresults-applicant-label")}
- {t("search:searchresults-authority-label")}
+
- {t("search:searchresults-status-label")}
+
@@ -243,6 +275,8 @@ const DNSSearchResults = (props) => {
@@ -272,10 +306,10 @@ const DNSSearchResults = (props) => {
)
: pagesCount;
- const getSearchPageResults = (pageNumber) => {
+ const getSearchPageResults = (pageNumber, orderBy, fieldSort) => {
//console.log(advancedSearch, searchString, pageNumber);
- getBasicDNSSearchPaged(pageNumber)
+ getBasicDNSSearchPaged(pageNumber, orderBy, fieldSort)
.then((data) => {
return data;
})
@@ -288,6 +322,19 @@ const DNSSearchResults = (props) => {
});
};
+ const sortDataBy = (whichField) => {
+ setOrderbyState(whichField);
+ setfieldSortState("asc");
+
+ getSearchPageResults(1, whichField, fieldSortState);
+ whichField == orderByState
+ ? fieldSortState == "desc"
+ ? setfieldSortState("asc")
+ : setfieldSortState("desc")
+ : setfieldSortState("asc");
+ setShowSpinnerState(true);
+ };
+
return (
<>
diff --git a/components/search/pagination.js b/components/search/pagination.js
index ce68813a..35f35fd8 100644
--- a/components/search/pagination.js
+++ b/components/search/pagination.js
@@ -84,7 +84,11 @@ const PaginationControl = (props) => {
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem leftTextButton"
onClick={() => {
spinnerState(),
- getSearchPageResults(currentPage - 1);
+ getSearchPageResults(
+ currentPage - 1,
+ orderBy,
+ fieldSort
+ );
}}
>
{t("common:previous-link-button")}
@@ -116,13 +120,12 @@ const PaginationControl = (props) => {
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,
- orderBy,
- fieldSort
- );
+ spinnerState(),
+ getSearchPageResults(
+ i + 1,
+ orderBy,
+ fieldSort
+ );
}}
>
{e}
@@ -136,7 +139,11 @@ const PaginationControl = (props) => {
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem rightTextButton"
onClick={() => {
spinnerState(),
- getSearchPageResults(currentPage + 1);
+ getSearchPageResults(
+ currentPage + 1,
+ orderBy,
+ fieldSort
+ );
}}
>
{t("common:next-link-button")}
diff --git a/components/search/searchresults.js b/components/search/searchresults.js
index 734ef56d..6750e173 100644
--- a/components/search/searchresults.js
+++ b/components/search/searchresults.js
@@ -74,6 +74,9 @@ const SearchResults = (props) => {
: setShowSpinnerState(true);
};
+ const [orderByState, setOrderbyState] = useState("createdon");
+ const [fieldSortState, setfieldSortState] = useState("asc");
+
const cookies = parseCookies();
const selectWatchedCase = (loggedInUser, incidentID, appealType) => {
@@ -526,14 +529,12 @@ const SearchResults = (props) => {
const getSearchPageResults = (pageNumber, orderBy, fieldSort) => {
//console.log(advancedSearch, searchString, pageNumber);
- console.log("got this ", fieldSortState + " " + orderByState);
-
if (advancedSearch) {
var searchoObj = Object.assign(
...searchString.map(([key, val]) => ({ [key]: val }))
);
- getAdvancedSearchPaged(searchoObj, pageNumber)
+ getAdvancedSearchPaged(searchoObj, pageNumber, orderBy, fieldSort)
.then((data) => data)
.then((data) => {
//console.log("getting details", data);
@@ -545,13 +546,10 @@ const SearchResults = (props) => {
});
} else {
getBasicSearchPaged(searchString, pageNumber, orderBy, fieldSort)
- .then((data) => {
- //console.log(data);
- setSearchResults(data);
- return data;
- })
+ .then((data) => data)
.then((data) => {
//console.log("getting details", data);
+ setSearchResults(data);
return getSearchDetailsPaged(data).then((data) => {
setSearchDetails(data);
setShowSpinnerState(false);
@@ -560,28 +558,24 @@ const SearchResults = (props) => {
}
};
- const [orderByState, setOrderbyState] = useState("createdon");
- const [fieldSortState, setfieldSortState] = useState("desc");
-
const sortDataBy = (whichField) => {
- console.log(whichField);
- orderByState == "createdon"
- ? setOrderbyState(whichField)
- : setOrderbyState(whichField);
+ setOrderbyState(whichField);
+ setfieldSortState("asc");
- fieldSortState == "desc"
- ? setfieldSortState("asc")
- : setfieldSortState("desc");
-
- console.log(currentPage, orderByState + " " + fieldSortState);
- getSearchPageResults(currentPage, orderByState, fieldSortState);
+ getSearchPageResults(1, whichField, fieldSortState);
+ whichField == orderByState
+ ? fieldSortState == "desc"
+ ? setfieldSortState("asc")
+ : setfieldSortState("desc")
+ : setfieldSortState("asc");
+ setShowSpinnerState(true);
};
- console.log(
- "page is here ",
- currentPage,
- orderByState + " " + fieldSortState
- );
+ // console.log(
+ // "page is here ",
+ // currentPage,
+ // orderByState + " " + fieldSortState
+ // );
return (
<>
diff --git a/pages/api/endpoint/getadvancedsearchpaged_api.js b/pages/api/endpoint/getadvancedsearchpaged_api.js
index 9f3bb570..77b638ac 100644
--- a/pages/api/endpoint/getadvancedsearchpaged_api.js
+++ b/pages/api/endpoint/getadvancedsearchpaged_api.js
@@ -1,5 +1,6 @@
import axios from "axios";
import CryptoJS from "crypto-js";
+import { query } from "jsonpath";
import _ from "lodash";
import { getToken, azureHeadersPaged } from "../../../actions";
@@ -26,6 +27,9 @@ export default async function ApiProxy(req, res) {
var pageNumber = req.query.pageNumber;
var token = await getToken();
+ var orderby = req.query.orderby;
+ var fieldSort = req.query.fieldSort;
+
searchString = _.isEmpty(searchString)
? searchString
: JSON.parse(decodeURI(searchString));
@@ -60,11 +64,17 @@ export default async function ApiProxy(req, res) {
var queryUrl =
"incidents?$select=description,numberofchildincidents,_accountid_value,_customerid_value,_pinswg_associatedlpa_value,_ownerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=" +
queryString +
- " and pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true" +
+ " and pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=" +
+ orderby +
+ " " +
+ fieldSort +
+ "&$count=true" +
(typeof pageNumber != "undefined"
? "&$skiptoken=" + ('')
: "");
+ console.log("adv qu: ", queryUrl);
+
var apiResponse = _.isEmpty(searchString)
? res.status(400).json()
: axios
diff --git a/pages/api/endpoint/getbasicdnssearchpaged_api.js b/pages/api/endpoint/getbasicdnssearchpaged_api.js
index c90c9c35..0a2c2ebe 100644
--- a/pages/api/endpoint/getbasicdnssearchpaged_api.js
+++ b/pages/api/endpoint/getbasicdnssearchpaged_api.js
@@ -25,8 +25,15 @@ export default async function ApiProxy(req, res) {
var pageNumber = req.query.pageNumber;
var token = await getToken();
+ var orderby = req.query.orderby;
+ var fieldSort = req.query.fieldSort;
+
var queryUrl =
- "incidents?$select=description,numberofchildincidents,_accountid_value,_customerid_value,_pinswg_associatedlpa_value,_ownerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype eq 846040011 and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true" +
+ "incidents?$select=description,numberofchildincidents,_accountid_value,_customerid_value,_pinswg_associatedlpa_value,_ownerid_value,pinswg_appealcasetype,statuscode,ticketnumber,title, _primarycontactid_value&$expand=primarycontactid($select=fullname)&$filter=pinswg_appealcasetype eq 846040011 and pinswg_publishtoweb eq true&$orderby=" +
+ orderby +
+ " " +
+ fieldSort +
+ "&$count=true" +
(typeof pageNumber != "undefined"
? "&$skiptoken=" + ''
: "");
diff --git a/pages/api/endpoint/getbasicsearch_api.js b/pages/api/endpoint/getbasicsearch_api.js
index 2944f93e..ac577c1b 100644
--- a/pages/api/endpoint/getbasicsearch_api.js
+++ b/pages/api/endpoint/getbasicsearch_api.js
@@ -32,7 +32,7 @@ export default async function ApiProxy(req, res) {
searchString +
"')) and pinswg_appealcasetype ne null and pinswg_publishtoweb eq true&$orderby=createdon desc&$count=true";
- console.log("basic query ", queryUrl);
+ // console.log("basic search ", queryUrl);
var apiResponse = _.isEmpty(req.query)
? res.status(400).json()
diff --git a/pages/api/endpoint/getbasicsearchdetails_api.js b/pages/api/endpoint/getbasicsearchdetails_api.js
index 0abcb60b..608efbfa 100644
--- a/pages/api/endpoint/getbasicsearchdetails_api.js
+++ b/pages/api/endpoint/getbasicsearchdetails_api.js
@@ -34,7 +34,7 @@ export default async function ApiProxy(req, res) {
queryUrl = queryUrl + getSelectQuery(appealTypeName);
- console.log("query: ", queryUrl, "<<<'
: "");
- console.log(queryUrl);
+ //console.log("basic search paged:", queryUrl);
var apiResponse =
searchString.length > 0
diff --git a/pages/api/endpoint/getsearchdocumentdetails_api.js b/pages/api/endpoint/getsearchdocumentdetails_api.js
index 10039332..66ee9344 100644
--- a/pages/api/endpoint/getsearchdocumentdetails_api.js
+++ b/pages/api/endpoint/getsearchdocumentdetails_api.js
@@ -43,6 +43,8 @@ export default async function ApiProxy(req, res) {
incidentID +
"&$select=pinswg_isharedocumentlocations,_pinswg_documentids_value,pinswg_isharelabelcasetype,pinswg_isharelabellpaname,pinswg_publishtoweb,pinswg_uploadstatus,pinswg_isharedocumentclassification,pinswg_isharedocumentreference";
+ console.log("docu: ", queryUrl);
+
return axios
.get(
WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
diff --git a/pages/api/endpoint/getsearchdocumentdetailspaged_api.js b/pages/api/endpoint/getsearchdocumentdetailspaged_api.js
index b95c4084..724f2233 100644
--- a/pages/api/endpoint/getsearchdocumentdetailspaged_api.js
+++ b/pages/api/endpoint/getsearchdocumentdetailspaged_api.js
@@ -39,14 +39,23 @@ export default async function ApiProxy(req, res) {
var incidentID = req.query.incidentid;
var token = await getToken();
+ var orderby = req.query.orderby;
+ var fieldSort = req.query.fieldSort;
+
var queryUrl =
"pinswg_documents?$count=true&$filter=pinswg_publishtoweb eq true and _pinswg_documentids_value eq " +
incidentID +
- "&$select=pinswg_isharedocumentlocations,_pinswg_documentids_value,pinswg_isharelabelcasetype,pinswg_isharelabellpaname,pinswg_publishtoweb,pinswg_uploadstatus,pinswg_isharedocumentclassification,pinswg_isharedocumentreference" +
+ "&$select=pinswg_isharedocumentlocations,_pinswg_documentids_value,pinswg_isharelabelcasetype,pinswg_isharelabellpaname,pinswg_publishtoweb,pinswg_uploadstatus,pinswg_isharedocumentclassification,pinswg_isharedocumentreference&$orderby=" +
+ orderby +
+ " " +
+ fieldSort +
+ "&$count=true" +
(typeof pageNumber != "undefined"
? "&$skiptoken=" + ('')
: "");
+ console.log("docu: ", queryUrl);
+
return axios
.get(
WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
diff --git a/styles/sass/welshgov/_application.scss b/styles/sass/welshgov/_application.scss
index 81b95fb8..f041a9ba 100644
--- a/styles/sass/welshgov/_application.scss
+++ b/styles/sass/welshgov/_application.scss
@@ -806,7 +806,7 @@ textarea,
.documentList {
.govuk-summary-list__key:first-of-type {
- width: 20%;
+ width: 40%;
}
.govuk-summary-list__key:last-of-type {
width: 20%;
@@ -834,14 +834,16 @@ textarea,
background: none;
padding-left: 0;
+ color: #0360a6;
+
&.sortDesc:after {
width: 0;
height: 0;
border-style: solid;
- border-width: 13.9px 8px 0 8px;
- border-color: #31373d transparent transparent transparent;
+ border-width: 12px 5px 0 5px;
+ border-color: #0360a6 transparent transparent transparent;
content: "";
- top: 15px;
+ top: 16px;
position: relative;
left: 10px;
}
@@ -849,10 +851,10 @@ textarea,
width: 0;
height: 0;
border-style: solid;
- border-width: 0 8px 13.9px 8px;
- border-color: transparent transparent #31373d transparent;
+ border-width: 0 5px 12px 5px;
+ border-color: transparent transparent #0360a6 transparent;
content: "";
- top: -15px;
+ top: -16px;
position: relative;
left: 10px;
}