From 0a1d7ccf9fb8e7a3971671c99e303a06d969bdf7 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Fri, 3 Oct 2025 12:17:44 +0530 Subject: [PATCH] fix: custom menu close on select functionality --- .../web/core/components/cycles/quick-actions.tsx | 4 +--- .../issues/attachment/attachment-list-item.tsx | 4 +--- .../relations/quick-action-button.tsx | 4 +--- .../sub-issues/issues-list/list-item.tsx | 16 ++++------------ .../sub-issues/quick-action-button.tsx | 4 +--- .../issues/issue-detail/links/link-item.tsx | 8 ++------ .../quick-action-dropdowns/all-issue.tsx | 8 ++------ .../quick-action-dropdowns/archived-issue.tsx | 4 +--- .../quick-action-dropdowns/cycle-issue.tsx | 8 ++------ .../quick-action-dropdowns/issue-detail.tsx | 8 ++------ .../quick-action-dropdowns/module-issue.tsx | 8 ++------ .../quick-action-dropdowns/project-issue.tsx | 8 ++------ .../issues/workspace-draft/quick-action.tsx | 4 +--- .../core/components/modules/quick-actions.tsx | 4 +--- .../core/components/pages/dropdowns/actions.tsx | 4 +--- apps/web/core/components/views/quick-actions.tsx | 4 +--- .../workspace/settings/invitations-list-item.tsx | 4 +--- .../views/default-view-quick-action.tsx | 4 +--- .../components/workspace/views/quick-action.tsx | 4 +--- .../workspace/views/view-list-item.tsx | 8 ++------ 20 files changed, 30 insertions(+), 90 deletions(-) diff --git a/apps/web/core/components/cycles/quick-actions.tsx b/apps/web/core/components/cycles/quick-actions.tsx index 778e781154e..6f3234e0288 100644 --- a/apps/web/core/components/cycles/quick-actions.tsx +++ b/apps/web/core/components/cycles/quick-actions.tsx @@ -223,9 +223,7 @@ export const CycleQuickActions: React.FC = observer((props) => { return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: CYCLE_TRACKER_ELEMENTS.QUICK_ACTIONS, }); diff --git a/apps/web/core/components/issues/attachment/attachment-list-item.tsx b/apps/web/core/components/issues/attachment/attachment-list-item.tsx index fc071750a63..d5c24c25f8c 100644 --- a/apps/web/core/components/issues/attachment/attachment-list-item.tsx +++ b/apps/web/core/components/issues/attachment/attachment-list-item.tsx @@ -83,9 +83,7 @@ export const IssueAttachmentsListItem: FC = observer( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { toggleDeleteAttachmentModal(attachmentId); }} > diff --git a/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx index 18a3d1cdcc0..0390d6eaa9d 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/relations/quick-action-button.tsx @@ -50,9 +50,7 @@ export const RelationActionButton: FC = observer((props) => { return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { handleOnClick(item.key as TIssueRelationTypes); }} > diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-item.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-item.tsx index e9d93abac50..6ffda87dbb7 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-item.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/list-item.tsx @@ -185,9 +185,7 @@ export const SubIssuesListItem: React.FC = observer((props) => { {canEdit && ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { handleIssueCrudState("update", parentIssueId, { ...issue }); toggleCreateIssueModal(true); }} @@ -200,9 +198,7 @@ export const SubIssuesListItem: React.FC = observer((props) => { )} { - e.stopPropagation(); - e.preventDefault(); + onClick={() => { subIssueOperations.copyLink(workItemLink); }} > @@ -214,9 +210,7 @@ export const SubIssuesListItem: React.FC = observer((props) => { {canEdit && ( { - e.stopPropagation(); - e.preventDefault(); + onClick={() => { if (issue.project_id) subIssueOperations.removeSubIssue(workspaceSlug, issue.project_id, parentIssueId, issue.id); }} @@ -232,9 +226,7 @@ export const SubIssuesListItem: React.FC = observer((props) => { {canEdit && ( { - e.stopPropagation(); - e.preventDefault(); + onClick={() => { handleIssueCrudState("delete", parentIssueId, issue); toggleDeleteIssueModal(issue.id); }} diff --git a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx index 4547524453b..4bc1d8c5b3c 100644 --- a/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx +++ b/apps/web/core/components/issues/issue-detail-widgets/sub-issues/quick-action-button.tsx @@ -86,9 +86,7 @@ export const SubIssuesActionButton: FC = observer((props) => { {optionItems.map((item, index) => ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { item.onClick(); }} > diff --git a/apps/web/core/components/issues/issue-detail/links/link-item.tsx b/apps/web/core/components/issues/issue-detail/links/link-item.tsx index 977333baabc..d9e8d43f385 100644 --- a/apps/web/core/components/issues/issue-detail/links/link-item.tsx +++ b/apps/web/core/components/issues/issue-detail/links/link-item.tsx @@ -95,9 +95,7 @@ export const IssueLinkItem: FC = observer((props) => { > { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { toggleIssueLinkModal(true); }} > @@ -106,9 +104,7 @@ export const IssueLinkItem: FC = observer((props) => { { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { linkOperations.remove(linkDetail.id); }} > diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx index ce522e14f96..770a69d2db7 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/all-issue.tsx @@ -175,9 +175,7 @@ export const AllIssueQuickActions: React.FC = observer((props {item.nestedMenuItems.map((nestedItem) => ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.GLOBAL_VIEW }); nestedItem.action(); }} @@ -213,9 +211,7 @@ export const AllIssueQuickActions: React.FC = observer((props return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.GLOBAL_VIEW }); item.action(); }} diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/archived-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/archived-issue.tsx index c8fb3197998..15169358d27 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/archived-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/archived-issue.tsx @@ -94,9 +94,7 @@ export const ArchivedIssueQuickActions: React.FC = observer(( return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { item.action(); captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.ARCHIVED }); }} diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx index 6c0399e0114..54536f343f1 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/cycle-issue.tsx @@ -192,9 +192,7 @@ export const CycleIssueQuickActions: React.FC = observer((pro {item.nestedMenuItems.map((nestedItem) => ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.CYCLE }); nestedItem.action(); }} @@ -230,9 +228,7 @@ export const CycleIssueQuickActions: React.FC = observer((pro return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.CYCLE }); item.action(); }} diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx index 29abea656a6..084db5a22c5 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/issue-detail.tsx @@ -276,9 +276,7 @@ export const WorkItemDetailQuickActions: React.FC ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.PROJECT_VIEW }); nestedItem.action(); }} @@ -314,9 +312,7 @@ export const WorkItemDetailQuickActions: React.FC { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.PROJECT_VIEW }); item.action(); }} diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx index e147d448ac6..1bc8ccbab36 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/module-issue.tsx @@ -191,9 +191,7 @@ export const ModuleIssueQuickActions: React.FC = observer((pr {item.nestedMenuItems.map((nestedItem) => ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.MODULE }); nestedItem.action(); }} @@ -229,9 +227,7 @@ export const ModuleIssueQuickActions: React.FC = observer((pr return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.MODULE }); item.action(); }} diff --git a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx index 83c58c88123..5b70c05cc77 100644 --- a/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx +++ b/apps/web/core/components/issues/issue-layouts/quick-action-dropdowns/project-issue.tsx @@ -192,9 +192,7 @@ export const ProjectIssueQuickActions: React.FC = observer((p {item.nestedMenuItems.map((nestedItem) => ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.PROJECT_VIEW }); nestedItem.action(); }} @@ -230,9 +228,7 @@ export const ProjectIssueQuickActions: React.FC = observer((p return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.QUICK_ACTIONS.PROJECT_VIEW }); item.action(); }} diff --git a/apps/web/core/components/issues/workspace-draft/quick-action.tsx b/apps/web/core/components/issues/workspace-draft/quick-action.tsx index 2a52d83d6db..41fc1e5e286 100644 --- a/apps/web/core/components/issues/workspace-draft/quick-action.tsx +++ b/apps/web/core/components/issues/workspace-draft/quick-action.tsx @@ -31,9 +31,7 @@ export const WorkspaceDraftIssueQuickActions: React.FC = observer((props) {MENU_ITEMS.map((item) => ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { item.action(); }} className={cn( diff --git a/apps/web/core/components/modules/quick-actions.tsx b/apps/web/core/components/modules/quick-actions.tsx index 2b79316ed1f..d36f2e3c1bc 100644 --- a/apps/web/core/components/modules/quick-actions.tsx +++ b/apps/web/core/components/modules/quick-actions.tsx @@ -197,9 +197,7 @@ export const ModuleQuickActions: React.FC = observer((props) => { return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: MODULE_TRACKER_ELEMENTS.QUICK_ACTIONS, }); diff --git a/apps/web/core/components/pages/dropdowns/actions.tsx b/apps/web/core/components/pages/dropdowns/actions.tsx index 5ad00a6c900..67642c57c37 100644 --- a/apps/web/core/components/pages/dropdowns/actions.tsx +++ b/apps/web/core/components/pages/dropdowns/actions.tsx @@ -217,9 +217,7 @@ export const PageActions: React.FC = observer((props) => { return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { item.action?.(); }} className={cn("flex items-center gap-2", item.className)} diff --git a/apps/web/core/components/views/quick-actions.tsx b/apps/web/core/components/views/quick-actions.tsx index 9c5fbefcba1..b62154cd296 100644 --- a/apps/web/core/components/views/quick-actions.tsx +++ b/apps/web/core/components/views/quick-actions.tsx @@ -95,9 +95,7 @@ export const ViewQuickActions: React.FC = observer((props) => { return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: PROJECT_VIEW_TRACKER_ELEMENTS.QUICK_ACTIONS }); item.action(); }} diff --git a/apps/web/core/components/workspace/settings/invitations-list-item.tsx b/apps/web/core/components/workspace/settings/invitations-list-item.tsx index da3f2f0b52a..f67ec2eb271 100644 --- a/apps/web/core/components/workspace/settings/invitations-list-item.tsx +++ b/apps/web/core/components/workspace/settings/invitations-list-item.tsx @@ -185,9 +185,7 @@ export const WorkspaceInvitationsListItem: FC = observer((props) => { return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { item.action(); }} className={cn( diff --git a/apps/web/core/components/workspace/views/default-view-quick-action.tsx b/apps/web/core/components/workspace/views/default-view-quick-action.tsx index 869c2d09656..8cbd4c528fa 100644 --- a/apps/web/core/components/workspace/views/default-view-quick-action.tsx +++ b/apps/web/core/components/workspace/views/default-view-quick-action.tsx @@ -61,9 +61,7 @@ export const DefaultWorkspaceViewQuickActions: React.FC = observer((props return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { item.action(); }} className={cn( diff --git a/apps/web/core/components/workspace/views/quick-action.tsx b/apps/web/core/components/workspace/views/quick-action.tsx index e7677cecbcb..28a80983fc8 100644 --- a/apps/web/core/components/workspace/views/quick-action.tsx +++ b/apps/web/core/components/workspace/views/quick-action.tsx @@ -71,9 +71,7 @@ export const WorkspaceViewQuickActions: React.FC = observer((props) => { return ( { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: GLOBAL_VIEW_TRACKER_ELEMENTS.QUICK_ACTIONS, }); diff --git a/apps/web/core/components/workspace/views/view-list-item.tsx b/apps/web/core/components/workspace/views/view-list-item.tsx index d1d794a8460..1f1d11c6cc9 100644 --- a/apps/web/core/components/workspace/views/view-list-item.tsx +++ b/apps/web/core/components/workspace/views/view-list-item.tsx @@ -51,9 +51,7 @@ export const GlobalViewListItem: React.FC = observer((props) => {
{ - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: GLOBAL_VIEW_TRACKER_ELEMENTS.LIST_ITEM, }); @@ -66,9 +64,7 @@ export const GlobalViewListItem: React.FC = observer((props) => { { - e.preventDefault(); - e.stopPropagation(); + onClick={() => { captureClick({ elementName: GLOBAL_VIEW_TRACKER_ELEMENTS.LIST_ITEM, });