Skip to content

Commit 0f70a0e

Browse files
committed
Allow to sort also rest of columns in patients paginated list table
1 parent 70bc8ef commit 0f70a0e

File tree

1 file changed

+39
-1
lines changed

1 file changed

+39
-1
lines changed

src/webapp/components/survey-list/hook/useMultipleChildCount.ts

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ export const useMultipleChildCount = (
1717
useState<SortDirection>("asc");
1818
const [supranationalRefsResultsSortDirection, setSupranationalRefsResultsSortDirection] =
1919
useState<SortDirection>("asc");
20+
const [followUpSortDirection, setFollowUpSortDirection] = useState<SortDirection>("asc");
21+
const [dischargeClinicalSortDirection, setDischargeClinicalSortDirection] =
22+
useState<SortDirection>("asc");
23+
const [dischargeEconomicSortDirection, setDischargeEconomicSortDirection] =
24+
useState<SortDirection>("asc");
25+
const [cohortEnrolmentSortDirection, setCohortEnrolmentSortDirection] =
26+
useState<SortDirection>("asc");
2027

2128
const getCurrentSortDirection = (childOptionName: string): SortDirection => {
2229
switch (childOptionName) {
@@ -29,10 +36,13 @@ export const useMultipleChildCount = (
2936
case "Supranational Ref Results":
3037
return supranationalRefsResultsSortDirection;
3138
case "Follow-up":
39+
return followUpSortDirection;
3240
case "Discharge - Clinical":
41+
return dischargeClinicalSortDirection;
3342
case "Discharge - Economic":
43+
return dischargeEconomicSortDirection;
3444
case "Cohort enrolment":
35-
return "asc";
45+
return cohortEnrolmentSortDirection;
3646

3747
default:
3848
throw new Error(`Invalid child option name: ${childOptionName}`);
@@ -72,6 +82,34 @@ export const useMultipleChildCount = (
7282
setSupranationalRefsResultsSortDirection(nextDir);
7383
sortByColumn("childCount", nextDir, childIndex);
7484
};
85+
case "Follow-up":
86+
return () => {
87+
const nextDir: SortDirection = followUpSortDirection === "asc" ? "desc" : "asc";
88+
setFollowUpSortDirection(nextDir);
89+
sortByColumn("childCount", nextDir, childIndex);
90+
};
91+
case "Discharge - Clinical":
92+
return () => {
93+
const nextDir: SortDirection =
94+
dischargeClinicalSortDirection === "asc" ? "desc" : "asc";
95+
setDischargeClinicalSortDirection(nextDir);
96+
sortByColumn("childCount", nextDir, childIndex);
97+
};
98+
case "Discharge - Economic":
99+
return () => {
100+
const nextDir: SortDirection =
101+
dischargeEconomicSortDirection === "asc" ? "desc" : "asc";
102+
setDischargeEconomicSortDirection(nextDir);
103+
sortByColumn("childCount", nextDir, childIndex);
104+
};
105+
case "Cohort enrolment":
106+
return () => {
107+
const nextDir: SortDirection =
108+
cohortEnrolmentSortDirection === "asc" ? "desc" : "asc";
109+
setCohortEnrolmentSortDirection(nextDir);
110+
sortByColumn("childCount", nextDir, childIndex);
111+
};
112+
75113
default:
76114
return undefined;
77115
}

0 commit comments

Comments
 (0)