From e85bc6714a97bf7719e1bfcad7b7446e7153c228 Mon Sep 17 00:00:00 2001 From: LAKHAN BAHETI Date: Wed, 8 Nov 2023 16:09:26 +0530 Subject: [PATCH 1/2] fix: Tooltip content on assignee hover in all layouts --- .../issue-layouts/properties/assignee.tsx | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/web/components/issues/issue-layouts/properties/assignee.tsx b/web/components/issues/issue-layouts/properties/assignee.tsx index b436e274f9b..967d52cbee9 100644 --- a/web/components/issues/issue-layouts/properties/assignee.tsx +++ b/web/components/issues/issue-layouts/properties/assignee.tsx @@ -73,19 +73,28 @@ export const IssuePropertyAssignee: React.FC = observer( const filteredOptions = query === "" ? options : options?.filter((option) => option.query.toLowerCase().includes(query.toLowerCase())); + const getTooltipContent = (): string => { + if (!value || value.length === 0) return "No Assignee"; + + if (Array.isArray(value)) { + const assignees = projectMembers?.filter((m) => value.includes(m.member.id)); + + if (!assignees || assignees.length === 0) return "No Assignee"; + + if (assignees.length === 1) { + return "1 assignee"; + } else return `${assignees.length} assignees`; + } + + const assignee = projectMembers?.find((m) => m.member.id === value)?.member; + + if (!assignee) return "No Assignee"; + + return "1 assignee"; + }; + const label = ( - 0 - ? (projectMembers ? projectMembers : []) - ?.filter((m) => value.includes(m.member.display_name)) - .map((m) => m.member.display_name) - .join(", ") - : "No Assignee" - } - position="top" - > +
{value && value.length > 0 && Array.isArray(value) ? ( From d7fb0ae2c37b6d74250c4b48ad421b00eff1dc87 Mon Sep 17 00:00:00 2001 From: LAKHAN BAHETI Date: Wed, 8 Nov 2023 20:44:23 +0530 Subject: [PATCH 2/2] chore: comments added --- .../issues/issue-layouts/properties/assignee.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/web/components/issues/issue-layouts/properties/assignee.tsx b/web/components/issues/issue-layouts/properties/assignee.tsx index 2fc935259c5..6b95b7e1df8 100644 --- a/web/components/issues/issue-layouts/properties/assignee.tsx +++ b/web/components/issues/issue-layouts/properties/assignee.tsx @@ -82,20 +82,24 @@ export const IssuePropertyAssignee: React.FC = observer( const getTooltipContent = (): string => { if (!value || value.length === 0) return "No Assignee"; + // if multiple assignees if (Array.isArray(value)) { - const assignees = projectMembers?.filter((m) => value.includes(m.member.id)); + const assignees = workspaceMembers?.filter((m) => value.includes(m.member.id)); if (!assignees || assignees.length === 0) return "No Assignee"; + // if only one assignee in list if (assignees.length === 1) { return "1 assignee"; } else return `${assignees.length} assignees`; } - const assignee = projectMembers?.find((m) => m.member.id === value)?.member; + // if single assignee + const assignee = workspaceMembers?.find((m) => m.member.id === value)?.member; if (!assignee) return "No Assignee"; + // if assignee not null & not list return "1 assignee"; };