From 39a35197931d74d26e7536db6b188d37112853f5 Mon Sep 17 00:00:00 2001 From: Ivona Nicetin Date: Fri, 28 Mar 2025 18:03:07 -0700 Subject: [PATCH 1/4] setupdata refactor in team tasks --- frontend/react-app/src/pages/TeamTasks.jsx | 43 +++++++++++++--------- 1 file changed, 26 insertions(+), 17 deletions(-) diff --git a/frontend/react-app/src/pages/TeamTasks.jsx b/frontend/react-app/src/pages/TeamTasks.jsx index baa53df..0ba0e9b 100644 --- a/frontend/react-app/src/pages/TeamTasks.jsx +++ b/frontend/react-app/src/pages/TeamTasks.jsx @@ -14,30 +14,39 @@ import { getTeamTasks } from "../api/teamApi"; function getAssigneesNames(taskItem) { return taskItem.assignedMembers.map((member) => member.userName).join(", "); } + +function mapTaskItem(taskItem) { + return { + name: taskItem, + id: taskItem.taskId, + assignees: getAssigneesNames(taskItem), + dueDate: taskItem.dueDate || "No Due Date", + }; +} function setUpData(results) { return results .filter((taskItem) => taskItem.status !== "Done") - .map((taskItem) => ({ - id: taskItem.taskId, - name: taskItem, - assignees: getAssigneesNames(taskItem), - status: taskItem.status, - priority: taskItem.priority, - dueDate: taskItem.dueDate || "No Due Date", - isLocked: taskItem.isLocked.toString() - })); + .map((taskItem) => { + const baseItem = mapTaskItem(taskItem); + return{ + ...baseItem, + status: taskItem.status, + priority: taskItem.priority, + isLocked: taskItem.isLocked.toString() + }; + + }); } function setUpDataCompleted(results) { return results .filter((taskItem) => taskItem.status === "Done") - .map((taskItem) => ({ - id: taskItem.taskId, - name: taskItem, - assignees: getAssigneesNames(taskItem), - dueDate: taskItem.dueDate || "No Due Date", - dateCompleted: taskItem.dateCompleted, - isLocked: taskItem.isLocked.toString() - })); + .map((taskItem) => { + const baseItem = mapTaskItem(taskItem); + return{ + ...baseItem, + dateCompleted: taskItem.dateCompleted, + }; + }); } const commonColumns= [ From 1221015d7547d7f91f36c0a9d1d2e5f9015f2b61 Mon Sep 17 00:00:00 2001 From: Ivona Nicetin Date: Fri, 28 Mar 2025 18:13:10 -0700 Subject: [PATCH 2/4] call the functions only once in team tasks --- frontend/react-app/src/pages/TeamTasks.jsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/frontend/react-app/src/pages/TeamTasks.jsx b/frontend/react-app/src/pages/TeamTasks.jsx index 0ba0e9b..736163f 100644 --- a/frontend/react-app/src/pages/TeamTasks.jsx +++ b/frontend/react-app/src/pages/TeamTasks.jsx @@ -162,16 +162,19 @@ if(loadingNames || loadingTasks){ { id: 5, name: "Joe Smith" }, ]; - + const tasksToDoData = setUpData(tasksToDo); + const tasksCompletedData = setUpDataCompleted(tasksToDo); return ( + +

Team 1 Tasks

- {setUpData(tasksToDo).length > 0 ? ( + {tasksToDoData.length > 0 ? ( ) : ( @@ -181,9 +184,9 @@ if(loadingNames || loadingTasks){

Completed Tasks

- {setUpDataCompleted(tasksToDo).length > 0 ? ( + {tasksCompletedData.length > 0 ? ( ) : ( From 688849e4d1d60b422e09734fc192d17e463077b2 Mon Sep 17 00:00:00 2001 From: Ivona Nicetin Date: Fri, 28 Mar 2025 18:15:53 -0700 Subject: [PATCH 3/4] setUpData method refactored in Mytasks page --- frontend/react-app/src/pages/MyTasks.jsx | 53 +++++++++++++----------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/frontend/react-app/src/pages/MyTasks.jsx b/frontend/react-app/src/pages/MyTasks.jsx index 68d42b7..a576b47 100644 --- a/frontend/react-app/src/pages/MyTasks.jsx +++ b/frontend/react-app/src/pages/MyTasks.jsx @@ -12,35 +12,40 @@ import { useState, useEffect } from 'react'; function getAssigneesNames(taskItem) { return taskItem.assignedMembers.map((member) => member.userName).join(", "); } +function mapTaskItem(taskItem) { + return { + name: taskItem, + id: taskItem.taskId, + team: taskItem.teamId, + assignees: getAssigneesNames(taskItem), + dueDate: taskItem.dueDate || "No Due Date", + }; + } -function setUpData(results) { + function setUpData(results) { return results .filter((taskItem) => taskItem.status !== "Done") - .map((taskItem) => ({ - id: taskItem.taskId, - name: taskItem, - team: taskItem.teamId, - assignees: getAssigneesNames(taskItem), - status: taskItem.status, - priority: taskItem.priority, - dueDate: taskItem.dueDate || "No Due Date", - isLocked: taskItem.isLocked.toString() - })); -} - -function setUpDataCompleted(results) { + .map((taskItem) => { + const baseItem = mapTaskItem(taskItem); + return{ + ...baseItem, + status: taskItem.status, + priority: taskItem.priority, + isLocked: taskItem.isLocked.toString() + }; + + }); + } + function setUpDataCompleted(results) { return results .filter((taskItem) => taskItem.status === "Done") - .map((taskItem) => ({ - id: taskItem.taskId, - name: taskItem, - assignees: getAssigneesNames(taskItem), - priority: taskItem.priority, - status: taskItem.status, - dueDate: taskItem.dueDate || "No Due Date", - dateCompleted: taskItem.dateCompleted, - isLocked: taskItem.isLocked.toString() - })); + .map((taskItem) => { + const baseItem = mapTaskItem(taskItem); + return{ + ...baseItem, + dateCompleted: taskItem.dateCompleted, + }; + }); } function MyTasks(){ From 63f9b014d7d39f1ecd5f8075fd786d4c8b8f9ea5 Mon Sep 17 00:00:00 2001 From: Ivona Nicetin Date: Fri, 28 Mar 2025 18:18:33 -0700 Subject: [PATCH 4/4] call methods only once --- frontend/react-app/src/pages/MyTasks.jsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/frontend/react-app/src/pages/MyTasks.jsx b/frontend/react-app/src/pages/MyTasks.jsx index a576b47..b928d72 100644 --- a/frontend/react-app/src/pages/MyTasks.jsx +++ b/frontend/react-app/src/pages/MyTasks.jsx @@ -132,6 +132,8 @@ const headerAndAccessorsComplete = [ if(loading){ return (
Loading...
) } +const tasksToDoData = setUpData(tasksToDo); +const tasksCompletedData = setUpDataCompleted(tasksToDo); return (
@@ -141,9 +143,9 @@ return (

My Tasks

- {setUpData(tasksToDo).length > 0 ? ( + {tasksToDoData.length > 0 ? ( ) : ( @@ -155,9 +157,9 @@ return (

My Completed Tasks

- {setUpDataCompleted(tasksToDo).length > 0 ? ( + {tasksCompletedData.length > 0 ? ( ) : (