diff --git a/src/app/ui/tables/contextMenu.tsx b/src/app/ui/tables/contextMenu.tsx index 2c2d598..95c9477 100644 --- a/src/app/ui/tables/contextMenu.tsx +++ b/src/app/ui/tables/contextMenu.tsx @@ -6,17 +6,23 @@ import { Trash2 } from "lucide-react" import Link from "next/link" import { ContextMenuSeparator } from "@radix-ui/react-context-menu" -export default function FormContextMenu({ pathname, row }) { +export default function FormContextMenu({ pathname, row, selectedRows, deselect }) { + return ( - + - {pathname !== "/submission" ? + {pathname !== "/submission" && selectedRows.length <= 1 ? Inspect : "" } + { + selectedRows ? + Deselect + : "" + } Delete diff --git a/src/app/ui/tables/data-table.tsx b/src/app/ui/tables/data-table.tsx index 72bda68..b9df8de 100644 --- a/src/app/ui/tables/data-table.tsx +++ b/src/app/ui/tables/data-table.tsx @@ -15,7 +15,7 @@ import { DropdownMenuRadioGroup } from "@/components/ui/dropdown-menu" import { Input } from "@/components/ui/input" -import { Component, ComponentProps, useState } from "react" +import { Component, ComponentProps, use, useState } from "react" import { ColumnDef, flexRender, @@ -82,8 +82,12 @@ export function DataTable({ columnVisibility, } }) + + + const pathname: Pathname = usePathname() const [filterBy, setFilterBy] = useState(table.getAllColumns()[0]) + const [isContextMenuOpen, setIsContextMenuOpen] = useState(false) return (<>
@@ -204,20 +208,26 @@ export function DataTable({ {table.getRowModel().rows?.length ? ( table.getRowModel().rows.map((row) => ( - + setIsContextMenuOpen(open)}> row.toggleSelected()} + //check if context menu is open, so as not to select the row on clicking a menu item + onClick={() => { if (!isContextMenuOpen) { row.toggleSelected() } }} > {row.getVisibleCells().map((cell) => ( {flexRender(cell.column.columnDef.cell, cell.getContext())} ))} - +