Skip to content
This repository was archived by the owner on Jun 19, 2025. It is now read-only.

Commit 394c9b0

Browse files
authored
feat: TT-166 task list redesign (#229)
* fix(table): make list size customizable * test(mock): change mock data on tasks in the experiment details page
1 parent 483963f commit 394c9b0

File tree

4 files changed

+39
-8
lines changed

4 files changed

+39
-8
lines changed

aqueductcore/frontend/src/__mocks__/queries/tasks/getAllTasks.tsx

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { selected_experiment } from "__mocks__/queries/experiment/getExperimentByIdMock";
22
import { GET_ALL_TASKS } from "API/graphql/queries/tasks/getAllTasks";
3-
import { taskListRowsPerPageOptions } from "constants/constants";
3+
import { taskListRowsPerPageOptions, taskListRowsPerPageOptionsInExperimentDetailsPage } from "constants/constants";
44
import { TasksDataMock } from "__mocks__/TasksDataMock";
5+
import { createdNewExperiment } from "__mocks__/ExperimentsDataMock";
56

67
const request = {
78
query: GET_ALL_TASKS,
@@ -33,7 +34,7 @@ export const getAllTasks_mock = {
3334
...request,
3435
variables: {
3536
offset: 0,
36-
limit: taskListRowsPerPageOptions[0],
37+
limit: taskListRowsPerPageOptionsInExperimentDetailsPage[0],
3738
filters: {
3839
experiment: {
3940
type: 'UUID',
@@ -45,8 +46,33 @@ export const getAllTasks_mock = {
4546
result: {
4647
data: {
4748
tasks: {
48-
tasksData: TasksDataMock.slice(0, taskListRowsPerPageOptions[0]),
49-
totalTasksCount: TasksDataMock.slice(0, taskListRowsPerPageOptions[0]).length
49+
tasksData: TasksDataMock.slice(0, taskListRowsPerPageOptionsInExperimentDetailsPage[0]),
50+
totalTasksCount: TasksDataMock.slice(0, taskListRowsPerPageOptionsInExperimentDetailsPage[0]).length
51+
}
52+
},
53+
},
54+
maxUsageCount: Number.POSITIVE_INFINITY,
55+
},
56+
// New experiment mock data (it's being used in ExperimentRecordsPage.test.tsx) with no task
57+
{
58+
request: {
59+
...request,
60+
variables: {
61+
offset: 0,
62+
limit: taskListRowsPerPageOptionsInExperimentDetailsPage[0],
63+
filters: {
64+
experiment: {
65+
type: 'UUID',
66+
value: createdNewExperiment.uuid
67+
}
68+
}
69+
}
70+
},
71+
result: {
72+
data: {
73+
tasks: {
74+
tasksData: [],
75+
totalTasksCount: 0
5076
}
5177
},
5278
},

aqueductcore/frontend/src/components/organisms/TaskListInExperimentDetails/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ import { useState } from "react";
55
import TaskExtensionActionName from "components/molecules/TaskListTableCells/TaskExtensionActionName";
66
import TaskExtensionStatus from "components/molecules/TaskListTableCells/TaskExtensionStatus";
77
import { ExperimentDataType, TaskDataType, TasksListColumnsType } from "types/globalTypes";
8+
import { taskListRowsPerPageOptionsInExperimentDetailsPage } from "constants/constants";
89
import { dateFormatter, taskHistoryTableFormatter } from "helper/formatters";
910
import { useGetAllTasks } from "API/graphql/queries/tasks/getAllTasks";
1011
import ExtensionsList from "components/organisms/ExtensionsList";
11-
import { taskListRowsPerPageOptions } from "constants/constants";
1212
import TasksListTable from "components/organisms/TasksListTable";
1313
import { Loading } from "components/atoms/Loading";
1414
import { Error } from "components/atoms/Error";
@@ -54,7 +54,7 @@ export const TasksListColumns: readonly TasksListColumnsType[] = [
5454

5555
function TaskListInExperimentDetails({ experimentUuid }: { experimentUuid: ExperimentDataType['uuid'] }) {
5656
const [page, setPage] = useState(0);
57-
const [rowsPerPage, setRowsPerPage] = useState(taskListRowsPerPageOptions[0]);
57+
const [rowsPerPage, setRowsPerPage] = useState(taskListRowsPerPageOptionsInExperimentDetailsPage[0]);
5858
const { data, loading, error } = useGetAllTasks({
5959
variables: {
6060
offset: page * rowsPerPage,
@@ -98,6 +98,7 @@ function TaskListInExperimentDetails({ experimentUuid }: { experimentUuid: Exper
9898
</Grid>
9999
<Box sx={{ mt: 2 }}>
100100
<TasksListTable
101+
rowsPerPageOptions={taskListRowsPerPageOptionsInExperimentDetailsPage}
101102
TaskRecordsColumns={TasksListColumns}
102103
taskList={taskHistoryTableFormatter(tasks)}
103104
maxHeight={`calc(100vh - ${tableHeightOffset}px)`}

aqueductcore/frontend/src/components/organisms/TasksListTable/index.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@ import TaskDetailsModal from "components/organisms/TaskDetailsModal";
1212
import { taskListRowsPerPageOptions } from "constants/constants";
1313

1414
function TasksListTable({
15+
rowsPerPageOptions = taskListRowsPerPageOptions,
1516
TaskRecordsColumns,
1617
taskList,
1718
maxHeight,
1819
pageInfo,
1920
}: {
21+
rowsPerPageOptions?: number[]
2022
TaskRecordsColumns: readonly TasksListColumnsType[];
2123
taskList: TaskDataType[];
2224
maxHeight?: string;
@@ -109,7 +111,7 @@ function TasksListTable({
109111
sx={{
110112
borderTop: `1px solid ${grey[300]}`,
111113
}}
112-
rowsPerPageOptions={taskListRowsPerPageOptions}
114+
rowsPerPageOptions={rowsPerPageOptions}
113115
component="div"
114116
count={count}
115117
rowsPerPage={rowsPerPage}

aqueductcore/frontend/src/constants/constants.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ export const DEBOUNCE_DELAY = 250; //ms
88
// Pagination for Experiment Records
99
export const experimentRecordsRowsPerPageOptions = [10, 25, 100];
1010
// Pagination for Tasks List
11-
export const taskListRowsPerPageOptions = [3];
11+
export const taskListRowsPerPageOptions = [10, 25, 100];
12+
// Pagination for Tasks List in experiment details page
13+
export const taskListRowsPerPageOptionsInExperimentDetailsPage = [3];
1214

1315
export const FAVOURITE = "__favourite__";
1416
export const ARCHIVED = "__archived__";

0 commit comments

Comments
 (0)