diff --git a/plane-src/apps/web/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx b/plane-src/apps/web/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx index 274051c..73e4651 100644 --- a/plane-src/apps/web/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx +++ b/plane-src/apps/web/core/components/issues/issue-layouts/kanban/base-kanban-root.tsx @@ -4,7 +4,7 @@ * See the LICENSE file for details. */ -import type { FC } from "react"; +import type { FC, PointerEvent } from "react"; import { useCallback, useEffect, useRef, useState } from "react"; import { combine } from "@atlaskit/pragmatic-drag-and-drop/combine"; import { dropTargetForElements } from "@atlaskit/pragmatic-drag-and-drop/element/adapter"; @@ -150,6 +150,20 @@ export const BaseKanBanRoot = observer(function BaseKanBanRoot(props: IBaseKanBa setSelectedIssueId(undefined); }, []); + const handleKanbanPointerDown = useCallback( + (event: PointerEvent) => { + if (!selectedIssueId) return; + + const target = event.target; + + if (!(target instanceof Element)) return; + if (target.closest("[data-nodedc-kanban-issue-card='true']")) return; + + handleClearSelectedIssue(); + }, + [handleClearSelectedIssue, selectedIssueId] + ); + const canEditProperties = useCallback( (projectId: string | undefined) => { const isEditingAllowedBasedOnProject = @@ -302,6 +316,7 @@ export const BaseKanBanRoot = observer(function BaseKanBanRoot(props: IBaseKanBa
diff --git a/plane-src/apps/web/core/components/issues/issue-layouts/kanban/block.tsx b/plane-src/apps/web/core/components/issues/issue-layouts/kanban/block.tsx index f4a8c9f..a731e3e 100644 --- a/plane-src/apps/web/core/components/issues/issue-layouts/kanban/block.tsx +++ b/plane-src/apps/web/core/components/issues/issue-layouts/kanban/block.tsx @@ -330,6 +330,7 @@ export const KanbanIssueBlock = observer(function KanbanIssueBlock(props: IssueB { "z-[100]": isCurrentBlockDragging && cardVariant === "internal-contour" } )} data-card-variant={cardVariant} + data-nodedc-kanban-issue-card="true" onClick={handleIssueBlockClick} disabled={!!issue?.tempId} >