sorting on documents
This commit is contained in:
@@ -46,6 +46,9 @@ const DNSSearchResults = (props) => {
|
||||
: setShowSpinnerState(true);
|
||||
};
|
||||
|
||||
const [orderByState, setOrderbyState] = useState("createdon");
|
||||
const [fieldSortState, setfieldSortState] = useState("asc");
|
||||
|
||||
const ResultsView = (resultsArr) => {
|
||||
return (
|
||||
<div className="govuk-grid-row govuk-!-margin-top-9">
|
||||
@@ -62,11 +65,40 @@ const DNSSearchResults = (props) => {
|
||||
{t("search:searchresults-applicant-label")}
|
||||
</dd>
|
||||
<dd className="govuk-summary-list__key govuk-!-font-size-16">
|
||||
{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-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>
|
||||
</div>
|
||||
|
||||
@@ -243,6 +275,8 @@ const DNSSearchResults = (props) => {
|
||||
<PaginationControl
|
||||
currentPage={currentPage}
|
||||
searchResultsObj={searchResultsObj}
|
||||
orderBy={orderByState}
|
||||
fieldSort={fieldSortState}
|
||||
spinnerState={spinnerState}
|
||||
getSearchPageResults={getSearchPageResults}
|
||||
/>
|
||||
@@ -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 (
|
||||
<>
|
||||
<div className="govuk-grid-row">
|
||||
|
||||
@@ -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")}
|
||||
|
||||
@@ -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 (
|
||||
<>
|
||||
|
||||
Reference in New Issue
Block a user