added column sort and arrows

This commit is contained in:
2022-01-28 19:35:07 +00:00
parent 2ac0b0ade4
commit 9d55adb26d
9 changed files with 173 additions and 24 deletions
+17 -3
View File
@@ -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(),
getSearchPageResults(currentPage - 1);
getSearchPageResults(
currentPage - 1,
orderBy,
fieldSort
);
}}
>
{t("common:previous-link-button")}
@@ -116,7 +122,11 @@ const PaginationControl = (props) => {
onClick={() => {
// spinnerState();
console.log(i + 1);
getSearchPageResults(i + 1);
getSearchPageResults(
i + 1,
orderBy,
fieldSort
);
}}
>
{e}
@@ -130,7 +140,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")}
+76 -5
View File
@@ -166,13 +166,57 @@ const SearchResults = (props) => {
{t("search:searchresults-applicant-label")}
</dd>
<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 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 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>
{myportal == true && (
<dd className="govuk-summary-list__key govuk-!-font-size-16 govuk-summary-list__action"></dd>
@@ -420,6 +464,8 @@ const SearchResults = (props) => {
<PaginationControl
currentPage={currentPage}
searchResultsObj={searchResultsObj}
orderBy={orderByState}
fieldSort={fieldSortState}
// spinnerState={spinnerState}
getSearchPageResults={getSearchPageResults}
/>
@@ -448,9 +494,11 @@ const SearchResults = (props) => {
)
: pagesCount;
const getSearchPageResults = (pageNumber) => {
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 }))
@@ -470,7 +518,7 @@ const SearchResults = (props) => {
});
});
} else {
getBasicSearchPaged(searchString, pageNumber)
getBasicSearchPaged(searchString, pageNumber, orderBy, fieldSort)
.then((data) => {
//console.log(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 (
<>
<div className="govuk-grid-row">