sorting on documents

This commit is contained in:
2022-01-31 20:11:31 +00:00
parent 3cecafc380
commit 2ec88c995c
15 changed files with 240 additions and 70 deletions
+59 -3
View File
@@ -67,9 +67,38 @@ const DocumentDetails = (props) => {
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("case:documents-doc-type-label")}
<button
type="button"
onClick={() =>
sortDataBy("pinswg_isharedocumentlocations")
}
className={
orderByState ==
"pinswg_isharedocumentlocations"
? 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("case:documents-doc-type-label")}
</button>
</dd>
<dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("case:documents-date-published-label")}
<button
type="button"
onClick={() => sortDataBy("createdon")}
className={
orderByState == "createdon"
? 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("case:documents-date-published-label")}
</button>
</dd>
{/* <dd className="govuk-summary-list__key govuk-!-font-size-16">
{t("case:documents-size-label")}
@@ -199,6 +228,8 @@ const DocumentDetails = (props) => {
currentPage={currentPage}
searchResultsObj={documentDetailsObj}
spinnerState={spinnerState}
orderBy={orderByState}
fieldSort={fieldSortState}
getDocumentResults={getDocumentResults}
/>
</>
@@ -250,8 +281,13 @@ const DocumentDetails = (props) => {
const searchDocumentResultsObj = docDetailsObj();
}, [incidentid, setDocumentHistory, setDocumentDetails]);
const getDocumentResults = (pageNumber) => {
getSearchDocumentDetailsPaged(incidentid, pageNumber)
const getDocumentResults = (incidentid, pageNumber, orderBy, fieldSort) => {
getSearchDocumentDetailsPaged(
incidentid,
pageNumber,
orderBy,
fieldSort
)
.then((data) => data)
.then((data) => {
//console.log("getting details", data);
@@ -264,7 +300,12 @@ const DocumentDetails = (props) => {
};
const getDocumentDetails = async () => {
let docObj = await getSearchDocumentDetailsPaged(incidentid, pageNumber)
let docObj = await getSearchDocumentDetailsPaged(
incidentid,
pageNumber,
orderBy,
fieldSort
)
.then((data) => {
//console.log(data);
setDocumentDetails(data);
@@ -345,6 +386,8 @@ const DocumentDetails = (props) => {
};
const [showDocumentSearchState, setDocumentSearchState] = useState(false);
const [orderByState, setOrderbyState] = useState("createdon");
const [fieldSortState, setfieldSortState] = useState("asc");
let documentSearchState = () => {
showDocumentSearchState == true
@@ -352,6 +395,19 @@ const DocumentDetails = (props) => {
: setDocumentSearchState(true);
};
// 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>
+17 -4
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(),
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")}