added column sort and arrows
This commit is contained in:
+5
-5
@@ -37,11 +37,11 @@ RELAYPATH = "pp-pedw-hc"
|
|||||||
|
|
||||||
|
|
||||||
//Prod Oauth WGO
|
//Prod Oauth WGO
|
||||||
CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc
|
//CLIENT_ID = 3e4141a3-1fbd-454e-98f0-7f3a4f14a3cc
|
||||||
CLIENT_SECRET = mJN7Q~lFu.xFGa5KCc.zwIm_fJAWxajyQaFo~
|
//CLIENT_SECRET = mJN7Q~lFu.xFGa5KCc.zwIm_fJAWxajyQaFo~
|
||||||
RELAY_ROOT = https://prod-pedw-ns.servicebus.windows.net/prod-pedw-hc/
|
//RELAY_ROOT = https://prod-pedw-ns.servicebus.windows.net/prod-pedw-hc/
|
||||||
RELAYURI = "prod-pedw-ns.servicebus.windows.net"
|
//RELAYURI = "prod-pedw-ns.servicebus.windows.net"
|
||||||
RELAYPATH = "prod-pedw-hc"
|
//RELAYPATH = "prod-pedw-hc"
|
||||||
|
|
||||||
|
|
||||||
GOOGLE_TAG_MANAGER = GTM-T78CBC3
|
GOOGLE_TAG_MANAGER = GTM-T78CBC3
|
||||||
|
|||||||
+11
-2
@@ -131,14 +131,23 @@ export const getBasicSearch = (searchString) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getBasicSearchPaged = (searchString, pageNumber) => {
|
export const getBasicSearchPaged = (
|
||||||
|
searchString,
|
||||||
|
pageNumber,
|
||||||
|
orderBy,
|
||||||
|
fieldSort
|
||||||
|
) => {
|
||||||
//console.log(queryUrl);
|
//console.log(queryUrl);
|
||||||
return axios
|
return axios
|
||||||
.get(
|
.get(
|
||||||
"/api/endpoint/getbasicsearchpaged_api?searchString=" +
|
"/api/endpoint/getbasicsearchpaged_api?searchString=" +
|
||||||
searchString +
|
searchString +
|
||||||
"&pageNumber=" +
|
"&pageNumber=" +
|
||||||
pageNumber
|
pageNumber +
|
||||||
|
"&orderby=" +
|
||||||
|
orderBy +
|
||||||
|
"&fieldSort=" +
|
||||||
|
fieldSort
|
||||||
)
|
)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
return res.data;
|
return res.data;
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import useTranslation from "next-translate/useTranslation";
|
|||||||
|
|
||||||
const PaginationControl = (props) => {
|
const PaginationControl = (props) => {
|
||||||
const {
|
const {
|
||||||
|
orderBy,
|
||||||
|
fieldSort,
|
||||||
searchString,
|
searchString,
|
||||||
searchResultsObj,
|
searchResultsObj,
|
||||||
currentPage,
|
currentPage,
|
||||||
@@ -82,7 +84,11 @@ const PaginationControl = (props) => {
|
|||||||
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem leftTextButton"
|
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem leftTextButton"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
// spinnerState(),
|
// spinnerState(),
|
||||||
getSearchPageResults(currentPage - 1);
|
getSearchPageResults(
|
||||||
|
currentPage - 1,
|
||||||
|
orderBy,
|
||||||
|
fieldSort
|
||||||
|
);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{t("common:previous-link-button")}
|
{t("common:previous-link-button")}
|
||||||
@@ -116,7 +122,11 @@ const PaginationControl = (props) => {
|
|||||||
onClick={() => {
|
onClick={() => {
|
||||||
// spinnerState();
|
// spinnerState();
|
||||||
console.log(i + 1);
|
console.log(i + 1);
|
||||||
getSearchPageResults(i + 1);
|
getSearchPageResults(
|
||||||
|
i + 1,
|
||||||
|
orderBy,
|
||||||
|
fieldSort
|
||||||
|
);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{e}
|
{e}
|
||||||
@@ -130,7 +140,11 @@ const PaginationControl = (props) => {
|
|||||||
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem rightTextButton"
|
className="govuk-body govuk-link govuk-!-font-weight-bold govuk-link--no-underline activePaginationItem rightTextButton"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
// spinnerState(),
|
// spinnerState(),
|
||||||
getSearchPageResults(currentPage + 1);
|
getSearchPageResults(
|
||||||
|
currentPage + 1,
|
||||||
|
orderBy,
|
||||||
|
fieldSort
|
||||||
|
);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{t("common:next-link-button")}
|
{t("common:next-link-button")}
|
||||||
|
|||||||
@@ -166,13 +166,57 @@ const SearchResults = (props) => {
|
|||||||
{t("search:searchresults-applicant-label")}
|
{t("search:searchresults-applicant-label")}
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__key govuk-!-font-size-16">
|
<dd className="govuk-summary-list__key govuk-!-font-size-16">
|
||||||
{t("search:searchresults-authority-label")}
|
{/* {t("search:searchresults-authority-label")} */}
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() =>
|
||||||
|
sortDataBy("_pinswg_associatedlpa_value")
|
||||||
|
}
|
||||||
|
className={
|
||||||
|
orderByState ==
|
||||||
|
"_pinswg_associatedlpa_value"
|
||||||
|
? fieldSortState == "asc"
|
||||||
|
? `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortAsc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortDesc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16`
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{t("search:searchresults-authority-label")}
|
||||||
|
</button>
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__key govuk-!-font-size-16">
|
<dd className="govuk-summary-list__key govuk-!-font-size-16">
|
||||||
{t("search:searchresults-case-type-label")}
|
{/* {t("search:searchresults-case-type-label")} */}
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() =>
|
||||||
|
sortDataBy("pinswg_appealcasetype")
|
||||||
|
}
|
||||||
|
className={
|
||||||
|
orderByState == "pinswg_appealcasetype"
|
||||||
|
? fieldSortState == "asc"
|
||||||
|
? `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortAsc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortDesc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16`
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{t("search:searchresults-case-type-label")}
|
||||||
|
</button>
|
||||||
</dd>
|
</dd>
|
||||||
<dd className="govuk-summary-list__key govuk-!-font-size-16">
|
<dd className="govuk-summary-list__key govuk-!-font-size-16">
|
||||||
{t("search:searchresults-status-label")}
|
{/* {t("search:searchresults-status-label")} */}
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={() => sortDataBy("statuscode")}
|
||||||
|
className={
|
||||||
|
orderByState == "statuscode"
|
||||||
|
? fieldSortState == "asc"
|
||||||
|
? `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortAsc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16 sortDesc`
|
||||||
|
: `govuk-link govuk-link--no-underline govuk-!-font-weight-bold govuk-!-font-size-16`
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{t("search:searchresults-status-label")}
|
||||||
|
</button>
|
||||||
</dd>
|
</dd>
|
||||||
{myportal == true && (
|
{myportal == true && (
|
||||||
<dd className="govuk-summary-list__key govuk-!-font-size-16 govuk-summary-list__action"></dd>
|
<dd className="govuk-summary-list__key govuk-!-font-size-16 govuk-summary-list__action"></dd>
|
||||||
@@ -420,6 +464,8 @@ const SearchResults = (props) => {
|
|||||||
<PaginationControl
|
<PaginationControl
|
||||||
currentPage={currentPage}
|
currentPage={currentPage}
|
||||||
searchResultsObj={searchResultsObj}
|
searchResultsObj={searchResultsObj}
|
||||||
|
orderBy={orderByState}
|
||||||
|
fieldSort={fieldSortState}
|
||||||
// spinnerState={spinnerState}
|
// spinnerState={spinnerState}
|
||||||
getSearchPageResults={getSearchPageResults}
|
getSearchPageResults={getSearchPageResults}
|
||||||
/>
|
/>
|
||||||
@@ -448,9 +494,11 @@ const SearchResults = (props) => {
|
|||||||
)
|
)
|
||||||
: pagesCount;
|
: pagesCount;
|
||||||
|
|
||||||
const getSearchPageResults = (pageNumber) => {
|
const getSearchPageResults = (pageNumber, orderBy, fieldSort) => {
|
||||||
//console.log(advancedSearch, searchString, pageNumber);
|
//console.log(advancedSearch, searchString, pageNumber);
|
||||||
|
|
||||||
|
console.log("got this ", fieldSortState + " " + orderByState);
|
||||||
|
|
||||||
if (advancedSearch) {
|
if (advancedSearch) {
|
||||||
var searchoObj = Object.assign(
|
var searchoObj = Object.assign(
|
||||||
...searchString.map(([key, val]) => ({ [key]: val }))
|
...searchString.map(([key, val]) => ({ [key]: val }))
|
||||||
@@ -470,7 +518,7 @@ const SearchResults = (props) => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
getBasicSearchPaged(searchString, pageNumber)
|
getBasicSearchPaged(searchString, pageNumber, orderBy, fieldSort)
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
//console.log(data);
|
//console.log(data);
|
||||||
setSearchResults(data);
|
setSearchResults(data);
|
||||||
@@ -486,6 +534,29 @@ 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);
|
||||||
|
|
||||||
|
fieldSortState == "desc"
|
||||||
|
? setfieldSortState("asc")
|
||||||
|
: setfieldSortState("desc");
|
||||||
|
|
||||||
|
console.log(currentPage, orderByState + " " + fieldSortState);
|
||||||
|
getSearchPageResults(currentPage, orderByState, fieldSortState);
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
"page is here ",
|
||||||
|
currentPage,
|
||||||
|
orderByState + " " + fieldSortState
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="govuk-grid-row">
|
<div className="govuk-grid-row">
|
||||||
|
|||||||
@@ -42,27 +42,36 @@ export default async function ApiProxy(req, res) {
|
|||||||
|
|
||||||
var docRef = req.query;
|
var docRef = req.query;
|
||||||
|
|
||||||
console.log(docRef.id);
|
|
||||||
|
|
||||||
var queryUrl = "documents/download/" + docRef.id + "?hash=" + docRef.hash;
|
var queryUrl = "documents/download/" + docRef.id + "?hash=" + docRef.hash;
|
||||||
|
|
||||||
console.log(WEBAPI_URL + queryUrl);
|
const configDocument = (access_token) => {
|
||||||
|
return {
|
||||||
|
headers: {
|
||||||
|
"OData-MaxVersion": "4.0",
|
||||||
|
"OData-Version": "4.0",
|
||||||
|
"Accept": "application/json",
|
||||||
|
"Prefer": 'odata.include-annotations="*",return=representation',
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"Authorization": "Bearer " + access_token,
|
||||||
|
},
|
||||||
|
responseType: "arraybuffer",
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
return axios
|
return axios
|
||||||
.get(
|
.get(
|
||||||
WEBAPI_URL + queryUrl, // + hashAPIPath(queryUrl),
|
WEBAPI_URL + queryUrl, // + hashAPIPath(queryUrl),
|
||||||
azureHeadersPaged(token.access_token)
|
configDocument(token.access_token)
|
||||||
)
|
)
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
console.log(response.headers);
|
|
||||||
res.status(200);
|
|
||||||
res.setHeader(
|
res.setHeader(
|
||||||
"Content-disposition",
|
"content-disposition",
|
||||||
"attachment; filename=" +
|
"attachment; filename=" +
|
||||||
response.headers["content-disposition"].split(
|
response.headers["content-disposition"].split(
|
||||||
"filename="
|
"filename="
|
||||||
)[1]
|
)[1]
|
||||||
);
|
);
|
||||||
res.end(response.data);
|
res.status(200).send(response.data);
|
||||||
})
|
})
|
||||||
.catch(({ err }) => {
|
.catch(({ err }) => {
|
||||||
res.status(400).json(err);
|
res.status(400).json(err);
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ export default async function ApiProxy(req, res) {
|
|||||||
var queryUrl =
|
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=createdon desc&$count=true";
|
||||||
|
|
||||||
|
console.log(queryUrl);
|
||||||
|
|
||||||
return axios
|
return axios
|
||||||
.get(
|
.get(
|
||||||
WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
|
WEBAPI_URL + queryUrl + hashAPIPath(queryUrl),
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ export default async function ApiProxy(req, res) {
|
|||||||
searchString +
|
searchString +
|
||||||
"')) 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=createdon desc&$count=true";
|
||||||
|
|
||||||
|
console.log("basic query ", queryUrl);
|
||||||
|
|
||||||
var apiResponse = _.isEmpty(req.query)
|
var apiResponse = _.isEmpty(req.query)
|
||||||
? res.status(400).json()
|
? res.status(400).json()
|
||||||
: searchString.length > 0
|
: searchString.length > 0
|
||||||
|
|||||||
@@ -24,16 +24,25 @@ export default async function ApiProxy(req, res) {
|
|||||||
var pageNumber = req.query.pageNumber;
|
var pageNumber = req.query.pageNumber;
|
||||||
var token = await getToken();
|
var token = await getToken();
|
||||||
|
|
||||||
|
var orderby = req.query.orderby;
|
||||||
|
var fieldSort = req.query.fieldSort;
|
||||||
|
|
||||||
var queryUrl =
|
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=(contains(title, '" +
|
"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=(contains(title, '" +
|
||||||
searchString +
|
searchString +
|
||||||
"') or contains(ticketnumber, '" +
|
"') or contains(ticketnumber, '" +
|
||||||
searchString +
|
searchString +
|
||||||
"')) 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"
|
(typeof pageNumber != "undefined"
|
||||||
? "&$skiptoken=" + '<cookie pagenumber="' + pageNumber + '" />'
|
? "&$skiptoken=" + '<cookie pagenumber="' + pageNumber + '" />'
|
||||||
: "");
|
: "");
|
||||||
|
|
||||||
|
console.log(queryUrl);
|
||||||
|
|
||||||
var apiResponse =
|
var apiResponse =
|
||||||
searchString.length > 0
|
searchString.length > 0
|
||||||
? axios
|
? axios
|
||||||
|
|||||||
@@ -829,6 +829,39 @@ textarea,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
button {
|
||||||
|
border: none;
|
||||||
|
background: none;
|
||||||
|
padding-left: 0;
|
||||||
|
|
||||||
|
&.sortDesc:after {
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 13.9px 8px 0 8px;
|
||||||
|
border-color: #31373d transparent transparent transparent;
|
||||||
|
content: "";
|
||||||
|
top: 15px;
|
||||||
|
position: relative;
|
||||||
|
left: 10px;
|
||||||
|
}
|
||||||
|
&.sortAsc:after {
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 0 8px 13.9px 8px;
|
||||||
|
border-color: transparent transparent #31373d transparent;
|
||||||
|
content: "";
|
||||||
|
top: -15px;
|
||||||
|
position: relative;
|
||||||
|
left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
border: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.results_wider {
|
.results_wider {
|
||||||
|
|||||||
Reference in New Issue
Block a user