Skip to content

Commit daab6d3

Browse files
committed
add pagination
1 parent 0b07dd7 commit daab6d3

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

frontend/src/features/task-management/pages/TaskManagementPage.tsx

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { type Task } from "../../../types/TaskTypes";
88
import Button from "../../../components/common/Button";
99
import { ADD_TASK_TEMPLATE_PAGE } from "../../../constants/Routes";
1010
import TaskTemplateAPIClient from "../../../APIClients/TaskTemplateAPIClient";
11+
import Pagination from "../../../components/common/Pagination";
1112

1213
const TaskManagementPage = (): React.ReactElement => {
1314
const history = useHistory();
@@ -16,6 +17,8 @@ const TaskManagementPage = (): React.ReactElement => {
1617
const [search, setSearch] = useState<string>("");
1718
const { isOpen, onOpen, onClose } = useDisclosure();
1819
const [selectedTask, setSelectedTask] = useState<Task | null>(null);
20+
const [page, setPage] = useState<number>(1);
21+
const numTasksPerPage = 10;
1922

2023
const handleTaskClick = (task: Task) => {
2124
setSelectedTask(task);
@@ -63,6 +66,8 @@ const TaskManagementPage = (): React.ReactElement => {
6366
);
6467
}, [filters, search, tasks]);
6568

69+
const filteredTasksLength = filteredTasks.length;
70+
6671
const getTasks = async () => {
6772
try {
6873
const fetchedTasks = await TaskTemplateAPIClient.getAllTaskTemplates();
@@ -101,9 +106,20 @@ const TaskManagementPage = (): React.ReactElement => {
101106
</Button>
102107
),
103108
}}
109+
bottomContent={
110+
<Pagination
111+
value={page}
112+
onChange={(newPage) => setPage(newPage)}
113+
numberOfItems={filteredTasksLength}
114+
itemsPerPage={numTasksPerPage}
115+
/>
116+
}
104117
>
105118
<TaskManagementTable
106-
tasks={filteredTasks}
119+
tasks={filteredTasks.slice(
120+
(page - 1) * numTasksPerPage,
121+
page * numTasksPerPage,
122+
)}
107123
clearFilters={handleClearFilters}
108124
onTaskClick={handleTaskClick}
109125
/>

0 commit comments

Comments
 (0)