From 7e97a7bb275541242ae36eaddbe2aeb75c369ba4 Mon Sep 17 00:00:00 2001 From: Jacopo Gasparetto <jacopo.gasparetto@cnaf.infn.it> Date: Fri, 7 Apr 2023 12:01:01 +0200 Subject: [PATCH] Add onClick callback prop --- frontend/src/components/Table.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/Table.tsx b/frontend/src/components/Table.tsx index 5d7cdde..41b3db9 100644 --- a/frontend/src/components/Table.tsx +++ b/frontend/src/components/Table.tsx @@ -3,10 +3,11 @@ import './Table.css' type TableParams = { className: string columns: string[], - data: any[][] + data: any[][], + onClick?: (element: React.MouseEvent<HTMLTableRowElement>, index: number) => void } -export const Table = ({ className, columns, data }: TableParams) => { +export const Table = ({ className, columns, data, onClick }: TableParams) => { const Header = () => { return ( <thead className="h-16"> @@ -26,9 +27,12 @@ export const Table = ({ className, columns, data }: TableParams) => { <tbody> { data.map((row, index) => { - return <tr className="hover:bg-slate-200" key={index}> + return <tr + className="hover:bg-slate-200 hover:cursor-pointer" + onClick={(el) => onClick?.(el, index)} + key={index}> {row.map((el, index) => { - return <td className="p-4 text-center border-neutral-200" key={index}>{el}</td> + return <td className="p-2 text-center border-neutral-200" key={index}>{el}</td> })} </tr>; }) @@ -36,7 +40,7 @@ export const Table = ({ className, columns, data }: TableParams) => { </tbody> ) } - // className += " border-separate border-spacing-0" + return ( <table className={className}> <Header /> -- GitLab